Einzelnen Beitrag anzeigen

Benutzerbild von eddy
eddy

Registriert seit: 3. Jan 2003
Ort: Sachsen
573 Beiträge
 
Delphi 5 Professional
 
#4
  Alt 29. Jan 2003, 23:22
Hallo Tpercon,

aus irgendeiner Ausgabe des PC Magazin habe ich eine Funktion übernommen, die es erlaubt, Strings in einer case-Anweisung zu verarbeiten. Vielleicht bringt es Dich ja Deinem Ziel näher:


Mein SpeedButton zum Testen:

Delphi-Quellcode:
procedure TFTest.sbTestClick(Sender: TObject);
const
  maxw = 5;
  txt : array[1..maxw] of string = ('bla1','bla2','bla3','bla4','bla5');
begin
  s := 'Bla1'; // egal wo er herkommt z.B. aus einem Edit.Text
               // Groß-Klein-Schreibung wird im UP ignoriert
  if NofStr(s, txt) >= 0
    then Showmessage('ist drin')
    else Showmessage('Fehlt');
end;
und hier noch das Unterprogramm (UP):

Delphi-Quellcode:
{liefert 0 ... n zurück, wenn s in sarr gefunden wurde, -1, wenn nicht}
function NofStr( s : string; sarr : array of string) : integer;
var
  erg, i : integer;
begin
  erg := -1;
  s := uppercase(s);
  for i := 0 to high(sarr) do begin
    if s = uppercase(sarr[i]) then begin
      erg := i;
      break;
    end;
  end;
  Result := erg;
end;
Statt UpperCase kann man auch AnsiUpperCase verwenden, welches wohl auch Umlaute berücksichtigt, wenn ich die Beschreibung richtig verstanden habe.

mfg
eddy
  Mit Zitat antworten Zitat