AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Aus stringgrid die daten nutzen
Thema durchsuchen
Ansicht
Themen-Optionen

Aus stringgrid die daten nutzen

Ein Thema von delphi-projekt · begonnen am 16. Mär 2009 · letzter Beitrag vom 17. Mär 2009
Antwort Antwort
Seite 2 von 4     12 34      
delphi-projekt
(Gast)

n/a Beiträge
 
#11

Re: Aus stringgrid die daten nutzen

  Alt 17. Mär 2009, 15:48
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
  Mit Zitat antworten Zitat
busybyte

Registriert seit: 15. Sep 2006
165 Beiträge
 
#12

Re: Aus stringgrid die daten nutzen

  Alt 17. Mär 2009, 15:54
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.
I love DiscCat
  Mit Zitat antworten Zitat
delphi-projekt
(Gast)

n/a Beiträge
 
#13

Re: Aus stringgrid die daten nutzen

  Alt 17. Mär 2009, 16:15
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.
  Mit Zitat antworten Zitat
busybyte

Registriert seit: 15. Sep 2006
165 Beiträge
 
#14

Re: Aus stringgrid die daten nutzen

  Alt 17. Mär 2009, 16:29
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
I love DiscCat
  Mit Zitat antworten Zitat
delphi-projekt
(Gast)

n/a Beiträge
 
#15

Re: Aus stringgrid die daten nutzen

  Alt 17. Mär 2009, 16:45
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?
  Mit Zitat antworten Zitat
busybyte

Registriert seit: 15. Sep 2006
165 Beiträge
 
#16

Re: Aus stringgrid die daten nutzen

  Alt 17. Mär 2009, 16:51
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.
I love DiscCat
  Mit Zitat antworten Zitat
delphi-projekt
(Gast)

n/a Beiträge
 
#17

Re: Aus stringgrid die daten nutzen

  Alt 17. Mär 2009, 17:06
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.
  Mit Zitat antworten Zitat
busybyte

Registriert seit: 15. Sep 2006
165 Beiträge
 
#18

Re: Aus stringgrid die daten nutzen

  Alt 17. Mär 2009, 17:45
Ich geb's auf
I love DiscCat
  Mit Zitat antworten Zitat
delphi-projekt
(Gast)

n/a Beiträge
 
#19

Re: Aus stringgrid die daten nutzen

  Alt 17. Mär 2009, 17:48
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
  Mit Zitat antworten Zitat
busybyte

Registriert seit: 15. Sep 2006
165 Beiträge
 
#20

Re: Aus stringgrid die daten nutzen

  Alt 17. Mär 2009, 17:51
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.
edzeit.text:=zeitS; in Deinem Fall bleibt aber ZeitS leer weil Du
das nicht übernommen hast.
zeitS:=stringgrid1.Cells[0,Index];
I love DiscCat
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:20 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