how to convert string to PwideChar in Android Platform using Delphi ? in windows apps its done using..
var
PW: PWideChar;
begin
PW := pwidechar(widestring(String));
PW := pwidechar(widestring(Reply));
A := ExistWordInString(PW,String,[soWholeWord,soDown]); //A : Boolean
....
end;
the problems is Undeclared identifier: 'WideString'
, how to work around this ?
Delphi 10 Berlin , Firemonkey, Android
UPDATE
well, according to http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Migrating_Delphi_Code_to_Mobile_from_Desktop ,, we cant use widestring, i cant think of another way to use string this function :
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;
Your code is not strictly correct in Windows. Yes you can convert string
(an alias for UnicodeString
) to the COM WideString
, but this is a waste of time and resources. The correct code is:
var
P: PWideChar;
S: string;
....
P := PWideChar(S);
In fact, since you are using a Unicode version of Delphi, it is probably idiomatic to use PChar
(an alias for PWideChar
), to fit alongside string
.
So I would write:
var
P: PChar;
S: string;
....
P := PChar(S);
Now, this code, as well as being the correct way to do this on Windows, works equally on all platforms.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With