![]() |
Keine Rückmeldung beim rechnen
Hallo, ich habe folgendes Problem:
Delphi-Quellcode:
Ich will mit dieser Prozedur alle Primzahlen ermitteln und in einem Panel anzeigen lassen.
procedure TForm1.rechnen;
var wert,i: longint; begin wert:=1; repeat wert:=wert+1; prim:=true; Panel1.Caption:=floattoStr(wert); for i:=2 to wert-1 do begin if (wert MOD i) = 0 then begin prim:=false; {i:=wert-1;} end; end; if prim=true then Panel2.Caption:=floattoStr(wert); until wert=10000{ 2147483647}; end; Der Rest meines Programmes besteht nur noch aus einem Button, der die ganze Geschichte aktiviert. Nun zu meinem Problem: Wenn ich nun den Button drücke rechnet er fein, so wie's sein soll. Aber der Taskmanager zeigt zu meinem Programm an: Keine Rückmeldung. Das ist ja eigentlich nicht das Problem, aber ich will, dass er mir immer die Aktuelle Zahl ausgibt, aber das macht er nicht, erst wenn er fertig mit rechnen ist. Aber während er noch rechnet kann ich auf der Oberfläche meines Programmes nichts drücken... Also ich hoff einer von euch kann mir helfen, damit ich immer den aktuellen Wert anzeigen kann... |
Re: Keine Rückmeldung beim rechnen
moin
du mußt während deiner rechnerei auch reaktionen von aussen wahrnehmen! das machst du am besten mit
Delphi-Quellcode:
Application.processmessages
|
Re: Keine Rückmeldung beim rechnen
Probier mal:
Delphi-Quellcode:
{Damit deine Zahl ausgegeben wird}
Panel1.Caption:=floattoStr(wert); Panel1.Refresh; {Damit Windows nicht denkt, dein Programm sei abgeschmiert} Application.processmessages; |
Re: Keine Rückmeldung beim rechnen
Oder du packst die Primzahlberechnung in nen extra Thread.
Ist meiner Meinung die eleganteste Lösung, da man dann auf Wunsch auch die Berechnung abbrechen kann. Dein Programm läuft ja solange bis es fertig ist. gruß mario |
Re: Keine Rückmeldung beim rechnen
Danke auch allen:
Delphi-Quellcode:
Das allein hat schon gereicht, jetzt zeigt er auch die aktuellen zahlen an!
Application.processmessages
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:55 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