Also nachdem ich mir das gar nicht vorstellen konnte, hab ich das jetzt glatt mal ausprobiert. Und tata, es tut genauso, wie (ich verstanden habe, daß) es soll.
Delphi-Quellcode:
if Edit2.Text = 'TAB' then
vTrennzAus := chr(vk_tab)
else
vTrennzAus := Edit2.Text;
for i := 0 To ListBox1.Items.Count - 1 Do
for x := 1 To StringGrid1.ColCount - 1 Do
If ListBox1.Items[i] = StringGrid1.Cells[x,1] Then
begin
vZeile := '';
for y := 1 To StringGrid1.RowCount - 1 Do
begin
vZeile := vZeile + StringGrid1.Cells[x,y] + vTrennzAus;
end;
memo1.Lines.Add(vZeile);
end;
Dadurch werden mir die Spalten, deren Überschriften in der ListBox stehen, ins Memo eingefügt... Und genau das wolltest du ja. Oder hab ich das jetzt doch wieder falsch verstanden? Also "nichts" passiert da auf jeden Fall nicht.
//Edit:
Ach, jetzt wird mir klar, was das Problem ist. Du hast dein StringGrid ja komplett umgestellt. Für Spaltenüberschriften gibts ja im Normalfall die FixedColumns. Damit (oder zumindest mit der ersten Reihe) haben wir gerechnet. Da du aber praktischerweise die erste Spalte und Zeile leergelassen hast, mußt du logischerweise die x- und y-Wert noch um 1 erhöhen. Ich hab das jetzt schonmal im Quellcode oben angepasst. So sollte es auch bei deinem StringGrid funktionieren... Jupp, tut!
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;