Hallo nochmal,
so ich habe mir jetzt mal die Funktion von Popov aus #51 angesehen. In dieser Funktion, ist alles enthalten, was Du benötigen tust.
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
DBTextPath := ExtractFilePath(ParamStr(0)) + 'Datensatz1.csv'; //Datenbank in Var. laden
Memo1.Lines.LoadFromFile(DBTextPath); //Datenbank in Memo anzeigen
end;
Beim Form.Create, wird die Datenbank geladen und in einem Memo zur anzeige gebracht.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
const
D = ';';
var
i: Integer;
sl: TStringList;
begin
sl := TStringList.Create;
try
sl.LoadFromFile(DBTextPath); //Der Inhalt der Datenbank, wird in eine Stringliste geladen
for i := 0 to sl.Count - 1 do
begin
if AnsiContainsText(sl[i], Edit1.Text) then //Vergleich der Stringliste mit deiner Suchanfrage im Edit1
begin
Edit2.Text := GetTextN(sl[i], 0, D); //Wenn suche Erfolgreich, dann wird der Datensatz über die Funktion
Edit3.Text := GetTextN(sl[i], 1, D); //GetTextN geladen
Edit4.Text := GetTextN(sl[i], 2, D);
Edit5.Text := GetTextN(sl[i], 3, D);
Edit6.Text := GetTextN(sl[i], 4, D); //Hier zum Beispiel, Teil 5 des Strings, bis zum nächsten ';'
Edit7.Text := GetTextN(sl[i], 5, D); //Hier String 6, da D=';'
Break;
end;
end;
finally
sl.Free;
end;
end;
Probier diese Funktion doch mal aus, und du wirst sehen, das es eigendlich ganz einfach ist.
Gruß Jens