![]() |
Das Label wird nach einer bestimmten Zeit nicht mehr aktual.
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 |
Re: Das Label wird nach einer bestimmten Zeit nicht mehr akt
Hallo,
zeig doch mal etwas Code - so machst du es uns einfacher |
Re: Das Label wird nach einer bestimmten Zeit nicht mehr akt
Sorry, ganz vergessen !
Denke das sollte in diesem teil des Codes verborgen sein :
Delphi-Quellcode:
Gruss
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; Darkchild |
Re: Das Label wird nach einer bestimmten Zeit nicht mehr akt
Hallo,
erstens solltest du das Randomize ins OnCreate der Form tun:
Delphi-Quellcode:
Was ich auch nicht versteh ist, wieso du
procedure Tfrmgrundrechenarten.OnCreate(Sender: TObject);
begin //Randomize nur einmal aufrufen - am besten hier im OnCreate der Form randomize; end;
Delphi-Quellcode:
so oft aufrufst.
x1 := random(9999);
x2 := random(6666); Kann es sein dass Operatorzeichen auch mal ein anderes Zeichen ausgeben kann, ausser +, -, /, *? |
Re: Das Label wird nach einer bestimmten Zeit nicht mehr akt
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 |
Re: Das Label wird nach einer bestimmten Zeit nicht mehr akt
stelle aber auch den code zur verfügung
|
Re: Das Label wird nach einer bestimmten Zeit nicht mehr akt
Liste der Anhänge anzeigen (Anzahl: 2)
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 ? |
Re: Das Label wird nach einer bestimmten Zeit nicht mehr akt
Zitat:
|
Re: Das Label wird nach einer bestimmten Zeit nicht mehr akt
@Nicolai1605
Jo, das könnte es sein, muss ich direkt mal testen. Wenn dem so ist dann muss ich mich :wall: :oops: . Aber mitten im Proggen und Testen habe ich da garnicht dran gedacht. Gruss Darkchild |
Re: Das Label wird nach einer bestimmten Zeit nicht mehr akt
@Nicolai1605
Hattest recht, genau daran lag es :oops: . Danke für die Hilfe, da habe ich den Wald vor lauter Bäumen nicht gesehen. Gruss Darkchild |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz