mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-04 06:54:05 +02:00
+ some WideString<->AnsiString conversion functions added
This commit is contained in:
parent
44e4a4c936
commit
0e22fc491b
@ -47,7 +47,7 @@ Type
|
||||
Longint = +(-2147483647-1)..$7fffffff;
|
||||
Byte = 0..255;
|
||||
Word = 0..65535;
|
||||
{$ifndef ver1_0}
|
||||
{$ifndef ver1_0}
|
||||
DWord = LongWord;
|
||||
Cardinal = LongWord;
|
||||
{$else}
|
||||
@ -419,6 +419,12 @@ Function Pos (c : Char; Const s : WideString) : Longint;
|
||||
Function Pos (c : WideChar; Const s : WideString) : Longint;
|
||||
Procedure Insert (Const Source : WideString; Var S : WideString; Index : Longint);
|
||||
Procedure Delete (Var S : WideString; Index,Size: Longint);
|
||||
|
||||
function WideCharToString(S : PWideChar) : AnsiString;
|
||||
function StringToWideChar(const Src : AnsiString;Dest : PWideChar;DestSize : LongInt) : PWideChar;
|
||||
function WideCharLenToString(S : PWideChar;Len : LongInt) : AnsiString;
|
||||
procedure WideCharLenToStrVar(Src : PWideChar;Len : LongInt;var Dest : AnsiString);
|
||||
procedure WideCharToStrVar(S : PWideChar;var Dest : AnsiString);
|
||||
{$endif HASWIDESTRING}
|
||||
|
||||
|
||||
@ -587,7 +593,10 @@ const
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.54 2002-09-07 21:20:50 carl
|
||||
Revision 1.55 2002-09-26 21:50:37 florian
|
||||
+ some WideString<->AnsiString conversion functions added
|
||||
|
||||
Revision 1.54 2002/09/07 21:20:50 carl
|
||||
* cardinal -> longword
|
||||
- remove FPUInt64 variable
|
||||
|
||||
|
@ -57,7 +57,7 @@ procedure Wide2AnsiMove(source:pwidechar;dest:pchar;len:longint);
|
||||
var
|
||||
i : longint;
|
||||
begin
|
||||
for i:=1to len do
|
||||
for i:=1 to len do
|
||||
begin
|
||||
if word(source^)<128 then
|
||||
dest^:=char(word(source^))
|
||||
@ -73,7 +73,7 @@ procedure Ansi2WideMove(source:pchar;dest:pwidechar;len:longint);
|
||||
var
|
||||
i : longint;
|
||||
begin
|
||||
for i:=1to len do
|
||||
for i:=1 to len do
|
||||
begin
|
||||
if byte(source^)<128 then
|
||||
dest^:=widechar(byte(source^))
|
||||
@ -549,6 +549,36 @@ end;
|
||||
Public functions, In interface.
|
||||
*****************************************************************************}
|
||||
|
||||
function WideCharToString(S : PWideChar) : AnsiString;
|
||||
begin
|
||||
result:=WideCharLenToString(s,Length(WideString(s)));
|
||||
end;
|
||||
|
||||
function StringToWideChar(const Src : AnsiString;Dest : PWideChar;DestSize : LongInt) : PWideChar;
|
||||
begin
|
||||
if Length(Src)<DestSize then
|
||||
Ansi2WideMoveProc(PChar(Src),Dest,Length(Src))
|
||||
else
|
||||
Ansi2WideMoveProc(PChar(Src),Dest,DestSize);
|
||||
end;
|
||||
|
||||
function WideCharLenToString(S : PWideChar;Len : LongInt) : AnsiString;
|
||||
begin
|
||||
SetLength(result,Len);
|
||||
Wide2AnsiMove(S,PChar(result),Len);
|
||||
end;
|
||||
|
||||
procedure WideCharLenToStrVar(Src : PWideChar;Len : LongInt;var Dest : AnsiString);
|
||||
begin
|
||||
Dest:=WideCharLenToString(Src,Len);
|
||||
end;
|
||||
|
||||
procedure WideCharToStrVar(S : PWideChar;var Dest : AnsiString);
|
||||
begin
|
||||
Dest:=WideCharToString(S);
|
||||
end;
|
||||
|
||||
|
||||
{$ifndef INTERNLENGTH}
|
||||
Function Length (Const S : WideString) : Longint;
|
||||
{
|
||||
@ -850,7 +880,10 @@ end;
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.21 2002-09-14 11:20:50 carl
|
||||
Revision 1.22 2002-09-26 21:50:38 florian
|
||||
+ some WideString<->AnsiString conversion functions added
|
||||
|
||||
Revision 1.21 2002/09/14 11:20:50 carl
|
||||
* Delphi compatibility fix (with string routines)
|
||||
|
||||
Revision 1.20 2002/09/07 21:16:45 carl
|
||||
|
Loading…
Reference in New Issue
Block a user