Changeset 116
- Timestamp:
- Apr 25, 2007, 10:31:17 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NewView/TextSearchQuery.pas
r33 r116 50 50 51 51 uses 52 ACLStringUtility,53 52 ACLUtility, 54 ACLLanguageUnit; 53 ACLLanguageUnit, 54 CharUtilsUnit, 55 StringUtilsUnit, 56 DebugUnit; 55 57 56 58 var … … 72 74 CombineMethod: TSearchTermCombineMethod; 73 75 Term: TSearchTerm; 74 ParseIndex: longint; 76 tmpTerms : TStringList; 77 i : integer; 75 78 begin 76 79 Terms := TList.Create; 77 80 try 78 ParseIndex := 1; 79 while ParseIndex <= Length( SearchString ) do 80 begin 81 GetNextQuotedValue( SearchString, 82 ParseIndex, 83 TermText, 84 DoubleQuote ); 81 tmpTerms := TStringList.Create; 82 StrExtractStringsQuoted(tmpTerms, SearchString); 83 84 for i := 0 to tmpTerms.count-1 do 85 begin 86 TermText := tmpTerms[i]; 85 87 86 88 // Check for modifiers: … … 100 102 // delete + or - 101 103 if Length( TermText ) = 1 then 102 raise ESearchSyntaxError.Create( QueryErrorMissingWord1 103 + StrDoubleQuote( TermText ) 104 + QueryErrorMissingWord2 105 + StrDoubleQuote( StrRightFrom( SearchString, 106 ParseIndex ) ) ); 104 if (i < tmpTerms.count-1) then 105 raise ESearchSyntaxError.Create( QueryErrorMissingWord1 106 + StrInDoubleQuotes(TermText) 107 + QueryErrorMissingWord2 108 + StrInDoubleQuotes(tmpTerms[i+1]) ) 109 else 110 raise ESearchSyntaxError.Create( QueryErrorMissingWord1 111 + StrInDoubleQuotes(TermText)); 107 112 Delete( TermText, 1, 1 ); 108 113 end; … … 112 117 Terms.Add( Term ); 113 118 end; 119 tmpTerms.Destroy; 114 120 except 121 tmpTerms.Destroy; 115 122 Destroy; // clean up 116 123 raise; // reraise exception … … 161 168 begin 162 169 TermChar := Text[ TermParseIndex ]; 163 if ( IsAlpha( TermChar )164 or IsDigit( TermChar ) ) then170 if ( CharIsAlpha( TermChar ) 171 or CharIsDigit( TermChar ) ) then 165 172 begin 166 173 // alpha numeric, collect it
Note:
See TracChangeset
for help on using the changeset viewer.