AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

setsame Zahlen

Ein Thema von clock50 · begonnen am 24. Jun 2008 · letzter Beitrag vom 24. Jun 2008
Antwort Antwort
clock50

Registriert seit: 9. Nov 2005
Ort: Derenburg
183 Beiträge
 
Delphi 5 Professional
 
#1

setsame Zahlen

  Alt 24. Jun 2008, 18:14
Ich habe hier eine Simulation die wenn sie komplett durchläuft keine Probleme macht. Aber ich habe jetzt um die einzelnen Auswertungen zu sehen einen Timer dazwischen der jede Sekunde einen neuen Wert holt. Um das zu unterbrechen habe ich einen button der true setzt und den Timer stopt. Nach ein paar duchläufen ist der Wert plötzlich true ohne das ich eine Erklärung dafür finden kann. Nun habe ich mir gedacht das irgendwas mit dem STACK nicht io ist. Denn andere Werte spinnen auch. Kann das sein, das das mit dem Timer zu tun hat der irgendwie werte sichert und wieder zurückschreibt (Register)?
Thomas
Man muß nicht alles wissen, man muß nur wissen in welchem Buch es geschrieben steht!
  Mit Zitat antworten Zitat
Cyf

Registriert seit: 30. Mai 2008
407 Beiträge
 
Lazarus
 
#2

Re: setsame Zahlen

  Alt 24. Jun 2008, 18:19
So ist das munteres Raten, bitte zeig mal die Procedure, wo es Probleme gibt und falls du Fehlermeldungen oder Exceptions erhälst gib diese an. Ich weiß auch grad nicht ob der Timer in einem eigenen Thread läuft, aber ich halts für recht wahrscheinlich, so das du auch eventuell threadunsichere Dinge aufrufen könntest. Eine fehlerhafte Auswirkung auf die Register ist bei korrekter Verwendung eigentlich sehr unwahrscheinlich, im Zweifelsfall kannst du ja mal einen Debuglauf machen und die Registerwerte im Auge behalten.
  Mit Zitat antworten Zitat
clock50

Registriert seit: 9. Nov 2005
Ort: Derenburg
183 Beiträge
 
Delphi 5 Professional
 
#3

Re: setsame Zahlen

  Alt 24. Jun 2008, 18:50
Delphi-Quellcode:
procedure TForm1.JvTimer1Timer(Sender: TObject);
begin
inc(zaehler);
  Label31.Caption := '';
  vorbereiten1;
  if stope = 1 Then Label31.Caption := Label31.Caption+'1else Label31.Caption := Label31.Caption+'0';
  For c := a to zaehler do werteaus1;
//---------------------------------------------
  if stope = 1 Then Label31.Caption := Label31.Caption+'1else Label31.Caption := Label31.Caption+'0';
  zeigean1;
  if stope = 1 Then Label31.Caption := Label31.Caption+'1else Label31.Caption := Label31.Caption+'0';
  vorbereiten2;
  if stope = 1 Then Label31.Caption := Label31.Caption+'1else Label31.Caption := Label31.Caption+'0';
  For c := a to zaehler do werteaus2;
  if stope = 1 Then Label31.Caption := Label31.Caption+'1else Label31.Caption := Label31.Caption+'0';
  zeigean2;
  if stope = 1 Then Label31.Caption := Label31.Caption+'1else Label31.Caption := Label31.Caption+'0';
  Label4.Caption := inttostr(zaehler);
  if zaehler >= Length(zzahl)-2 Then stope := 1;
  if stope = 1 Then
   begin
   JvTimer1.Enabled := False;
   Button1.Enabled := True;
   Button2.Enabled := True;
   Button3.Enabled := True;
   Button4.Enabled := True;
   Button5.Enabled := False;
   end;
end;
Da wo die Markierung ist "stope" nach x durchläufen 1 oder mit anderen Werten (werteliste) an anderen Stellen aber der aktuelle wert ist nicht gleich! Label31 ist zur kontrolle. Ich denke es ist ein Überlauf oder so.
Auch wenn "Stope" Boolean ist ist das so.
Thomas
Man muß nicht alles wissen, man muß nur wissen in welchem Buch es geschrieben steht!
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.752 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: setsame Zahlen

  Alt 24. Jun 2008, 19:04
Hallo,

wird der Wert von "stope" in den Prozeduren "vorbereiten1", "werteaus1"
und "zeigean1" verändert?

Wo wird zaehler und stope initialisiert?

Grüße
Klaus

Delphi-Quellcode:
procedure TForm1.JvTimer1Timer(Sender: TObject);
begin
  inc(zaehler);

  Label31.Caption := '';

  vorbereiten1;

  if stope = 1 Then
    Label31.Caption := Label31.Caption+'1'
  else
    Label31.Caption := Label31.Caption+'0';

  For c := a to zaehler do
    werteaus1;
//---------------------------------------------
  if stope = 1 Then
    Label31.Caption := Label31.Caption+'1'   // hier willst Du doch nicht addieren oder?
  else
    Label31.Caption := Label31.Caption+'0';

  zeigean1;

  if stope = 1 Then
    Label31.Caption := Label31.Caption+'1
  else
    Label31.Caption := Label31.Caption+'0';
  vorbereiten2;

  if stope = 1 Then
    Label31.Caption := Label31.Caption+'1
  else
    Label31.Caption := Label31.Caption+'0';

  For c := a to zaehler do
    werteaus2;

  if stope = 1 Then
    Label31.Caption := Label31.Caption+'1
  else
    Label31.Caption := Label31.Caption+'0';

  zeigean2;

  if stope = 1 Then
    Label31.Caption := Label31.Caption+'1
  else
    Label31.Caption := Label31.Caption+'0';

  Label4.Caption := inttostr(zaehler);

  if zaehler >= Length(zzahl)-2 Then
    stope := 1;
  if stope = 1 Then
    begin
      JvTimer1.Enabled := False;
      Button1.Enabled := True;
      Button2.Enabled := True;
      Button3.Enabled := True;
      Button4.Enabled := True;
      Button5.Enabled := False;
   end;
end;
Klaus
  Mit Zitat antworten Zitat
clock50

Registriert seit: 9. Nov 2005
Ort: Derenburg
183 Beiträge
 
Delphi 5 Professional
 
#5

Re: setsame Zahlen

  Alt 24. Jun 2008, 19:11
1. stope wird nur ind den beiden Proceduren geändert!

2. Die Werte werden gesetzt:
Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
begin
Button1.Enabled := False;
Button2.Enabled := False;
Button3.Enabled := False;
Button4.Enabled := False;
Button5.Enabled := True;
stope := 0;
zaehler := 1;
a := 1;
JvTimer1.Enabled := True;
end;
3. Das ist eine String-Addition String1+String2 = String1String2 ( "1"+"1"= 11)
Thomas
Man muß nicht alles wissen, man muß nur wissen in welchem Buch es geschrieben steht!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 08:23 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