Retired Document
Important: This sample code may not represent best practices for current development. The project may use deprecated symbols and illustrate technologies and techniques that are no longer recommended.
Relevant replacement documents include:
MoreTextUtils/MoreTextUtils.h
/* |
File: MoreTextUtils.h |
Contains: |
Written by: Pete Gontier |
Copyright: Copyright (c) 1998 Apple Computer, Inc., All Rights Reserved. |
You may incorporate this Apple sample source code into your program(s) without |
restriction. This Apple sample source code has been provided "AS IS" and the |
responsibility for its operation is yours. You are not permitted to redistribute |
this Apple sample source code as "Apple sample source code" after having made |
changes. If you're going to re-distribute the source, we require that you make |
it clear in the source that the code was descended from Apple sample source |
code, but that you've made changes. |
Change History (most recent first): |
<4> 20/3/00 Quinn Added MoreReplaceText and its support routines. Added |
MoreStrLen. Tidied up a little. |
<3> 21/4/99 Quinn Added ValidStringListHandle. |
<2> 11/11/98 PCG fix headers |
<1> 11/10/98 PCG first big re-org at behest of Quinn |
Old Change History (most recent first): |
<5> 10/11/98 Quinn Convert "MorePrefix.h" to "MoreSetup.h". |
<4> 10/23/98 PCG add GetPascalStringFromLongDouble |
<3> 9/9/98 PCG re-work import and export pragmas |
<2> 7/24/98 PCG coddle linker (C++, CFM-68K) |
<1> 6/16/98 PCG initial checkin |
*/ |
#pragma once |
///////////////////////////////////////////////////////////////// |
// MoreIsBetter Setup |
#include "MoreSetup.h" |
// Mac OS Interfaces |
#include <TextUtils.h> |
#include <fp.h> |
///////////////////////////////////////////////////////////////// |
typedef struct |
{ |
UInt16 count; |
ConstStr255Param list [ ]; |
// followed by packed strings from 'STR#' resource |
} |
*tStringListP, **tStringListH; |
#ifdef __cplusplus |
extern "C" { |
#endif |
#pragma import on // for clients |
#pragma export on // for building a library |
pascal OSErr GetPascalStringFromLongDouble (long double, SInt8 precision, StringPtr); |
pascal OSErr GetNewStringList (short resID, tStringListP *newStringList); |
pascal OSErr NewStringListHandle (Handle *); // can use DisposeHandle to dispose |
pascal OSErr AppendStringToListHandle (ConstStr255Param, Handle); |
pascal Boolean ValidStringListHandle(Handle stringList); |
// Return true if stringList is a valid string list (STR#). |
// This is useful when you get a string list out of a resource |
// (such as a preferences file) and you want to make sure that |
// you can safely operate on it with the other string list routines |
// in this file. |
pascal OSErr NewStringPtr (ConstStr255Param, UInt8 maxSize, StringPtr *result); |
extern pascal OSStatus InitMoreTextUtils(void); |
// Initialises this module. Calling this routine is not strictly speaking |
// necessary because each entry point will perform whatever initialisation |
// it requires, but it can be useful to detect any initialisation errors. |
extern pascal void TermMoreTextUtils(void); |
// Terminates this module. This is not necessary for application clients, |
// but very important for non-application (code resources, shared libraries, |
// etc) clients. |
extern pascal void MoreReplaceText(Str255 baseText, ConstStr255Param substitutionText, ConstStr15Param key); |
// Works like the Mac OS system call ReplaceText, except that: |
// |
// o You donÕt have to set up thePort before calling this routine. The |
// routine will automatically switch to a port configured to use |
// the system font. Thus the baseText is assumed to be in the system |
// script. |
// |
// o For convenience, the parameters are strings rather than handles. |
extern pascal ByteCount MoreStrLen(const char *str); |
// strlen for those whose donÕt do StdCLib. |
#pragma import reset // for clients |
#pragma export reset // for building a library |
#ifdef __cplusplus |
} |
#endif |
Copyright © 2003 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2003-01-14