Changeset 118
- Timestamp:
- Apr 26, 2007, 1:54:34 PM (18 years ago)
- Location:
- trunk/NewView
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NewView/StringUtilsUnit.pas
r110 r118 39 39 // prefices all occurences of one of the chars in aStringWithChars with anEscape char 40 40 // if the escapeChar itself is found, then it is doubled 41 Function StrEscapeAllCharsBy( Const aReceiver: String; const aSetOfChars: TSetOfChars; const anEscapeChar: char): String;41 Function StrEscapeAllCharsBy(const aReceiver: String; const aSetOfChars: TSetOfChars; const anEscapeChar: char): String; 42 42 43 43 // Extract all fields in a String given a set of delimiter characters and … … 46 46 // StrExtractStrings('1x2x3\x4', 'x', '\') -> 47 47 // returns 4 strings: '1', '', '2' and '3x4' 48 Procedure StrExtractStrings(Var aResult : TStrings; Const aReceiver: String; const aSetOfChars: TSetOfChars; const anEscapeChar: char);48 Procedure StrExtractStrings(Var aResult : TStrings; const aReceiver: String; const aSetOfChars: TSetOfChars; const anEscapeChar: char); 49 49 50 50 // same as StrExtractStrings but ignores empty strings 51 Procedure StrExtractStringsIgnoreEmpty(Var aResult : TStrings; Const aReceiver: String; const aSetOfChars: TSetOfChars; const anEscapeChar: char);51 Procedure StrExtractStringsIgnoreEmpty(Var aResult : TStrings; const aReceiver: String; const aSetOfChars: TSetOfChars; const anEscapeChar: char); 52 52 53 53 // removes all occurences of char from aSetOfChars from the beginning … … 74 74 // Returns a copy of the string including all characters until one from aSetOfChars found 75 75 Function StrLeftUntil(const aReceiver: String; const aSetOfChars: TSetOfChars) : String; 76 77 // Returns a copy of the string starting at aPos 78 Function StrSubstringFrom(const aReceiver: String; const aPos : Integer) : String; 76 79 77 80 // returns true if the String starts with the provided one … … 113 116 // case insensitive 114 117 Function CaseInsensitivePos(const aPart: String; const aString: String ): longint; 118 115 119 116 120 // -------------------- … … 448 452 449 453 454 Function StrSubstringFrom(const aReceiver: String; const aPos : Integer) : String; 455 Begin 456 Result := copy(aReceiver, aPos, length(aReceiver) - aPos + 1); 457 end; 458 459 450 460 Function StrStartsWith(const aReceiver: String; const aStartString: String) : Boolean; 451 461 Var -
trunk/NewView/unittests/StringUtilsUnitTests.pas
r110 r118 950 950 951 951 assertEqualsString('testStrLeftUntil', 'abcx', tmpResult); 952 END; 953 954 955 // ------------------------------------------------------------------- 956 957 958 PROCEDURE testStrSubstringFrom_Empty; 959 VAR 960 tmpResult : String; 961 BEGIN 962 tmpResult := StrSubstringFrom('', 1); 963 964 assertEqualsString('testStrSubstringFrom_Empty', '', tmpResult); 965 END; 966 967 968 PROCEDURE testStrSubstringFrom_EmptyZeroPos; 969 VAR 970 tmpResult : String; 971 BEGIN 972 tmpResult := StrSubstringFrom('', 0); 973 974 assertEqualsString('testStrSubstringFrom_EmptyZeroPos', '', tmpResult); 975 END; 976 977 978 PROCEDURE testStrSubstringFrom_EmptyNegativePos; 979 VAR 980 tmpResult : String; 981 BEGIN 982 tmpResult := StrSubstringFrom('', -4); 983 984 assertEqualsString('testStrSubstringFrom_EmptyNegativePos', '', tmpResult); 985 END; 986 987 988 PROCEDURE testStrSubstringFrom_FullCopy; 989 VAR 990 tmpResult : String; 991 BEGIN 992 tmpResult := StrSubstringFrom('abcd', 1); 993 994 assertEqualsString('testStrSubstringFrom_FullCopy', 'abcd', tmpResult); 995 END; 996 997 998 PROCEDURE testStrSubstringFrom_ZeroPos; 999 VAR 1000 tmpResult : String; 1001 BEGIN 1002 tmpResult := StrSubstringFrom('abcd', 0); 1003 1004 assertEqualsString('testStrSubstringFrom_ZeroPos', 'abcd', tmpResult); 1005 END; 1006 1007 1008 PROCEDURE testStrSubstringFrom_NegativePos; 1009 VAR 1010 tmpResult : String; 1011 BEGIN 1012 tmpResult := StrSubstringFrom('abcd', -4); 1013 1014 assertEqualsString('testStrSubstringFrom_NegativePos', 'abcd', tmpResult); 1015 END; 1016 1017 1018 PROCEDURE testStrSubstringFrom_ToBigPos; 1019 VAR 1020 tmpResult : String; 1021 BEGIN 1022 tmpResult := StrSubstringFrom('abcd', 11); 1023 1024 assertEqualsString('testStrSubstringFrom_ToBigPos', '', tmpResult); 1025 END; 1026 1027 1028 PROCEDURE testStrSubstringFrom; 1029 VAR 1030 tmpResult : String; 1031 BEGIN 1032 tmpResult := StrSubstringFrom('abcd', 2); 1033 1034 assertEqualsString('testStrSubstringFrom', 'bcd', tmpResult); 952 1035 END; 953 1036 … … 2210 2293 result.add(@testStrLeftUntil_UnusedDelimiter); 2211 2294 result.add(@testStrLeftUntil); 2295 2296 result.add(@testStrSubstringFrom_Empty); 2297 result.add(@testStrSubstringFrom_EmptyZeroPos); 2298 result.add(@testStrSubstringFrom_EmptyNegativePos); 2299 result.add(@testStrSubstringFrom_FullCopy); 2300 result.add(@testStrSubstringFrom_ZeroPos); 2301 result.add(@testStrSubstringFrom_NegativePos); 2302 result.add(@testStrSubstringFrom_ToBigPos); 2303 result.add(@testStrSubstringFrom); 2212 2304 2213 2305 result.add(@testStrStartsWith_BothEmpty);
Note:
See TracChangeset
for help on using the changeset viewer.