mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-17 18:09:15 +02:00
* Add widestrutils, delphi compatibility (Bug ID 28396)
git-svn-id: trunk@32816 -
This commit is contained in:
parent
244be4f4c2
commit
96257e11d7
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -6960,6 +6960,7 @@ packages/rtl-objpas/src/inc/varerror.inc svneol=native#text/plain
|
|||||||
packages/rtl-objpas/src/inc/variants.pp svneol=native#text/plain
|
packages/rtl-objpas/src/inc/variants.pp svneol=native#text/plain
|
||||||
packages/rtl-objpas/src/inc/varutilh.inc svneol=native#text/plain
|
packages/rtl-objpas/src/inc/varutilh.inc svneol=native#text/plain
|
||||||
packages/rtl-objpas/src/inc/varutils.inc svneol=native#text/plain
|
packages/rtl-objpas/src/inc/varutils.inc svneol=native#text/plain
|
||||||
|
packages/rtl-objpas/src/inc/widestrutils.pp svneol=native#text/plain
|
||||||
packages/rtl-objpas/src/morphos/varutils.pp svneol=native#text/plain
|
packages/rtl-objpas/src/morphos/varutils.pp svneol=native#text/plain
|
||||||
packages/rtl-objpas/src/msdos/varutils.pp svneol=native#text/plain
|
packages/rtl-objpas/src/msdos/varutils.pp svneol=native#text/plain
|
||||||
packages/rtl-objpas/src/nativent/varutils.pp svneol=native#text/pascal
|
packages/rtl-objpas/src/nativent/varutils.pp svneol=native#text/pascal
|
||||||
|
@ -61,6 +61,7 @@ begin
|
|||||||
|
|
||||||
|
|
||||||
T:=P.Targets.AddUnit('strutils.pp',StrUtilsOses);
|
T:=P.Targets.AddUnit('strutils.pp',StrUtilsOses);
|
||||||
|
T:=P.Targets.AddUnit('widestrutils.pp',StrUtilsOses-ConvUtilOSes);
|
||||||
T:=P.Targets.AddUnit('varutils.pp',VarUtilsOses);
|
T:=P.Targets.AddUnit('varutils.pp',VarUtilsOses);
|
||||||
with T.Dependencies do
|
with T.Dependencies do
|
||||||
begin
|
begin
|
||||||
|
56
packages/rtl-objpas/src/inc/widestrutils.pp
Normal file
56
packages/rtl-objpas/src/inc/widestrutils.pp
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
unit WideStrUtils;
|
||||||
|
|
||||||
|
{$mode objfpc}
|
||||||
|
{$H+}
|
||||||
|
{$inline on}
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
SysUtils;
|
||||||
|
|
||||||
|
function WideStringReplace(const S, OldPattern, NewPattern: WideString; Flags: TReplaceFlags): WideString;
|
||||||
|
function WideReplaceStr(const AText, AFromText, AToText: WideString): WideString; inline;
|
||||||
|
function WideReplaceText(const AText, AFromText, AToText: WideString): WideString; inline;
|
||||||
|
|
||||||
|
function UnicodeStringReplace(const S, OldPattern, NewPattern: UnicodeString; Flags: TReplaceFlags): UnicodeString;
|
||||||
|
function UnicodeReplaceStr(const AText, AFromText, AToText: UnicodeString): UnicodeString; inline;
|
||||||
|
function UnicodeReplaceText(const AText, AFromText, AToText: UnicodeString): UnicodeString; inline;
|
||||||
|
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
function WideReplaceStr(const AText, AFromText, AToText: WideString): WideString; inline;
|
||||||
|
begin
|
||||||
|
Result := WideStringReplace(AText, AFromText, AToText, [rfReplaceAll]);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function WideReplaceText(const AText, AFromText, AToText: WideString): WideString; inline;
|
||||||
|
begin
|
||||||
|
Result := WideStringReplace(AText, AFromText, AToText, [rfReplaceAll, rfIgnoreCase]);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function UnicodeReplaceStr(const AText, AFromText, AToText: UnicodeString): UnicodeString; inline;
|
||||||
|
begin
|
||||||
|
Result := UnicodeStringReplace(AText, AFromText, AToText, [rfReplaceAll]);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function UnicodeReplaceText(const AText, AFromText, AToText: UnicodeString): UnicodeString; inline;
|
||||||
|
begin
|
||||||
|
Result := UnicodeStringReplace(AText, AFromText, AToText, [rfReplaceAll, rfIgnoreCase]);
|
||||||
|
end;
|
||||||
|
|
||||||
|
Function WideStringReplace(const S, OldPattern, NewPattern: WideString; Flags: TReplaceFlags): WideString;
|
||||||
|
|
||||||
|
begin
|
||||||
|
Result:= sysutils.WideStringReplace(S,OldPattern,NewPattern,Flags);
|
||||||
|
end;
|
||||||
|
|
||||||
|
Function UnicodeStringReplace(const S, OldPattern, NewPattern: UnicodeString; Flags: TReplaceFlags): UnicodeString;
|
||||||
|
|
||||||
|
begin
|
||||||
|
Result:= sysutils.UnicodeStringReplace(S,OldPattern,NewPattern,Flags);
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user