diff options
author | michael <michael@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2018-04-14 12:06:48 +0000 |
---|---|---|
committer | michael <michael@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2018-04-14 12:06:48 +0000 |
commit | e3e15d09c383c20a9abc915b225039145e96b041 (patch) | |
tree | b7d2db08a9e6c7e1c7a21ab3aaad1d380362614b /rtl/objpas/sysutils/syshelph.inc | |
parent | ff3bf2532a7eb90872ff7421ad1da01b869e7258 (diff) | |
download | fpc-e3e15d09c383c20a9abc915b225039145e96b041.tar.gz |
* Use SizeInt, let StartsWith/EndsWith handle #0 characters (bug ID 33559)
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@38769 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'rtl/objpas/sysutils/syshelph.inc')
-rw-r--r-- | rtl/objpas/sysutils/syshelph.inc | 120 |
1 files changed, 60 insertions, 60 deletions
diff --git a/rtl/objpas/sysutils/syshelph.inc b/rtl/objpas/sysutils/syshelph.inc index 9c36c77601..4de19c717f 100644 --- a/rtl/objpas/sysutils/syshelph.inc +++ b/rtl/objpas/sysutils/syshelph.inc @@ -37,24 +37,24 @@ Type TStringHelper = Type Helper for AnsiString Private - Function GetChar(AIndex : Integer) : Char; - Function GetLength : Integer; + Function GetChar(AIndex : SizeInt) : Char; + Function GetLength : SizeInt; public const Empty = ''; // Methods Class Function Compare(const A: string; const B: string): Integer; overload; static; //inline; Class Function Compare(const A: string; const B: string; IgnoreCase: Boolean): Integer; overload; static; //inline; //deprecated 'Use same with TCompareOptions'; Class Function Compare(const A: string; const B: string; Options: TCompareOptions): Integer; overload; static; // inline; - Class Function Compare(const A: string; IndexA: Integer; const B: string; IndexB: Integer; ALen: Integer): Integer; overload; static; // inline; - Class Function Compare(const A: string; IndexA: Integer; const B: string; IndexB: Integer; ALen: Integer; IgnoreCase: Boolean): Integer; overload; static; // inline; //deprecated 'Use same with TCompareOptions'; - Class Function Compare(const A: string; IndexA: Integer; const B: string; IndexB: Integer; ALen: Integer; Options: TCompareOptions): Integer; overload; static;// inline; + Class Function Compare(const A: string; IndexA: SizeInt; const B: string; IndexB: SizeInt; ALen: SizeInt): Integer; overload; static; // inline; + Class Function Compare(const A: string; IndexA: SizeInt; const B: string; IndexB: SizeInt; ALen: SizeInt; IgnoreCase: Boolean): Integer; overload; static; // inline; //deprecated 'Use same with TCompareOptions'; + Class Function Compare(const A: string; IndexA: SizeInt; const B: string; IndexB: SizeInt; ALen: SizeInt; Options: TCompareOptions): Integer; overload; static;// inline; Class Function CompareOrdinal(const A: string; const B: string): Integer; overload; static; - Class Function CompareOrdinal(const A: string; IndexA: Integer; const B: string; IndexB: Integer; ALen: Integer): Integer; overload; static; + Class Function CompareOrdinal(const A: string; IndexA: SizeInt; const B: string; IndexB: SizeInt; ALen: SizeInt): Integer; overload; static; Class Function CompareText(const A: string; const B: string): Integer; static; inline; Class Function Copy(const Str: string): string; inline; static; - Class Function Create(AChar: Char; ACount: Integer): string; overload; inline; static; + Class Function Create(AChar: Char; ACount: SizeInt): string; overload; inline; static; Class Function Create(const AValue: array of Char): string; overload; static; - Class Function Create(const AValue: array of Char; StartIndex: Integer; ALen: Integer): string; overload; static; + Class Function Create(const AValue: array of Char; StartIndex: SizeInt; ALen: SizeInt): string; overload; static; Class Function EndsText(const ASubText, AText: string): Boolean; static; Class Function Equals(const a: string; const b: string): Boolean; overload; static; Class Function Format(const AFormat: string; const args: array of const): string; overload; static; @@ -62,7 +62,7 @@ Type Class Function IsNullOrWhiteSpace(const AValue: string): Boolean; static; Class Function Join(const Separator: string; const Values: array of const): string; overload; static; Class Function Join(const Separator: string; const Values: array of string): string; overload; static; - Class Function Join(const Separator: string; const Values: array of string; StartIndex: Integer; ACount: Integer): string; overload; static; + Class Function Join(const Separator: string; const Values: array of string; StartIndex: SizeInt; ACount: SizeInt): string; overload; static; Class Function LowerCase(const S: string): string; overload; static; inline; Class Function Parse(const AValue: Boolean): string; overload; static; inline; Class Function Parse(const AValue: Extended): string; overload; static;inline; @@ -77,8 +77,8 @@ Type Class Function UpperCase(const S: string): string; overload; static; inline; Function CompareTo(const B: string): Integer; Function Contains(const AValue: string): Boolean; - procedure CopyTo(SourceIndex: Integer; var destination: array of Char; DestinationIndex: Integer; ACount: Integer); - Function CountChar(const C: Char): Integer; + procedure CopyTo(SourceIndex: SizeInt; var destination: array of Char; DestinationIndex: SizeInt; ACount: SizeInt); + Function CountChar(const C: Char): SizeInt; Function DeQuotedString: string; overload; Function DeQuotedString(const AQuoteChar: Char): string; overload; Function EndsWith(const AValue: string): Boolean; overload; inline; @@ -86,71 +86,71 @@ Type Function Equals(const AValue: string): Boolean; overload; Function Format(const args: array of const): string; overload; Function GetHashCode: Integer; - Function IndexOf(AValue: Char): Integer; overload; inline; - Function IndexOf(const AValue: string): Integer; overload; inline; - Function IndexOf(AValue: Char; StartIndex: Integer): Integer; overload; - Function IndexOf(const AValue: string; StartIndex: Integer): Integer; overload; - Function IndexOf(AValue: Char; StartIndex: Integer; ACount: Integer): Integer; overload; - Function IndexOf(const AValue: string; StartIndex: Integer; ACount: Integer): Integer; overload; - Function IndexOfUnQuoted(const AValue: string; StartQuote, EndQuote: Char; StartIndex: Integer = 0): Integer; overload; - Function IndexOfAny(const AnyOf: array of Char): Integer; overload; - Function IndexOfAny(const AnyOf: array of Char; StartIndex: Integer): Integer; overload; - Function IndexOfAny(const AnyOf: array of Char; StartIndex: Integer; ACount: Integer): Integer; overload; - Function IndexOfAny(const AnyOf: array of String): Integer; overload; - Function IndexOfAny(const AnyOf: array of String; StartIndex: Integer): Integer; overload; - Function IndexOfAny(const AnyOf: array of String; StartIndex: Integer; ACount: Integer): Integer; overload; - Function IndexOfAny(const AnyOf: array of String; StartIndex: Integer; ACount: Integer; Out AMatch : Integer): Integer; overload; - Function IndexOfAnyUnquoted(const AnyOf: array of Char; StartQuote, EndQuote: Char): Integer; overload; - Function IndexOfAnyUnquoted(const AnyOf: array of Char; StartQuote, EndQuote: Char; StartIndex: Integer): Integer; overload; - Function IndexOfAnyUnquoted(const AnyOf: array of Char; StartQuote, EndQuote: Char; StartIndex: Integer; ACount: Integer): Integer; overload; - function IndexOfAnyUnquoted(const AnyOf: array of string; StartQuote, EndQuote: Char; StartIndex: Integer; Out Matched: Integer): Integer; overload; - Function Insert(StartIndex: Integer; const AValue: string): string; - Function IsDelimiter(const Delimiters: string; Index: Integer): Boolean; + Function IndexOf(AValue: Char): SizeInt; overload; inline; + Function IndexOf(const AValue: string): SizeInt; overload; inline; + Function IndexOf(AValue: Char; StartIndex: SizeInt): SizeInt; overload; + Function IndexOf(const AValue: string; StartIndex: SizeInt): SizeInt; overload; + Function IndexOf(AValue: Char; StartIndex: SizeInt; ACount: SizeInt): SizeInt; overload; + Function IndexOf(const AValue: string; StartIndex: SizeInt; ACount: SizeInt): SizeInt; overload; + Function IndexOfUnQuoted(const AValue: string; StartQuote, EndQuote: Char; StartIndex: SizeInt = 0): SizeInt; overload; + Function IndexOfAny(const AnyOf: array of Char): SizeInt; overload; + Function IndexOfAny(const AnyOf: array of Char; StartIndex: SizeInt): SizeInt; overload; + Function IndexOfAny(const AnyOf: array of Char; StartIndex: SizeInt; ACount: SizeInt): SizeInt; overload; + Function IndexOfAny(const AnyOf: array of String): SizeInt; overload; + Function IndexOfAny(const AnyOf: array of String; StartIndex: SizeInt): SizeInt; overload; + Function IndexOfAny(const AnyOf: array of String; StartIndex: SizeInt; ACount: SizeInt): SizeInt; overload; + Function IndexOfAny(const AnyOf: array of String; StartIndex: SizeInt; ACount: SizeInt; Out AMatch : SizeInt): SizeInt; overload; + Function IndexOfAnyUnquoted(const AnyOf: array of Char; StartQuote, EndQuote: Char): SizeInt; overload; + Function IndexOfAnyUnquoted(const AnyOf: array of Char; StartQuote, EndQuote: Char; StartIndex: SizeInt): SizeInt; overload; + Function IndexOfAnyUnquoted(const AnyOf: array of Char; StartQuote, EndQuote: Char; StartIndex: SizeInt; ACount: SizeInt): SizeInt; overload; + function IndexOfAnyUnquoted(const AnyOf: array of string; StartQuote, EndQuote: Char; StartIndex: SizeInt; Out Matched: SizeInt): SizeInt; overload; + Function Insert(StartIndex: SizeInt; const AValue: string): string; + Function IsDelimiter(const Delimiters: string; Index: SizeInt): Boolean; Function IsEmpty: Boolean; - Function LastDelimiter(const Delims: string): Integer; - Function LastIndexOf(AValue: Char): Integer; overload; - Function LastIndexOf(const AValue: string): Integer; overload; - Function LastIndexOf(AValue: Char; AStartIndex: Integer): Integer; overload; - Function LastIndexOf(const AValue: string; AStartIndex: Integer): Integer; overload; - Function LastIndexOf(AValue: Char; AStartIndex: Integer; ACount: Integer): Integer; overload; - Function LastIndexOf(const AValue: string; AStartIndex: Integer; ACount: Integer): Integer; overload; - Function LastIndexOfAny(const AnyOf: array of Char): Integer; overload; - Function LastIndexOfAny(const AnyOf: array of Char; AStartIndex: Integer): Integer; overload; - Function LastIndexOfAny(const AnyOf: array of Char; AStartIndex: Integer; ACount: Integer): Integer; overload; - Function PadLeft(ATotalWidth: Integer): string; overload; inline; - Function PadLeft(ATotalWidth: Integer; PaddingChar: Char): string; overload; inline; - Function PadRight(ATotalWidth: Integer): string; overload; inline; - Function PadRight(ATotalWidth: Integer; PaddingChar: Char): string; overload; inline; + Function LastDelimiter(const Delims: string): SizeInt; + Function LastIndexOf(AValue: Char): SizeInt; overload; + Function LastIndexOf(const AValue: string): SizeInt; overload; + Function LastIndexOf(AValue: Char; AStartIndex: SizeInt): SizeInt; overload; + Function LastIndexOf(const AValue: string; AStartIndex: SizeInt): SizeInt; overload; + Function LastIndexOf(AValue: Char; AStartIndex: SizeInt; ACount: SizeInt): SizeInt; overload; + Function LastIndexOf(const AValue: string; AStartIndex: SizeInt; ACount: SizeInt): SizeInt; overload; + Function LastIndexOfAny(const AnyOf: array of Char): SizeInt; overload; + Function LastIndexOfAny(const AnyOf: array of Char; AStartIndex: SizeInt): SizeInt; overload; + Function LastIndexOfAny(const AnyOf: array of Char; AStartIndex: SizeInt; ACount: SizeInt): SizeInt; overload; + Function PadLeft(ATotalWidth: SizeInt): string; overload; inline; + Function PadLeft(ATotalWidth: SizeInt; PaddingChar: Char): string; overload; inline; + Function PadRight(ATotalWidth: SizeInt): string; overload; inline; + Function PadRight(ATotalWidth: SizeInt; PaddingChar: Char): string; overload; inline; Function QuotedString: string; overload; Function QuotedString(const AQuoteChar: Char): string; overload; - Function Remove(StartIndex: Integer): string; overload; inline; - Function Remove(StartIndex: Integer; ACount: Integer): string; overload; inline; + Function Remove(StartIndex: SizeInt): string; overload; inline; + Function Remove(StartIndex: SizeInt; ACount: SizeInt): string; overload; inline; Function Replace(OldChar: Char; NewChar: Char): string; overload; Function Replace(OldChar: Char; NewChar: Char; ReplaceFlags: TReplaceFlags): string; overload; Function Replace(const OldValue: string; const NewValue: string): string; overload; Function Replace(const OldValue: string; const NewValue: string; ReplaceFlags: TReplaceFlags): string; overload; Function Split(const Separators: array of Char): TStringArray; overload; - Function Split(const Separators: array of Char; ACount: Integer): TStringArray; overload; + Function Split(const Separators: array of Char; ACount: SizeInt): TStringArray; overload; Function Split(const Separators: array of Char; Options: TStringSplitOptions): TStringArray; overload; - Function Split(const Separators: array of Char; ACount: Integer; Options: TStringSplitOptions): TStringArray; overload; + Function Split(const Separators: array of Char; ACount: SizeInt; Options: TStringSplitOptions): TStringArray; overload; Function Split(const Separators: array of string): TStringArray; overload; - Function Split(const Separators: array of string; ACount: Integer): TStringArray; overload; + Function Split(const Separators: array of string; ACount: SizeInt): TStringArray; overload; Function Split(const Separators: array of string; Options: TStringSplitOptions): TStringArray; overload; - Function Split(const Separators: array of string; ACount: Integer; Options: TStringSplitOptions): TStringArray; overload; + Function Split(const Separators: array of string; ACount: SizeInt; Options: TStringSplitOptions): TStringArray; overload; Function Split(const Separators: array of Char; AQuote: Char): TStringArray; overload; Function Split(const Separators: array of Char; AQuoteStart, AQuoteEnd: Char): TStringArray; overload; Function Split(const Separators: array of Char; AQuoteStart, AQuoteEnd: Char; Options: TStringSplitOptions): TStringArray; overload; - Function Split(const Separators: array of Char; AQuoteStart, AQuoteEnd: Char; ACount: Integer): TStringArray; overload; - Function Split(const Separators: array of Char; AQuoteStart, AQuoteEnd: Char; ACount: Integer; Options: TStringSplitOptions): TStringArray; overload; + Function Split(const Separators: array of Char; AQuoteStart, AQuoteEnd: Char; ACount: SizeInt): TStringArray; overload; + Function Split(const Separators: array of Char; AQuoteStart, AQuoteEnd: Char; ACount: SizeInt; Options: TStringSplitOptions): TStringArray; overload; Function Split(const Separators: array of string; AQuote: Char): TStringArray; overload; Function Split(const Separators: array of string; AQuoteStart, AQuoteEnd: Char): TStringArray; overload; Function Split(const Separators: array of string; AQuoteStart, AQuoteEnd: Char; Options: TStringSplitOptions): TStringArray; overload; - Function Split(const Separators: array of string; AQuoteStart, AQuoteEnd: Char; ACount: Integer): TStringArray; overload; - Function Split(const Separators: array of string; AQuoteStart, AQuoteEnd: Char; ACount: Integer; Options: TStringSplitOptions): TStringArray; overload; + Function Split(const Separators: array of string; AQuoteStart, AQuoteEnd: Char; ACount: SizeInt): TStringArray; overload; + Function Split(const Separators: array of string; AQuoteStart, AQuoteEnd: Char; ACount: SizeInt; Options: TStringSplitOptions): TStringArray; overload; Function StartsWith(const AValue: string): Boolean; overload; inline; Function StartsWith(const AValue: string; IgnoreCase: Boolean): Boolean; overload; - Function Substring(AStartIndex: Integer): string; overload; - Function Substring(AStartIndex: Integer; ALen: Integer): string; overload; + Function Substring(AStartIndex: SizeInt): string; overload; + Function Substring(AStartIndex: SizeInt; ALen: SizeInt): string; overload; Function ToBoolean: Boolean; overload; inline; Function ToInteger: Integer; overload; inline; Function ToInt64: Int64; overload; inline; @@ -158,7 +158,7 @@ Type Function ToDouble: Double; overload; inline; Function ToExtended: Extended; overload; inline; Function ToCharArray: TCharArray; overload; - Function ToCharArray(AStartIndex: Integer; ALen: Integer): TCharArray; overload; + Function ToCharArray(AStartIndex: SizeInt; ALen: SizeInt): TCharArray; overload; Function ToLower: string; overload; inline; Function ToLowerInvariant: string; Function ToUpper: string; overload; inline; @@ -171,8 +171,8 @@ Type Function TrimRight(const ATrimChars: array of Char): string; overload; Function TrimEnd(const ATrimChars: array of Char): string; deprecated 'Use TrimRight'; Function TrimStart(const ATrimChars: array of Char): string; deprecated 'Use TrimLeft'; - property Chars[AIndex: Integer]: Char read GetChar; - property Length: Integer read GetLength; + property Chars[AIndex: SizeInt]: Char read GetChar; + property Length: SizeInt read GetLength; end; {$IFDEF FPC_HAS_TYPE_SINGLE} |