Tips

CとPascalのStrings

日付2002/01/24
ID01-825
バージョンWindows and Mac OS
プラットフォームIf this command is called, it

プラグインのためのコードを開発する場合、調節するかもしれません、異なるタイプのstringsの間で切り替わる必要があるかもしれません。例えば、働くライブラリー機能のために、Pascalあるいは恐らくANSIストリングを順番に渡すことを必要とするライブラリーで作業していれば、APIコマンドから異なる文字セットまで来るstringsを変換する必要があるかもしれません。APIは、このタスクを援助するいくつかのコマンドを提供します。stringsを修正しなければならない代わりに、転換を行うために少数のAPIルーチンを使用することができます。

内部に、4DはPascal付帯条件およびMacintosh文字で働きます。APIは、APIへのすべての呼び出しの中であなたと交換する文字を世話します。APIがPascal stringを受け取る場合、それはエントリーポイントを呼ぶ前に変換しません。APIがCストリングを受け取る場合、それを変換します。これはプラグインの開発者にとって透明です。

PA_UseAnsiCharacters:このコマンドが呼ばれる場合、それはAPI呼び出しからANSI文字テーブルまで受け取られたか送られたテキストをすべて変換するでしょう。デフォルトANSIによって、Windowsのためにコンパイルする場合、文字は使用されます。

PA_UseCStrings:このコマンドは、空を終了したCストリングを使用するというAPI要求から受け取られたか送られたテキストをすべて変換するでしょう。

PA_UseMacCharacters:このコマンドは、API呼び出しからMacintosh文字セットまで受け取られたか送られたテキストをすべて変換するでしょう。

PA_UsePStrings:このコマンドは、API呼び出しからパスカル・ストリングまで受け取られたか送られたテキストをすべて変換するでしょう。

ほとんどの場合、これらのコマンドを呼ぶ必要がないでしょう。しかし、受け取っているストリングがAPI呼び出しが予期しているストリングのタイプでない時が来る場合、ストリングのタイプを変換する機能のうちの1つを呼ぶ必要があるかもしれません。

例は、開発者に利用可能なすべてのコマンドの中でPascal stringsを使用する、第三者図書館か製品であなたが作業しているかどうかかもしれません。一方のAPIで使用される、Cとパスカルの間のストリングをすべて絶えず変換しなければならない代わりに、単にPA_UsePStringsを呼んでください。これは4D APIによって使用されるストリングにすべてPascal stringsにさせるでしょう。今4Dと第三者製品の間で前後にStringを渡すことができます、そしてない、strings転換について心配しなければならないこと

あなたが1つのstringsをあるタイプから別のタイプに変換する必要があるところで、実例がある場合、APIコマンドPA_ConvertStringsを使用してもよい。このコマンドは、1つのタイプのstringsをとり、変換されたストリングを返すでしょう。あなたが少数のstringを単に修正する必要があれば、これは有用になることができます。しかし、大多数は1つのタイプにとどまるでしょう。

PA_ConvertStrings(StringOne, StringKindOne, CharacterSetOne, StringTwo, StringKindTwo, CharacterSetTwo);

StringOneは変換されて、望むstringsです。StringKindOneはCストリングあるいはパスカル・ストリングのいずれかです。CharacterSetOneはMacintosh、ANSIあるいはUnicodeです。StringTwoは転換からの生じるstringです。生じるストリングは、どのタイプおよび文字セットを使用しなければならないかAPIコマンドに伝えるためにStringKindTwoとCharacterSetTwoを使用します。

そのように、1つのstring typeを使用するようにAPIに命じることができます、あるいは、ストリングを個別に変換することができます。