gpt4 book ai didi

android - 如何使用 Delphi 在 Android 平台上将 String 转换为 PWideChar

转载 作者:太空狗 更新时间:2023-10-29 16:27:33 26 4
gpt4 key购买 nike

如何使用 Delphi 在 Android 平台上将字符串转换为 PwideChar?在 Windows 应用程序中,它已完成使用..

var    
PW: PWideChar;
begin
PW := pwidechar(widestring(String));
PW := pwidechar(widestring(Reply));
A := ExistWordInString(PW,String,[soWholeWord,soDown]); //A : Boolean

....
end;

问题是 Undeclared identifier: 'WideString' ,如何解决这个问题?

柏林 Delphi 10,Firemonkey,Android

更新

嗯,根据http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Migrating_Delphi_Code_to_Mobile_from_Desktop ,, 我们不能使用宽字符串,我想不出另一种方法来使用字符串这个函数:

function ExistWordInString(aString:PWideChar;aSearchString:string;aSearchOptions: TStringSearchOptions): Boolean;
var
Size : Integer;
Begin
Size:=StrLen(aString);
Result := SearchBuf(aString, Size, 0, 0, aSearchString, aSearchOptions)<>nil;

最佳答案

您的代码在 Windows 中并不严格正确。是的,您可以将 string(UnicodeString 的别名)转换为 COM WideString,但这是浪费时间和资源。正确的代码是:

var    
P: PWideChar;
S: string;
....
P := PWideChar(S);

事实上,由于您使用的是 Unicode 版本的 Delphi,因此使用 PChar(PWideChar 的别名)可能是惯用的,以适应 字符串.

所以我会写:

var    
P: PChar;
S: string;
....
P := PChar(S);

现在,这段代码以及在 Windows 上执行此操作的正确方法在所有平台上同样有效。

关于android - 如何使用 Delphi 在 Android 平台上将 String 转换为 PWideChar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46450541/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com