Einzelnen Beitrag anzeigen

delphi-projekt
(Gast)

n/a Beiträge
 
#1

Grundfragen zur Listbox und Timer

  Alt 16. Apr 2009, 18:09
Im Voraus solltet ihr wissen das wir ein elektrisches Auto über den Computer steuern wollen.
Dazu müssen wir die einzelnen Checkboxen ansprechen damit der Computer weiß in welche Richtung das Auto fahren soll. Wir wollen das das Auto in einer vorgegebenen Zeit in eine bestimmte Richtung fährt dafür benötigen wir den Timer. Die Zeit und die Richtung in die das Auto fahren soll tragen wir in eine Stringgrid ein, in welcher der Timer die Werte ausliest.

1.Frage: Wir haben keine Ahnung was (stringgrid1.Row>stringgrid1.RowCount-2) then
stringgrid1.RowCount:=stringgrid1.Rowcount+1;
zu bedeuten hat

Delphi-Quellcode:
unit Unit4;
procedure TForm4.Button1Click(Sender: TObject);
var index:integer;
begin
Form1.cbStrobe.checked:=true;
if (stringgrid1.Row>stringgrid1.RowCount-2) then
stringgrid1.RowCount:=stringgrid1.Rowcount+1;
stringgrid1.Cells[0,stringgrid1.Row]:=(Edzeit.text);
stringgrid1.Cells[1,stringgrid1.Row]:=(ComboBox1.Text);
stringgrid1.Row:=stringgrid1.Row+1;
end;


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);


Delphi-Quellcode:
procedure TForm4.Button3Click(Sender: TObject);
var i,b,p:integer;
    g:string;
    zeitS:String;
    zeitI:integer;
begin
zeitS:=stringgrid1.Cells[0,Index];
zeitI:=Strtointdef(zeitS,0);
Timer1.Interval := 1000 * zeitI;
Timer1.Enabled:=True;
g:= stringgrid1.Cells[1,Index];
if g ='Geradeaus'
then
begin
Form1.cbStrobe.checked:=false;
Form1.cbData1.checked:=false;
Form1.cbData3.checked:=true;
Form1.cbData5.checked:=true;
Form1.cbData7.checked:=true;
end;
if g= 'Rückwärts'
then
begin
Form1.cbStrobe.checked:=false;
Form1.cbData3.checked:=false;
Form1.cbData1.checked:=true;
Form1.cbData5.checked:=true;
Form1.cbData7.checked:=true;
end;
if g= 'Geraderechts'
then
begin
Form1.cbStrobe.checked:=false;
Form1.cbData5.checked:=false;
Form1.cbData1.checked:=false;
Form1.cbData3.checked:=true;
Form1.cbData7.checked:=true;
end;
if g= 'Geradelinks'
then
begin
Form1.cbStrobe.checked:=false;
Form1.cbData7.checked:=false;
Form1.cbData1.checked:=false;
Form1.cbData3.checked:=true;
Form1.cbData5.checked:=true;
end;
3.Frage: Wir verstehen den euch vorliegenden Quelltext nicht, was hat dieser zu bedeuten?
Code:
Inc(Index);
If Index > stringgrid1.Row
then Index := 0;

if (Timer1.Interval<1) then
Timer1.Interval:=1;
end;

4.Frage: Wieso müssen wir die oben geschriebene Procedur nochmal komplett in den Timer einsetzen?

Code:
procedure TForm4.Timer1Timer(Sender: TObject);
var g:string;
    i,b,p:integer;
    zeitS:String;
    zeitI:integer;
begin
Form1.cbStrobe.checked:=false;
Form1.cbData1.checked:=false;
Form1.cbData3.checked:=false;
Form1.cbData5.checked:=false;
Form1.cbData7.checked:=false;
zeitS:=stringgrid1.Cells[0,Index];
zeitI:=Strtointdef(zeitS,0);
Timer1.Interval := 1000 * zeitI;
g:= stringgrid1.Cells[1,Index];
if g ='Geradeaus'
then
begin
Form1.cbStrobe.checked:=false;
Form1.cbData1.checked:=false;
Form1.cbData3.checked:=true;
Form1.cbData5.checked:=true;
Form1.cbData7.checked:=true;
end;
if g= 'Rückwärts'
then
begin
Form1.cbStrobe.checked:=false;
Form1.cbData1.checked:=true;
Form1.cbData3.checked:=false;
Form1.cbData5.checked:=true;
Form1.cbData7.checked:=true;
end;
if g= 'Geraderechts'
then
begin
Form1.cbStrobe.checked:=false;
Form1.cbData5.checked:=false;
Form1.cbData1.checked:=false;
Form1.cbData3.checked:=true;
Form1.cbData7.checked:=true;
end;
if g= 'Geradelinks'
then
begin
Form1.cbStrobe.checked:=false;
Form1.cbData7.checked:=false;
Form1.cbData1.checked:=false;
Form1.cbData3.checked:=true;
Form1.cbData5.checked:=true;
end;
Inc(Index);
If Index > stringgrid1.Row
then
begin
timer1.Enabled:=false;
Index := 0;
Form1.cbStrobe.checked:=True;
Form1.cbData1.checked:=false;
Form1.cbData3.checked:=false;
Form1.cbData5.checked:=false;
Form1.cbData7.checked:=false;
if (Timer1.Interval<1) then
Timer1.Interval:=1;end;
end;
Danke
  Mit Zitat antworten Zitat