mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-14 19:09:16 +02:00
no message
This commit is contained in:
parent
e346ebacb6
commit
8f41503f9f
69
tests/test/tests.pp
Normal file
69
tests/test/tests.pp
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
{ %version=1.1}
|
||||||
|
{$mode objfpc}
|
||||||
|
Program tests;
|
||||||
|
|
||||||
|
Var
|
||||||
|
P : PWideChar;
|
||||||
|
S : AnsiString;
|
||||||
|
W,WP : WideString;
|
||||||
|
PO : Pointer;
|
||||||
|
|
||||||
|
Const
|
||||||
|
Buffer : Array[0..10] of Widechar
|
||||||
|
= ('A','n','s','i','S','t','r','i','n','g',#0);
|
||||||
|
{
|
||||||
|
procedure OleStrToStrVar(Source: PWideChar; var Dest: string);
|
||||||
|
begin
|
||||||
|
WideCharLenToStrVar(Source, Length(WideString(Pointer(Source))), Dest);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
Function OleStrToString(Source : PWideChar) : String;
|
||||||
|
|
||||||
|
begin
|
||||||
|
OleStrToStrVar(Source, Result);
|
||||||
|
end;
|
||||||
|
}
|
||||||
|
|
||||||
|
Function PWideCharLen(P: PWideChar) : Integer;
|
||||||
|
|
||||||
|
Var
|
||||||
|
W : PWord;
|
||||||
|
|
||||||
|
begin
|
||||||
|
Result:=0;
|
||||||
|
If P=Nil then
|
||||||
|
Exit;
|
||||||
|
W:=PWord(P);
|
||||||
|
While W[Result]<>0 do
|
||||||
|
Inc(Result);
|
||||||
|
end;
|
||||||
|
|
||||||
|
Function PWideCharToWideString(P : PWideChar) : WideString;
|
||||||
|
|
||||||
|
Var
|
||||||
|
L : integer;
|
||||||
|
|
||||||
|
begin
|
||||||
|
L:=PWideCharLen(P);
|
||||||
|
SetLength(Result,L);
|
||||||
|
If P<>Nil then
|
||||||
|
Move(P^,Result[1],L*SizeOf(WideChar));
|
||||||
|
end;
|
||||||
|
|
||||||
|
begin
|
||||||
|
S:='AnsiString';
|
||||||
|
W:=S;
|
||||||
|
Writeln(W);
|
||||||
|
P:=PWideChar(W);
|
||||||
|
Writeln('len : ',Length(WideString(Pointer(P))));
|
||||||
|
// P:=PWideChar(@Buffer[0]);
|
||||||
|
P:=Buffer;
|
||||||
|
Writeln('Len array : ',PWideCharLen(P));
|
||||||
|
WP:=PWideCharToWideString(P);
|
||||||
|
Writeln('WP Len : ',Length(WP),' : ',WP);
|
||||||
|
PO:=Nil;
|
||||||
|
WP:=WideString(PO);
|
||||||
|
// Writeln('len buffer: ',Length(P)); //WideString(Pointer(P))));
|
||||||
|
// Writeln(P);
|
||||||
|
end.
|
Loading…
Reference in New Issue
Block a user