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 1 von 4  1 23     Letzte »    
delphi-projekt
(Gast)

n/a Beiträge
 
#1

Aus stringgrid die daten nutzen

  Alt 16. Mär 2009, 22:43
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.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#2

Re: Aus stringgrid die daten nutzen

  Alt 17. Mär 2009, 08:28
Hallo,

mitg:= 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];
  Mit Zitat antworten Zitat
delphi-projekt
(Gast)

n/a Beiträge
 
#3

Re: Aus stringgrid die daten nutzen

  Alt 17. Mär 2009, 09:56
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;
  Mit Zitat antworten Zitat
Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

Re: Aus stringgrid die daten nutzen

  Alt 17. Mär 2009, 10:02
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

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat
delphi-projekt
(Gast)

n/a Beiträge
 
#5

Re: Aus stringgrid die daten nutzen

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

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

Re: Aus stringgrid die daten nutzen

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

n/a Beiträge
 
#7

Re: Aus stringgrid die daten nutzen

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

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#8

Re: Aus stringgrid die daten nutzen

  Alt 17. Mär 2009, 14:27
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 ='Geradeausthen
    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.

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat
busybyte

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

Re: Aus stringgrid die daten nutzen

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

n/a Beiträge
 
#10

Re: Aus stringgrid die daten nutzen

  Alt 17. Mär 2009, 14:42
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?


Timer6.Interval := 1000 * strtoint(edzeit.text);
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 19:21 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