Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Aus stringgrid die daten nutzen (https://www.delphipraxis.net/130970-aus-stringgrid-die-daten-nutzen.html)

delphi-projekt 16. Mär 2009 22:43


Aus stringgrid die daten nutzen
 
Hallo habe folgendes Problem ich möchte aus dem stringgrid die zeiten nutzen und sie in einem timer aktiv machen also ich gebe in die stringgrid zb die zeiten 5,3,4,9,6s ein dann soll zuerst die zeit 5s aktiviert werden und bestimmte checkboxen in der zeit sollen angesprochen werden. Dann soll er automatisch in die nächste celle rücken wo die zeit 3 steht und in dieser zeit sollen wieder bestimmte checkboxen checked sein usw.

bei dem quelltext klappt das prinzipiell schon aber er geht nicht von einer celle in die nächste er nimmt immer die zuletzt eingetragene.

könnt ihr mir sagen wie ich den quelltext ändern muss damit es klappt

Danke delphi-projekt


Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var i,b:integer; g:string;
begin
Timer6.Interval := 1000 * strtoint(edzeit.text);
g:= stringgrid1.Cells[1,stringgrid1.Row];
g:=(ComboBox1.Text);
Timer6.Enabled:=True;
if g ='Geradeaus'
then
begin
cbStrobe.checked:=false;
cbData1.checked:=false;
cbData3.checked:=true;
cbData5.checked:=true;
cbData7.checked:=true;
end;
if g= 'Rückwärts'
then
begin
cbStrobe.checked:=false;
cbData3.checked:=false;
cbData1.checked:=true;
cbData5.checked:=true;
cbData7.checked:=true;
end;
if g= 'Geraderechts'
then
begin
cbStrobe.checked:=false;
cbData5.checked:=false;
cbData1.checked:=false;
cbData3.checked:=true;
cbData7.checked:=true;
end;
if g= 'Geradelinks'
then
begin
cbStrobe.checked:=false;
cbData7.checked:=false;
cbData1.checked:=false;
cbData3.checked:=true;
cbData5.checked:=true;
end;
end;

end.

nahpets 17. Mär 2009 08:28

Re: Aus stringgrid die daten nutzen
 
Hallo,

mit
Delphi-Quellcode:
g:= stringgrid1.Cells[1,stringgrid1.Row];
sprichst Du immer eine bestimmte Zelle an, das wird sich so auch nie ändern. Wenn Du die Zeilen wechseln willst, musst Du mit einem Index auf die Zeilen zugreifen. Du musst Dir also irgendwo merken, welchen Wert Du zuletzt benutzt hast und dann diesen Index erhöhen für die nächste Benutzung.
Delphi-Quellcode:
Inc(Index);
If Index > stringgrid1.Row then Index := 0;
g:= stringgrid1.Cells[1,Index];

delphi-projekt 17. Mär 2009 09:56

Re: Aus stringgrid die daten nutzen
 
Danke erstmal für die Antwort, ich habe den Quelltext jetzt so geändert es passiert jetzt aber
gar nichts Muss ich nochwas beachten?
weil derzeit zählt der gar nicht.
gruß delphi-projekt

hier nochmal die änderung

Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var i,b:integer; g:string; index:integer;
begin
Timer6.Interval := 1000 * strtoint(edzeit.text);
Timer6.Enabled:=True;
Inc(Index);
If Index > stringgrid1.Row
then Index := 0;
g:= stringgrid1.Cells[1,Index];
if g ='Geradeaus'
then
begin
cbStrobe.checked:=false;
cbData1.checked:=false;
cbData3.checked:=true;
cbData5.checked:=true;
cbData7.checked:=true;
end;

Keldorn 17. Mär 2009 10:02

Re: Aus stringgrid die daten nutzen
 
du hast index lokal in der buttonklick deklariert.
Bei jedem aufrufen der Buttonclick ist index dann wieder 0

Warum rückst du deinen Code nicht ein? liest sich absolut schrecklich. Auch würde ich es für sinnvoll halten, wenn du deinen Komponenten nicht bloß Namen wie cbData1 gibst.

Gruß Frank

delphi-projekt 17. Mär 2009 14:12

Re: Aus stringgrid die daten nutzen
 
Sorry ich bin noch delphi anfänger ich hab gerade keine ahnung was du damit meinst wenn ich den code einrücken soll

meinst du das so

Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var i,b:integer; g:string; var index:integer;
begin
Timer6.Interval := 1000 * strtoint(edzeit.text);
Timer6.Enabled:=True;
if g ='Geradeaus'
then
begin
Inc(Index);
If Index > stringgrid1.Row
then Index := 0;
g:= stringgrid1.Cells[1,Index];
cbStrobe.checked:=false;
cbData1.checked:=false;
cbData3.checked:=true;
cbData5.checked:=true;
cbData7.checked:=true;
end;

busybyte 17. Mär 2009 14:19

Re: Aus stringgrid die daten nutzen
 
var index:integer;

procedure TForm1.Button3Click(Sender: TObject);
var i,b:integer; g:string; //var index:integer; //hier wird index wieder 0 bzw. nicht 0 sondern undefiniert
begin
Timer6.Interval := 1000 * strtoint(edzeit.text);
Timer6.Enabled:=True;
if g ='Geradeaus'
then
begin
Inc(Index);
If Index > stringgrid1.Row
then Index := 0;
g:= stringgrid1.Cells[1,Index];
cbStrobe.checked:=false;
cbData1.checked:=false;
cbData3.checked:=true;
cbData5.checked:=true;
cbData7.checked:=true;
end;

delphi-projekt 17. Mär 2009 14:23

Re: Aus stringgrid die daten nutzen
 
Danke,
also ich habe es genauso gemacht aber der tut nicht die checkboxen checked machen
da passiert gar nichts.

muss ich nun noch was beachten?

Gruß delphi-projekt

Keldorn 17. Mär 2009 14:27

Re: Aus stringgrid die daten nutzen
 
nee, unter Einrückung verstehe ich

Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var i,b:integer;
    g:string;
    index:integer;
begin
  Timer6.Interval := 1000 * strtoint(edzeit.text);
  Timer6.Enabled:=True;
  if g ='Geradeaus' then
    begin
      Inc(Index);
      If Index > stringgrid1.Row then Index := 0;

      g:= stringgrid1.Cells[1,Index];
      cbStrobe.checked:=false;
      cbData1.checked:=false;
      cbData3.checked:=true;
      cbData5.checked:=true;
      cbData7.checked:=true;
    end;
end;
halt alles, was zusammengehört, einrücken, saß man das sofort erkennt (z.B. Anweisungsblöcke der if-Anweisung). dein erster quelltext ist gruselig, weil nicht ersichtlich ist, welches end zu welchem begin gehört.

Quelltext ist nur eingerückt von deinem Code. scheint mir jetzt auch sinnfrei zu sein, da du
Zitat:

if g ='Geradeaus' then
stehen hast, ohne das g irgendwas zu gewiesen wird

Wenn du das mit dem index so durchziehen möchtest, mußt Du ihn als globale Variable deklarieren (ist aber nicht optimal, du kannst mal nach globalen Variablen im Forum suchen ;-) ) oder z.B. im private-Abschnitt der Form. Aus dem Var-Teil der Buttonclick muß es raus. Bei jedem click ist index wieder 0.

Ansonsten weiß ich nicht wirklich, was genau Du tun willst (habe mir aber auch die anderen threads von Dir nicht ganz durchgelesen). Evtl ist es besser, du hängst mal das gnaze projekt dran, damit man sieht, was du eigentlich machen willst.

busybyte 17. Mär 2009 14:30

Re: Aus stringgrid die daten nutzen
 
Doch hat er aber erst nachdem er die if abfrage stellt,dann geht's latürnich nicht
Delphi-Quellcode:
var index:integer;

procedure TForm1.Button3Click(Sender: TObject);
var i,b:integer; g:string; //var index:integer; //hier wird index wieder 0 bzw. nicht 0 sondern undefiniert
begin
Timer6.Interval := 1000 * strtoint(edzeit.text);
Timer6.Enabled:=True;

g:= stringgrid1.Cells[1,Index];

if g ='Geradeaus'
then
begin
cbStrobe.checked:=false;
cbData1.checked:=false;
cbData3.checked:=true;
cbData5.checked:=true;
cbData7.checked:=true;
end;
Inc(Index);
If Index > stringgrid1.Row
then Index := 0;
lol 3mal editiert

delphi-projekt 17. Mär 2009 14:42

Re: Aus stringgrid die daten nutzen
 
Vielen vielen dank es klappt jetzt zumindest das er immer weiter zählt,

nun ist das problem mit der zeit ich möchte die zeit aus der stringgrid nehmen.
also in der ersten celle steht 5s dann soll für 5s eine bestimmte checkbox checked sein
in der 2 celle steht 3s und nach den 5s soll er mit den 3s weiterarbeiten.
ich weiß nicht wie ich das vereinbaren muss.


bei dem quelltext nimmt er immer die letzte zahl wie muss ich das denn ändern?


Delphi-Quellcode:
Timer6.Interval := 1000 * strtoint(edzeit.text);

delphi-projekt 17. Mär 2009 14:48

Re: Aus stringgrid die daten nutzen
 
entschuldigt wenn ich so viele fragen stelle

aber ist es möglich,dass wenn ich auf den button3 click das er eine celle nach der anderen
abarbeitet und die gewünschten checkboxen in der zugewiesenen zeit checked. (mit einem click auf den button)

gruß delphi-projekt

busybyte 17. Mär 2009 14:54

Re: Aus stringgrid die daten nutzen
 
Delphi-Quellcode:
var index:integer;

procedure TForm1.Button3Click(Sender: TObject);
var i,b,p_:integer; g:string; //var index:integer; //hier wird index wieder 0 bzw. nicht 0 sondern undefiniert
zeitS:String;
zeitI:integer;
begin

//ich hab hier mal die Nummer 0 genommen
zeitS:=stringgrid1.Cells[0,Index];              

//wenn du wirklich 5s schreibst dann das s entfernen
p_:=pos('s',ansilowercase(zeits));
delete(zeitS,p_,1);

zeitI:=Strtointdef(zeitS,-1); //-1 wenn Fehler

edzeit.text:=zeitS;


Timer6.Interval := 1000 * zeitI; //strtoint(edzeit.text);
Timer6.Enabled:=True;

g:= stringgrid1.Cells[1,Index];

if g ='Geradeaus'
then
begin
cbStrobe.checked:=false;
cbData1.checked:=false;
cbData3.checked:=true;
cbData5.checked:=true;
cbData7.checked:=true;
end;
Inc(Index);
//If Index > stringgrid1.Row                  //<--- 
If Index > stringgrid1.Rowcount -1               
then Index := 0;
Wobei die Standardtimer sehr ungenau, bei hoher Systemauslatung werden, aber das ist ein anderes Problem.

delphi-projekt 17. Mär 2009 15:15

Re: Aus stringgrid die daten nutzen
 
ok also es sieht jetzt wie folgt aus

ich habe eine stringgrid erstellt diese hat 2 spalten für zeit und richtung

Delphi-Quellcode:
stringgrid1.cells[0,0]:='Zeit';
stringgrid1.cells[1,0]:='Richtung'
so dann habe ich ein edit feld in welches ich die zeit eingebe und eine combobox wo ich die
richtungen auswählen kann

ich gebe ein 5(edit) Geradeaus(combobox)
3(edit) Rückwärts(combobox)

diese werte stehen dann in der stringgrid und durch den button3 soll nun bewirkt werden das er
in die erste celle springt sieht aha 5s lang geradeaus in der zeit sollen bestimmte checkboxen checked sein nach den 5s soll er in die nächste zelle springen dort sieht er 3s rückwärts und für diese 3s sollen dann wieder bestimmte checkboxen checked sein.

Also das mit der zeit hab ich jetzt so eingegeben

Delphi-Quellcode:
zeitS:=stringgrid1.Cells[0,Index];
zeitI:=Strtointdef(zeitS,0);
edzeit.text:=zeitS;
Timer6.Interval := 1000 * zeitI;
weil ich die "s" nicht mit eingebe aber das klappt irgendwie immer noch nicht ich tu mal meinen
gesamten quelltext ran vielleicht findet ihr den Fehler. Aber schonmal vielen dank für die vielen infos.

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
stringgrid1.Cells[0,stringgrid1.Row]:=(Edzeit.text);
stringgrid1.Cells[1,stringgrid1.Row]:=(ComboBox1.Text);
stringgrid1.Row:=stringgrid1.Row+1;
anztimer:=stringgrid1.row;
end;


procedure TForm1.Button3Click(Sender: TObject);
var i,b,p:integer;
    g:string;
    zeitS:String;
    zeitI:integer;
begin
zeitS:=stringgrid1.Cells[0,Index];
zeitI:=Strtointdef(zeitS,0);
edzeit.text:=zeitS;
Timer6.Interval := 1000 * zeitI;
Timer6.Enabled:=True;
g:= stringgrid1.Cells[1,Index];
if g ='Geradeaus'
then
begin
cbStrobe.checked:=false;
cbData1.checked:=false;
cbData3.checked:=true;
cbData5.checked:=true;
cbData7.checked:=true;
end;
if g= 'Rückwärts'
then
begin
cbStrobe.checked:=false;
cbData3.checked:=false;
cbData1.checked:=true;
cbData5.checked:=true;
cbData7.checked:=true;
end;
if g= 'Geraderechts'
then
begin
cbStrobe.checked:=false;
cbData5.checked:=false;
cbData1.checked:=false;
cbData3.checked:=true;
cbData7.checked:=true;
end;
if g= 'Geradelinks'
then
begin
cbStrobe.checked:=false;
cbData7.checked:=false;
cbData1.checked:=false;
cbData3.checked:=true;
cbData5.checked:=true;
end;
Inc(Index);
If Index > stringgrid1.Row
then Index := 0;
end;
end.

busybyte 17. Mär 2009 15:29

Re: Aus stringgrid die daten nutzen
 
ja du arbeitest mit row ,row ist falsch
nur mit cells und rowcount arbeiten



Delphi-Quellcode:
var index:integer;

procedure TForm1.Button1Click(Sender: TObject);
var i,b,p_:integer; g:string; //var index:integer; //hier wird index wieder 0 bzw. nicht 0 sondern undefiniert
zeitS:String;
zeitI:integer;
begin
//cbData7.Checked:=True;


//ich hab hier mal die Nummer 0 genommen
zeitS:=stringgrid1.Cells[0,Index];              //<-EDIT

//wenn du wirklich 5s schreibst dann das s entfernen
p_:=pos('s',ansilowercase(zeits));
delete(zeitS,p_,1);

zeitI:=Strtointdef(zeitS,-1); //-1 wenn Fehler

edzeit.text:=zeitS;


Timer1.Interval := 1000 * zeitI; //strtoint(edzeit.text);
Timer1.Enabled:=True;

g:= stringgrid1.Cells[1,Index];

//if g ='Geradeaus'
//then
begin
//cbStrobe.checked:=false;
//cbData1.checked:=false;
//cbData3.checked:=true;
//cbData5.checked:=true;
cbData7.checked:=true;
end;
Inc(Index);
If Index > stringgrid1.Colcount
then Index := 0;
end;



procedure TForm1.FormCreate(Sender: TObject);
var
  cnt1: Integer;
begin
Stringgrid1.FixedCols:=0;
for cnt1 := 0 to Stringgrid1.RowCount - 1 do
Stringgrid1.Cells[0,cnt1]:=inttostr(cnt1);
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
cbData7.Checked:=False;
Timer1.Enabled:=False;

end;

Und ein Post weiter oben editiere ich noch den Fehler

delphi-projekt 17. Mär 2009 15:45

Re: Aus stringgrid die daten nutzen
 
Ich habe den quelltext jetzt soweit übernommen aber sobald ich starte stehen die zahlen 1,2,3,4,5... in meiner stringgrid drin die soll ich doch aber eingeben oder habe ich was falsch in den quelltext übernommen?

busybyte 17. Mär 2009 15:51

Re: Aus stringgrid die daten nutzen
 
Das war nur zum Testen ob das Lesen und Umschalten per Timer funktioniert.

Ah so, und mit Row bestimmst du die Zeile die den Auswahlfocus erhält.
Das war vieleicht auch so gewünscht,aber dann hätte Row dem index angepasst werden müssen.

delphi-projekt 17. Mär 2009 16:06

Re: Aus stringgrid die daten nutzen
 
Und wie tu ich das nun auf mein programm beziehen. Die zeit will ich ja eingeben und die richtung auch und danach soll er celle für celle abarbeiten .

der quelltext sieht nun wie folgt aus also was muss ich nun noch umschreiben das die zeiten nicht von anfangan da sind sondern das ich die eingebe und der rechner das alles automatisch macht.
so wie vorherige seite beschrieben wie das pojekt aussieht.

vielen dank nochmal

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
b:byte;
Phase:integer;
Zeit:integer;
var
cnt1: Integer;
begin
Stringgrid1.FixedCols:=0;
for cnt1 := 0 to Stringgrid1.RowCount - 1 do
Stringgrid1.Cells[0,cnt1]:=inttostr(cnt1);
stringgrid1.cells[0,0]:='Zeit';
stringgrid1.cells[1,0]:='Richtung'
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var i,b,p:integer;
    g:string;
    zeitS:String;
    zeitI:integer;
begin
cbData7.Checked:=True;
zeitI:=Strtointdef(zeitS,-1);
edzeit.text:=zeitS;

Timer6.Interval := 1000 * zeitI;
Timer6.Enabled:=True;
g:= stringgrid1.Cells[1,Index];
if g ='Geradeaus'
then
begin
cbStrobe.checked:=false;
cbData1.checked:=false;
cbData3.checked:=true;
cbData5.checked:=true;
cbData7.checked:=true;
end;
if g= 'Rückwärts'
then
begin
cbStrobe.checked:=false;
cbData3.checked:=false;
cbData1.checked:=true;
cbData5.checked:=true;
cbData7.checked:=true;
end;
Inc(Index);
If Index > stringgrid1.colcount
then Index := 0;
end;
procedure TForm1.Timer6Timer(Sender: TObject);
begin
cbData7.Checked:=False;
Timer6.Enabled:=False;
end;

end.

busybyte 17. Mär 2009 16:45

Re: Aus stringgrid die daten nutzen
 
Ich geb's auf :roll:

delphi-projekt 17. Mär 2009 16:48

Re: Aus stringgrid die daten nutzen
 
nein bitte nicht ich bin wirklich blutiger anfänger und das ist mein erstes etwas größeres projekt

erklärs mir doch bitte nochmal
was du meinst ich hab schon so viel versucht aber es klappt halt noch nicht also mach ich noch
irgendetwas falsch aber was

busybyte 17. Mär 2009 16:51

Re: Aus stringgrid die daten nutzen
 
Das füllt Deine Zellen automatisch also musst Du das löschen
Delphi-Quellcode:
for cnt1 := 0 to Stringgrid1.RowCount - 1 do
Stringgrid1.Cells[0,cnt1]:=inttostr(cnt1);


und das vermutlich auch weil Dir das anzeigt was aus dem Stringgrid gelesen wurde bzw. in der Variablen:ZeitS steht.
Delphi-Quellcode:
edzeit.text:=zeitS;
in Deinem Fall bleibt aber ZeitS leer weil Du
das nicht übernommen hast.
Delphi-Quellcode:
zeitS:=stringgrid1.Cells[0,Index];

delphi-projekt 17. Mär 2009 17:00

Re: Aus stringgrid die daten nutzen
 
ok also ich habe das jetzt so gemacht wie du gesagt hast aber das programm bleibt jetzt
immer hängen und es klappt halt nicht so wie ich das beschrieben habe

schau dir doch nochmal meinen quelltext an(siehe unten)


muss ich jetzt nochwas in formcreate oder in die timer procedure schreiben?

und nochmal vielen dank das du so viel nerven mit mir hast

delphi-projekt 17. Mär 2009 17:03

Re: Aus stringgrid die daten nutzen
 
so sieht jetzt mein quelltext aus dort muss aber nochwas falsch sein denn es läuft nicht
muss ich nochwas mit dem timer machen

danke

Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var i,b,p:integer;
    g:string;
    zeitS:String;
    zeitI:integer;
begin
zeitS:=stringgrid1.Cells[0,Index];
zeitI:=Strtointdef(zeitS,-1);
Timer6.Interval := 1000 * zeitI;
Timer6.Enabled:=True;
g:= stringgrid1.Cells[1,Index];
if g ='Geradeaus'
then
begin
cbStrobe.checked:=false;
cbData1.checked:=false;
cbData3.checked:=true;
cbData5.checked:=true;
cbData7.checked:=true;
end;
Inc(Index);
If Index > stringgrid1.colcount
then Index := 0;

busybyte 17. Mär 2009 17:08

Re: Aus stringgrid die daten nutzen
 
warte 10 Min.

delphi-projekt 17. Mär 2009 17:23

Re: Aus stringgrid die daten nutzen
 
sorry mein internet hat gerade abgekackt

busybyte 17. Mär 2009 17:37

Re: Aus stringgrid die daten nutzen
 
Delphi-Quellcode:
Var anztimer,index:integer;

procedure TForm1.Button2Click(Sender: TObject);
begin
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;

anztimer:=stringgrid1.row;
end;


procedure TForm1.Button3Click(Sender: TObject);
begin
Timer6.Enabled:=Not Timer6.Enabled;
end;


procedure TForm1.Button4Click(Sender: TObject);
Var cnt1:integer;
begin
for cnt1:=0 to Stringgrid1.RowCount-1 do
Stringgrid1.Rows[cnt1].Clear;
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
stringgrid1.FixedCols:=0;
with combobox1 do
 begin
 Clear;
 items.Add('Geradeaus');
 items.Add('Rückwärts');
 items.Add('Geraderechts');
 items.Add('Geradelinks');
 itemindex:=0;
 end;
 edZeit.Text:='1';
Timer6.Enabled:=False;
end;

Procedure Machwas;
var i,b,p:integer;
    g:string;
    zeitS:String;
    zeitI:integer;
begin with Form1 do
begin

zeitS:=stringgrid1.Cells[0,Index];
zeitI:=Strtointdef(zeitS,0);
Timer6.Interval := 1000 * zeitI;

g:= stringgrid1.Cells[1,Index];
if g ='Geradeaus'
then
begin
cbStrobe.checked:=false;
cbData1.checked:=false;
cbData3.checked:=true;
cbData5.checked:=true;
cbData7.checked:=true;
end;
if g= 'Rückwärts'
then
begin
cbStrobe.checked:=false;
cbData1.checked:=true;
cbData3.checked:=false;
cbData5.checked:=true;
cbData7.checked:=true;
end;
if g= 'Geraderechts'
then
begin
cbStrobe.checked:=false;
cbData1.checked:=false;
cbData3.checked:=true;
cbData5.checked:=false;
cbData7.checked:=true;
end;
if g= 'Geradelinks'
then
begin
cbStrobe.checked:=false;
cbData1.checked:=false;
cbData3.checked:=true;
cbData5.checked:=true;
cbData7.checked:=false;
end;

Inc(Index);
If Index > stringgrid1.Row
then Index := 0;

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


procedure TForm1.Timer6Timer(Sender: TObject);
begin
cbStrobe.checked:=false;
cbData1.checked:=false;
cbData3.checked:=false;
cbData5.checked:=false;
cbData7.checked:=false;

Machwas;

end;

end.
wurde doch etwas länger..jetzt bin ich mal gespannt...

delphi-projekt 17. Mär 2009 18:00

Re: Aus stringgrid die daten nutzen
 
dankeschön für den ausführlichen quelltext

ich habe viel verstanden aber etwas versteh ich noch nicht


Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
begin
Timer6.Enabled:=Not Timer6.Enabled;
end;

procedure TForm1.Button4Click(Sender: TObject);
Var cnt1:integer;
begin
for cnt1:=0 to Stringgrid1.RowCount-1 do
Stringgrid1.Rows[cnt1].Clear;
end;
ich habe einen button womit ich die werte in die stringgrid einfüge ist einer dieser zwei button dafür zuständig?
der button welcher die werte in die stringgrid einfügt den hab ich folgenden quelltext unterzogen

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
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;

anztimer:=stringgrid1.row;
und jetzt weiß ich nicht was ich mit den zwei anderen buttons machen soll

und was ich auch noch nicht versteh ist

Delphi-Quellcode:
procedure TForm1.Timer6Timer(Sender: TObject);
begin
cbStrobe.checked:=false;
cbData1.checked:=false;
cbData3.checked:=false;
cbData5.checked:=false;
cbData7.checked:=false;

[b]Machwas[/b];
soll ich bei machwas die gesamte procedure nocheinmal reinschreiben

delphi-projekt 17. Mär 2009 18:09

Re: Aus stringgrid die daten nutzen
 
nochmals danke

ein problem ist noch aufgetreten also ich drücke den button und für die erste eingetragene zeit sind auch die gewünschten checkboxen checked aber dann rückt er nicht automatisch in die nächste celle
ich muss erst nochmal den button drücken und dann fängt er mit der zweiten zeit an

wie kann ich das problem lösen

busybyte 17. Mär 2009 18:33

Re: Aus stringgrid die daten nutzen
 
Delphi-Quellcode:
Stringgrid1.Row:=index;

delphi-projekt 17. Mär 2009 20:19

Re: Aus stringgrid die daten nutzen
 
ok und wo tu ich das einfügen?

delphi-projekt 17. Mär 2009 20:49

Re: Aus stringgrid die daten nutzen
 
damit rückt der index bloß wieder in die erste celle aber trotzdem höhrt der auf zu zählen
und die checkboxen bleiben so wie sie sind

delphi-projekt 17. Mär 2009 20:56

Re: Aus stringgrid die daten nutzen
 
Ne schon gut hat sich erledigt es klappt so wie ich will

Dann möchte ich mich nochmal ganz herzlich bedanken du hast mir sehr geholfen
ohne dich wär mein projekt in die brüche gegangen.

Danke


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:48 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