Changeset 116


Ignore:
Timestamp:
Apr 25, 2007, 10:31:17 AM (18 years ago)
Author:
RBRi
Message:

changed to use StringUtilsUnit

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NewView/TextSearchQuery.pas

    r33 r116  
    5050
    5151uses
    52   ACLStringUtility,
    5352  ACLUtility,
    54   ACLLanguageUnit;
     53  ACLLanguageUnit,
     54  CharUtilsUnit,
     55  StringUtilsUnit,
     56  DebugUnit;
    5557
    5658var
     
    7274  CombineMethod: TSearchTermCombineMethod;
    7375  Term: TSearchTerm;
    74   ParseIndex: longint;
     76  tmpTerms : TStringList;
     77  i : integer;
    7578begin
    7679  Terms := TList.Create;
    7780  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];
    8587
    8688      // Check for modifiers:
     
    100102        // delete + or -
    101103        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));
    107112        Delete( TermText, 1, 1 );
    108113      end;
     
    112117      Terms.Add( Term );
    113118    end;
     119    tmpTerms.Destroy;
    114120  except
     121    tmpTerms.Destroy;
    115122    Destroy; // clean up
    116123    raise; // reraise exception
     
    161168    begin
    162169      TermChar := Text[ TermParseIndex ];
    163       if  (    IsAlpha( TermChar )
    164             or IsDigit( TermChar ) ) then
     170      if  (    CharIsAlpha( TermChar )
     171            or CharIsDigit( TermChar ) ) then
    165172      begin
    166173        // alpha numeric, collect it
Note: See TracChangeset for help on using the changeset viewer.