AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Das Label wird nach einer bestimmten Zeit nicht mehr aktual.
Thema durchsuchen
Ansicht
Themen-Optionen

Das Label wird nach einer bestimmten Zeit nicht mehr aktual.

Ein Thema von Darkchild · begonnen am 30. Jan 2007 · letzter Beitrag vom 30. Jan 2007
Antwort Antwort
Darkchild

Registriert seit: 13. Okt 2006
Ort: NRW
169 Beiträge
 
Delphi 2006 Enterprise
 
#1

Das Label wird nach einer bestimmten Zeit nicht mehr aktual.

  Alt 30. Jan 2007, 21:14
Nabend zusammen,

folgendes Problem:

Ich habe ein Programm welches Rechenaufgaben erstellt diese in einem Label Anzeigt und das war es fast schon. Das errechnete Ergebnis wird in ein Editfeld eingetragen und beim klick auf OK wird das eingetragene Ergebnis mit dem Korrekten verglichen, stimmts dann gibts Punkte, stimmts nicht dann hat man pech gehabt.
So das klappt auch alles, nur nach einer bestimmten Zeit werden die Aufgaben im Label nicht mehr neu Angezeigt, es bleibt ab einem bestimmten Punkt immer ein und die selbe Aufgabe stehen.
Die Zahlen für die Aufgabe werden über eine Variable die einen Randomwert erhält erstellt, also Zufallszahlen, auch der Operator (+,-,*,/) werden Zufällig ausgewählt.

Nur wie gesagt ab der ca 15 bis 20 Aufgabe bleibt immer die selbe Augabe stehen und ändert sich nicht mehr.
Muss ich da irgendeinen Puffer leeren oder label.free oder was auch immer, ich weis es im moment echt nicht, aber irgendwie sowas muss es sein.

Wisst ihr vieleicht weiter ?

Gruss
Darkchild
Ich bin der Geist der stets verneint und das mit recht, denn alles was entsteht ist wert das es zugrunde geht, drum besser wär das nichts entstünde, so ist denn alles was ihr Sünde, Zerstörung, kurz das Böse nennt, mein eigendliches Element.
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.336 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Das Label wird nach einer bestimmten Zeit nicht mehr akt

  Alt 30. Jan 2007, 21:16
Hallo,

zeig doch mal etwas Code - so machst du es uns einfacher
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Darkchild

Registriert seit: 13. Okt 2006
Ort: NRW
169 Beiträge
 
Delphi 2006 Enterprise
 
#3

Re: Das Label wird nach einer bestimmten Zeit nicht mehr akt

  Alt 30. Jan 2007, 21:23
Sorry, ganz vergessen !

Denke das sollte in diesem teil des Codes verborgen sein :

Delphi-Quellcode:
procedure Tfrmgrundrechenarten.Rechnen();
var
x1,x2,x3,x4,x5,x6:integer;
geteilt:string;
begin
//Rechenarten
edtgrundrechenergebniss.SetFocus;
case Punkte of
    0..10: begin;
           randomize;
           x1 := random(9999);
           x2 := random(6666);
           Operatorauswahl();
           case Operatorzeichen of
                '+':begin;
                    lblAufgabe.Caption := (inttostr(x1)+' '+ Operatorzeichen +' '+inttostr(x2));
                    Ergebnis := x1 + x2;
                    end;
                '-':begin;
                    while x1 < x2 do
                    begin;
                         x1 := random(9999);
                         x2 := random(6666);
                    end;
                    lblAufgabe.Caption := (inttostr(x1)+' '+ Operatorzeichen +' '+inttostr(x2));
                    Ergebnis := x1 - x2;
                    end;
                '*':begin;
                    lblAufgabe.Caption := (inttostr(x1)+' '+ Operatorzeichen +' '+inttostr(x2));
                    Ergebnis := x1 * x2;
                    end;
                '/':begin;
                    while x1 < x2 do
                    begin;
                    x1 := random(9999);
                    x2 := random(6666);
                    end;
                    lblAufgabe.Caption := (inttostr(x1)+' '+ Operatorzeichen +' '+inttostr(x2));
                    Ergebnis := x1 / x2;
                    Ergebnis := Ergebnis * 1000;
                    Ergebnis := trunc(Ergebnis);
                    Ergebnis := Ergebnis / 1000;
                    geteilt := vartostr(Ergebnis);
                    end;
           end;
           end;
    11..20:begin;

           end;
end;
end;
Gruss
Darkchild
Ich bin der Geist der stets verneint und das mit recht, denn alles was entsteht ist wert das es zugrunde geht, drum besser wär das nichts entstünde, so ist denn alles was ihr Sünde, Zerstörung, kurz das Böse nennt, mein eigendliches Element.
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.336 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Das Label wird nach einer bestimmten Zeit nicht mehr akt

  Alt 30. Jan 2007, 21:32
Hallo,

erstens solltest du das Randomize ins OnCreate der Form tun:
Delphi-Quellcode:
procedure Tfrmgrundrechenarten.OnCreate(Sender: TObject);
begin
  //Randomize nur einmal aufrufen - am besten hier im OnCreate der Form
  randomize;
end;
Was ich auch nicht versteh ist, wieso du
Delphi-Quellcode:
           x1 := random(9999);
           x2 := random(6666);
so oft aufrufst.

Kann es sein dass Operatorzeichen auch mal ein anderes Zeichen ausgeben kann, ausser +, -, /, *?
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Darkchild

Registriert seit: 13. Okt 2006
Ort: NRW
169 Beiträge
 
Delphi 2006 Enterprise
 
#5

Re: Das Label wird nach einer bestimmten Zeit nicht mehr akt

  Alt 30. Jan 2007, 21:49
Nein, Operatorzeichen kann nur +,-,*,: und nicht mehr.

Und Random wird immer wieder aufgerufen um eine möglichst grosse Anzahl unterschiedlicher Zufallswerte zu bekommen.
Und um eine "Unendliche" Anzahl an Aufgaben zu erhalten.

Aber ich glaube auch nicht das eines dieser beiden Elemente zu meinem Problem führt.

Ich kann gerne mal die exe zum Dowload stellen und dann könnt ihr mal ein paar Aufgaben rechnen und nach einer weile wirst Du sehen was ich meine, vieleicht hilft das ja weiter.

Gruss
Darkchild
Ich bin der Geist der stets verneint und das mit recht, denn alles was entsteht ist wert das es zugrunde geht, drum besser wär das nichts entstünde, so ist denn alles was ihr Sünde, Zerstörung, kurz das Böse nennt, mein eigendliches Element.
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.336 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Das Label wird nach einer bestimmten Zeit nicht mehr akt

  Alt 30. Jan 2007, 21:50
stelle aber auch den code zur verfügung
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Darkchild

Registriert seit: 13. Okt 2006
Ort: NRW
169 Beiträge
 
Delphi 2006 Enterprise
 
#7

Re: Das Label wird nach einer bestimmten Zeit nicht mehr akt

  Alt 30. Jan 2007, 21:58
Also gut, hier erst mal die exe und gleich kommt noch der Code dazu, dann editiere ich das ganze nochmal.

Gruss
Darkchild

P.S: So habe die Grundrechnen.pas dabei gelegt, sollte reichen, oder ?
Angehängte Dateien
Dateityp: exe mathetrainerproject_199.exe (470,0 KB, 5x aufgerufen)
Dateityp: pas grundrechenartenunit_170.pas (4,6 KB, 2x aufgerufen)
Ich bin der Geist der stets verneint und das mit recht, denn alles was entsteht ist wert das es zugrunde geht, drum besser wär das nichts entstünde, so ist denn alles was ihr Sünde, Zerstörung, kurz das Böse nennt, mein eigendliches Element.
  Mit Zitat antworten Zitat
Nicolai1234

Registriert seit: 21. Feb 2004
1.008 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Das Label wird nach einer bestimmten Zeit nicht mehr akt

  Alt 30. Jan 2007, 22:03
Zitat von Darkchild:
Nur wie gesagt ab der ca 15 bis 20 Aufgabe bleibt immer die selbe Augabe stehen und ändert sich nicht mehr.
Muss ich da irgendeinen Puffer leeren oder label.free oder was auch immer, ich weis es im moment echt nicht, aber irgendwie sowas muss es sein.
Was ist denn Punkte für eine Variable. Veilleicht hast du ja nach 15 bis 20 Aufgaben mehr als 10 Punkte erreicht und die case-Struktur greift nicht mehr...
  Mit Zitat antworten Zitat
Darkchild

Registriert seit: 13. Okt 2006
Ort: NRW
169 Beiträge
 
Delphi 2006 Enterprise
 
#9

Re: Das Label wird nach einer bestimmten Zeit nicht mehr akt

  Alt 30. Jan 2007, 22:06
@Nicolai1605

Jo, das könnte es sein, muss ich direkt mal testen. Wenn dem so ist dann muss ich mich .
Aber mitten im Proggen und Testen habe ich da garnicht dran gedacht.

Gruss
Darkchild
Ich bin der Geist der stets verneint und das mit recht, denn alles was entsteht ist wert das es zugrunde geht, drum besser wär das nichts entstünde, so ist denn alles was ihr Sünde, Zerstörung, kurz das Böse nennt, mein eigendliches Element.
  Mit Zitat antworten Zitat
Darkchild

Registriert seit: 13. Okt 2006
Ort: NRW
169 Beiträge
 
Delphi 2006 Enterprise
 
#10

Re: Das Label wird nach einer bestimmten Zeit nicht mehr akt

  Alt 30. Jan 2007, 22:11
@Nicolai1605

Hattest recht, genau daran lag es .
Danke für die Hilfe, da habe ich den Wald vor lauter Bäumen nicht gesehen.

Gruss
Darkchild
Ich bin der Geist der stets verneint und das mit recht, denn alles was entsteht ist wert das es zugrunde geht, drum besser wär das nichts entstünde, so ist denn alles was ihr Sünde, Zerstörung, kurz das Böse nennt, mein eigendliches Element.
  Mit Zitat antworten Zitat
Antwort Antwort


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:00 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