Wie gesagt kann ich noch nciht mit Datenbanken umgehen
habe das Problem jetzt aber soweit gelöst das er bei 1200 Clienten nur ne Sekunde Braucht so wie Oben beschrieben
habe in die Listbox die Clientnachname eingetragen und dann die Personalnummer (Bsp. Mustermann | 1829).
dann lese ich pro Zeile mit rightstr die Personalnummer aus(die immer aus 4 zahlen besteht) und suche für diesen listboxeintrag die anderen Daten raus.
Sowie werden durch die Nachnamen und der listboxeigenschaft die Namen gleich sortiert
ich habe auch vorher die listbox durchzählen lassen um das Stringgrid komplett zu zeichnen...
Delphi-Quellcode:
procedure TFtab.Button2Click(Sender: TObject);
var i,i2,sg,c:integer;
ini:Tinifile;
filename,s:string;
begin
sg:=0;
filename:=ExtractFilePath(Application.ExeName)+'Clients.csd';
ini := TIniFile.Create(filename);
c:=1;
for i:=0 to listbox2.Items.Count-1 do
begin
sg:=sg+1;
end;
Stringgrid1.RowCount:=sg;
for i2:=0 to Listbox2.Items.Count-1 do
begin
s:=listbox2.Items.Strings[i2];
s:=rightstr(s,4);
stringgrid1.Cells[1,c]:= ini.ReadString(s,'Nachname','');
stringgrid1.Cells[2,c]:= ini.ReadString(s,'Name','');
stringgrid1.Cells[3,c]:= ini.ReadString(s,'Kostenstelle','');
stringgrid1.Cells[4,c]:= ini.ReadString(s,'Punkte','');
stringgrid1.Cells[5,c]:=s;
c:=c+1;
end;
end;