Thema: Delphi Ausdrücke vergleichen

Einzelnen Beitrag anzeigen

Furtbichler
(Gast)

n/a Beiträge
 
#6

AW: Ausdrücke vergleichen

  Alt 30. Dez 2012, 07:58
Delphi-Quellcode:
Function IsContainedOrEmpty(Const pattern, text : String) : Boolean;
Begin
  if pattern='then
    result := True
  else
    result := Pos(pattern,text)<>0;
End;

Function AtLeastOnePatternIsNotEmpty (Const a,b,c,d : String) : Boolean;
Begin
  result := (a+b+c+d<>'')
End;

Function TextContainsAtLeastOneOfThePatterns(Const text, a,b,c,d : String) : Boolean;
Begin
  Result :=
    AtLeastOnePatternIsNotEmpty(a,b,c,d)
  and (
         IsContainedOrEmpty(a,text)
      or IsContainedOrEmpty(b,text)
      or IsContainedOrEmpty(c,text)
      or IsContainedOrEmpty(d,text)
      );
End;
Das finde ich am lesbarsten, denn es entspricht 1:1 deiner Vorgabe. Kein Zählen, keine Zwischenvariablen, keine Tricks.

Hinweis:Man könnte die Funktion 'AtLeastOnePatternIsNotEmpty' performancetechnisch optimieren.
  Mit Zitat antworten Zitat