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.
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-07-22