Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi StringGrid Problem (löschen und auslesen) (https://www.delphipraxis.net/61657-stringgrid-problem-loeschen-und-auslesen.html)

Barret 24. Jan 2006 16:34


StringGrid Problem (löschen und auslesen)
 
Delphi-Quellcode:
 while StringGrid.RowCount > 1 do
        begin
          iAuslagerung := Random(StringGrid.RowCount);

          if (StringGrid.Cells[1, iAuslagerung] = 'man 1') then
            if (StringGrid.Cells[0, iAuslagerung] = 'chance') then
              for i := Image.Left downto 100 do
                begin
                  Image.Left := i;
                  Sleep(50);
                end
            else
              for i := Image.Left downto 50 do
                begin
                  Image.Left := i;
                  Sleep(50);
                end;

          if not (iAuslagerung = StringGrid.RowCount) then
            for i := iAuslagerung to StringGrid.RowCount - 1 do
              StringGrid.Rows[i] := StringGrid.Rows[i + 1]; //alle Einträge eine Zeile hochzihen
          StringGrid.RowCount := StringGrid.RowCount - 1;

          Image.Left := ((Image2.Width div 2) + Image2.Left) - (Image.Width div 2);
        end;
Bei dem Quelltext hab ich das Problem, dass ich zu keinem Ergebnis komme (Das Programm stürtzt ab!!!).
Er soll die Felder des Grids auslesen und dann je nach dem die Anweisung durchführen. Danach dann die Inhalte des Grids verschieben und die Länge um eins subtrahieren. Er soll aufhören, wenn alle Einträge abgearbeitet sind.

Ich seh keinen Fehler und bin über Hilfe verbunden.
mfg

echitna 17. Feb 2006 11:35

Re: StringGrid Problem (löschen und auslesen)
 
Versuch mal bei der for-schleife
for i := iAuslagerung to StringGrid.RowCount - 2 do

ibp 17. Feb 2006 11:58

Re: StringGrid Problem (löschen und auslesen)
 
btw ein kleiner tipp, merke dir die zeilen, die du abgearbeitet hast und lösche das grid am ende auf einmal, ist jedenfalls der bessere weg!


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz