Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   StringGrid ID erstellen (https://www.delphipraxis.net/184507-stringgrid-id-erstellen.html)

strom 31. Mär 2015 19:35

StringGrid ID erstellen
 
hallo,

möchte im Grid automatisch eine id erstellen!
leider wird immer nur eine 1 gesetzt! :-(

Delphi-Quellcode:
var
i, zaehler : integer;
begin
 StringGrid1.RowCount := StringGrid1.RowCount + 1;
    for i := StringGrid1.RowCount - 0 downto StringGrid1.FixedRows + 1 do
    begin
     StringGrid1.Rows [i].Assign (StringGrid1.Rows [i - 1]);
     StringGrid1.Rows [StringGrid1.FixedRows].Clear;
     StringGrid1.Cells [1, StringGrid1.FixedRows] := IntToStr(Zaehler +1); // diese Zeile meine ich!
     StringGrid1.Cells [2, StringGrid1.FixedRows] := FormatDateTime ('dd:mm:yyyy', Now);
     StringGrid1.Cells [3, StringGrid1.FixedRows] := FormatDateTime ('hh:nn:ss', Now);
     StringGrid1.Cells [4, StringGrid1.FixedRows] := ('Log * '+ Edit6.Text +' * User ID * '+ Edit3.Text);
 end;
end;

Sir Rufo 31. Mär 2015 19:39

AW: StringGrid ID erstellen
 
Na da hast du aber Glück, dass dabei tatsächlich überhaupt eine 1 herauskommt. Eine lokale Variable ist nicht initialisiert, da kann alles mgliche drin stehen.

Dann schreibst du den neuen Wert auch gar nicht in die Variable zurück, wie soll da also was hochgezählt werden.

Und eine lokale Variable hat beim nächsten Aufruf auch wieder irgend einen beliebigen Wert (s.o.)

Dejan Vu 31. Mär 2015 19:40

AW: StringGrid ID erstellen
 
... und ein begin/end fehlt noch.

strom 31. Mär 2015 20:20

AW: StringGrid ID erstellen
 
Habt Ihr auch ein Beispiel?

Perlsau 31. Mär 2015 20:37

AW: StringGrid ID erstellen
 
Ein Beispiel wofür?

Luckie 31. Mär 2015 20:39

AW: StringGrid ID erstellen
 
Beispiel wozu? Den Zähler zu einem Feld der Klasse machen und den neuen Wert im Zähler merken.

DeddyH 31. Mär 2015 20:40

AW: StringGrid ID erstellen
 
Zitat:

Delphi-Quellcode:
for i := StringGrid1.RowCount - 0 downto StringGrid1.FixedRows + 1 do

Diese Schleife solltest Du vielleicht mal erläutern. Und was soll die besagte ID sein, einfach eine Zeilennummerierung?

himitsu 31. Mär 2015 20:43

AW: StringGrid ID erstellen
 
Beispiel?

Ja, sehe Post #2.

Dort steht genau drin, war du anders machen mußt.
* Zählvariable nicht lokal deklarieren
* Zählvariable nicht vergessen hochzuzählen (+1 oder Inc)
* Variable eventuel am Anfang nicht vergessen zu initialisieren (Programmstart)

Und gefälligst die Warnmeldungen und Hinweise des Compilers lesen und vorallem diese Probleme auch beheben.

[edit] ich sollte mal F5 benutzen und jemand sollte die RedBox wecken. :stupid:

strom 31. Mär 2015 20:43

AW: StringGrid ID erstellen
 
genau,

suche eine einfache Zeilennummerierung im StringGrid ...

himitsu 31. Mär 2015 20:48

AW: StringGrid ID erstellen
 
Also einfach "Zaehler" vergessen und direkt
Delphi-Quellcode:
i + irgendeinOffset
benutzen? :roll:


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:34 Uhr.
Seite 1 von 2  1 2      

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