Einzelnen Beitrag anzeigen

pwcca

Registriert seit: 23. Jun 2010
6 Beiträge
 
Delphi 2010 Professional
 
#5

AW: listbox mit stringgrid vergleichen

  Alt 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
  Mit Zitat antworten Zitat