Nach 2 Tagen kreativ Pause hab ich einen neuen Ansatz für die Suche:
Delphi-Quellcode:
procedure TForm1.ED_SUCHENChange(Sender: TObject);
begin
for i:=1 to SG_KONTAKTE.RowCount+1 do
begin
SG_KONTAKTE.Cells[0, i] := '';
SG_KONTAKTE.Cells[1, i] := '';
end;
for i:=0 to high(kontakte) do
begin
if (ED_SUCHEN.Text = kontakte[i].Vorname[length(ED_SUCHEN.Text)]) OR
(ED_SUCHEN.Text = kontakte[i].Nachname[length(ED_SUCHEN.Text)]) then
begin
ff := ff + 1;
SG_KONTAKTE.Cells[0, ff] := Kontakte[i].Nachname;
SG_KONTAKTE.Cells[1, ff] := Kontakte[i].Vorname;
end
else
end;
if i=high(kontakte) then
begin
MessageDlg('Keine Übereinstimmung gefunden', mtError, [mbOK], 0);
end;
end;
[color=#ff001f] if ED_SUCHEN.Text = '' then[/color]
begin
for i:=0 to High(kontakte) do
begin
Form1.SG_KONTAKTE.Cells[0, i+1] := Kontakte[i].Nachname;
Form1.SG_KONTAKTE.Cells[1, i+1] := Kontakte[i].Vorname;
end;
Klappt soweit eigentlich. eigentlich.
Denn wenn man mehr als ein Zeichen im Edit Feld eingibt, löscht er einfach alles ^^
Bei der rot makierten IF Bedingung, sagt er mir immer "[Fehler] Unit1.pas(208): Deklaration erwartet, aber 'IF' gefunden".
Versteh aber nicht ganz warum oO