StringCase

Witam serdecznie czy czasami potrzebowaliście użyć funkcji case do stringów? No właśnie ja ostatnio miałem do wyboru napisać kilkanaście if'ów lub napisać funkcję case dla stringów. Udało się poniżej gotowy kod:

function StringCase(wybor : string; lista: TStringList): Integer;
var i: integer;
begin
  Result:=-1;
  for i:=0 to Length(lista)-1 do
  begin
    if Comparetext">CompareText (wybor, lista[i]) = 0 then
    begin
      Result:=i;
      Break;
    end;
  end;
end;


Sposób użycia:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
  sList: TStringList;
begin
  sList := TStringList.Create;
  sList.LoadFromFile('nazwa_pliku');
  case StringCase(edtNazwa.text,sList) of
     0:ShowMessage('Cos tam 1') ;
     1:ShowMessage('Cos tam 2') ;
     2:ShowMessage('Cos tam 3') ;
  end;
  sList.Free;
end;
Informacje
Ostatnia modyfikacja 24-02-2010 16:19 Ostatni autor woolfik
Ilość wyświetleń 1067 Wersja 1
Komentarz
woolfik dnia 24-02-2010 16:21
Tam ma byc if CompareText(wybor, lista[i]) = 0 then niestety cos sie posypalo na CompareText

Copyright © 2000-2006 by Coyote Group 0.9.3-pre3
Czas generowania strony: 0.0647 sek. (zapytań SQL: 9)