hi delphi-projekt,
erst mal eins vorweg, teile deine Probleme auf mehrere Threads auf. Pro Frage ein Thread. Bemühe dich um eine ordentliche Formatierung deines Codes. Dann bekommst du sicher schneller deine Antwort.
Zitat:
1.Frage: Wir haben keine Ahnung was (stringgrid1.Row>stringgrid1.RowCount-2) then
stringgrid1.RowCount:=stringgrid1.Rowcount+1; zu bedeuten hat
ist die aktuell selektierte Zeile größer als die vorletzte Zeile, dann erhöhe die Anzahl der Zeilen des StringGrid um ein. Auf deutsch, ist die letzte Zeile selektiert, so hänge eine neue Zeile an das StringGrid ran.
Zitat:
2.Frage: Wieso müssen wir 2 Zeiten vereinbaren? ;zeitS:String; zeitI:integer
und daraus schlussfolgernd verstehen wir nicht
zeitS:=stringgrid1.Cells[0,Index];
zeitI:=Strtointdef(zeitS,0);
ZeitS ist der String der in der Zelle steht und ZeitI der Integer. Der Timer erwartet in Interval einen Integer. Ein StringGrid speichert aber nur Strings in seinen Zellen. Also wird zuerst der String gelesen und danach dieser in einen Integer gewandelt.
Es würde aber auch so gehen:
ZeitI := StrtoIntDef(StringGrid1.Cells[0, Index], 0);
Dann spart man die Stringvariable.
Zitat:
3.Frage: Wir verstehen den euch vorliegenden Quelltext nicht, was hat dieser zu bedeuten?
Code: markieren
Inc(Index);
If Index > stringgrid1.Row
then Index := 0;
if (Timer1.Interval<1) then
Timer1.Interval:=1;
end;
Erster Teil:
Delphi-Quellcode:
Inc(Index); // Index um einen Erhöhen (nächste Zeile)
If Index > stringgrid1.Row then // wenn letzte Zeile des StringGrid erreicht
Index := 0; // dann mit Zeile 0 wieder anfangen
Zweiter Teil:
Delphi-Quellcode:
if (Timer1.Interval<1) then
Timer1.Interval:=1;
wird ein Intervall von 0 gesetzt, so soll dieser auf 1 gesetzt werden. Null Millisekunden bringt keinen Sinn. Ob eine Milisekunde was bringt ist die zweite Frage, aber wohl besser wie 0.
Nächste Frage später
Gruß oki