Registriert seit: 23. Jun 2010
6 Beiträge
Delphi 2010 Professional
|
AW: listbox mit stringgrid vergleichen
12. Jul 2010, 02:30
ich glaub ihr habt mich falsch verstanden
ich moechte durch eine liste gehen die ich in einer listbox geladen habe
ist die zelle identisch mit dem listbox eintrag soll mir mein programm diese zeile in ein anderes stringgrid kopieren und dann das stringgrid weiter absuchen ob er noch eine zelle
findet mit demselben wort usw, bis er am stringgridende ankommt, dann einen eintrag bei der listbox weiter und das ganze wider von vorn
wenn ich dass jetzt mit ListBox1.Items.IndexOf mache kopiert er mir zeile fuer zeile aber nicht die identischen
Code:
if ListBox1.Items.IndexOf(StringGrid1.Cells[7,row2]) = - 1 then
begin
for row2 := 6 to StringGrid1.RowCount - 1 do
begin
StringGrid2.Cells[0,row3]:=copy(stringGrid1.Cells[0,row2], 0,300);
StringGrid2.Cells[1,row3]:=copy(stringGrid1.Cells[1,row2], 0,300);
StringGrid2.Cells[3,row3]:=copy(stringGrid1.Cells[3,row2], 0,300);
StringGrid2.Cells[6,row3]:=copy(stringGrid1.Cells[6,row2], 0,300);
StringGrid2.Cells[7,row3]:=copy(stringGrid1.Cells[7,row2], 0,300);
StringGrid2.Cells[9,row3]:=copy(stringGrid1.Cells[9,row2], 0,300);
row3:=row3+1;
end;
row3:=1;
for cols := 0 to StringGrid2.ColCount - 1 do
StringGrid2.Cols[cols].Clear;
end;
habe es mit
Code:
if ListBox1.Items.IndexOf(StringGrid1.Cells[7,row2]) = 1 then
probiert
dann macht er gar nichts
hier nochmal der alte code mit dem fehler
Code:
for b := 0 to ListBox1.Items.Count - 1 do
row2:=0;
begin
REPEAT
StringGrid2.Cells[0,0]:='Datum';
StringGrid2.Cells[1,0]:='Zeit';
StringGrid2.Cells[2,0]:='Säule';
StringGrid2.Cells[3,0]:='Registrierungsnummer';
StringGrid2.Cells[6,0]:='Km-stand';
StringGrid2.Cells[7,0]:='Anwender';
StringGrid2.Cells[9,0]:='Menge';
if StringGrid1.Cells[7,row2]=ListBox1.Items[b] then //in dieser zeile gibt er den fehler aus
begin
StringGrid2.Cells[0,row3]:=copy(stringGrid1.Cells[0,row2], 0,300);
StringGrid2.Cells[1,row3]:=copy(stringGrid1.Cells[1,row2], 0,300);
StringGrid2.Cells[3,row3]:=copy(stringGrid1.Cells[3,row2], 0,300);
StringGrid2.Cells[6,row3]:=copy(stringGrid1.Cells[6,row2], 0,300);
StringGrid2.Cells[7,row3]:=copy(stringGrid1.Cells[7,row2], 0,300);
StringGrid2.Cells[9,row3]:=copy(stringGrid1.Cells[9,row2], 0,300);
row3:=row3+1;
end;
row2:=row2+1;
row3:=1;
for cols := 0 to StringGrid2.ColCount - 1 do
StringGrid2.Cols[cols].Clear;
UNTIL (row2=StringGrid1.RowCount-1);
end;
hoffe ihr koennt mir helfen
|