| Autor |
Beitrag |
Fasi-Monster
      
Beiträge: 16
|
Verfasst: Di 24.09.02 14:24
Moin
als Anfänger hätte ich da mal eine einfache Frage: Ich lasse mit einem Buttonclick viele Proceduren starten, die etwas berechnen. Jetzt habe ich sozusagen Ausgabefelder, die "so" Zwischenergebnisse anzeigen sollen. Machen´se aber nicht, die werden sogar noch weiß...
Hat einer´nen Tip ? 
|
|
Hagbard Celine
      
Beiträge: 119
|
Verfasst: Di 24.09.02 14:29
| Fasi-Monster hat folgendes geschrieben: |
Moin
als Anfänger hätte ich da mal eine einfache Frage: Ich lasse mit einem Buttonclick viele Proceduren starten, die etwas berechnen. Jetzt habe ich sozusagen Ausgabefelder, die "so" Zwischenergebnisse anzeigen sollen. Machen´se aber nicht, die werden sogar noch weiß...
Hat einer´nen Tip ?  |
Tip 1 : Poste deinen Code
Tip 2 : Beschreibe kurz deinen Formular-Aufbau und benenne die Verwendeten(relevanten) komponenten!
|
|
JeanvanHees
      
Beiträge: 146
win 2000
D6 Pers
|
Verfasst: Di 24.09.02 14:32
Nicht rot werden; jeder hier war mal anfänger.
Deine frage ist aber nicht so deutlich, könntest du vielleicht etwas code sehen lassen, oder etwas mehr erzählen?
_________________ Cause even though I know things won't get any better, they can certainly never get much worse!
|
|
Fasi-Monster 
      
Beiträge: 16
|
Verfasst: Di 24.09.02 14:49
Ist ein vereinfachtes Proggi um Primzahlen zu berechnen und abzuspeichern :
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106:
| Procedure TForm2.fuenfamende; begin funf:=StrToInt(editt.Text[jkl]); if funf = 5 then Grund := false else checkbox2.Checked:=true; end; Procedure TForm2.Quersumme; var lang,a,wert,zwsu:Integer; Begin REPEAT lang:=LENGTH(Quer.Caption); wert:=0; FOR a:=1 TO lang DO BEGIN zwsu:=StrToInt(Quer.caption[a]); wert:=wert+zwsu; END; Quer.caption:=IntToStr(wert); UNTIL lang < 2 ; IF wert mod 3 = 0 then begin grund:=false; end else checkbox1.Checked:=true End; procedure TForm2.FormActivate(Sender: TObject); begin table1.last; Pruefzahl:=strtoint(dbedit1.text); Table2.First; Table2.MoveBy(5); End; procedure TForm2.Button2Click(Sender: TObject); VAR i:integer; BEGIN IF CheckBox5.Checked = True then //für´n Langsam-Modus BEGIN langsam:=true; END; FOR i:=0 to StrToInt(wiederh.text) do begin checkbox1.Checked:=false; //Boxen löschen checkbox2.Checked:=false; checkbox3.Checked:=false; checkbox4.Checked:=false; grund:=true; Pruefzahl:=Pruefzahl+2; IF Langsam = true then effelo; //für´n Langsam-Modus editt.text:=IntToStr(pruefzahl); Quer.caption:=Editt.text; Quer2.caption:=Editt.text; Label9.Caption:=Editt.Text; jkl:=LENGTH(editt.text); IF Langsam = true then effelo; //für´n Langsam-Modus edit1.Text:=IntToStr(i);
funf:=StrToInt(editt.Text[jkl]); //Ist eine Fünf am Ende?; if funf = 5 then Grund := false else checkbox2.Checked:=true; IF Langsam = true then effelo; // Ende Fünfprüfung
IF Grund = true then Quersumme; IF Langsam = true then effelo; //für´n Langsam-Modus IF Grund = true then begin Siebtel:=Pruefzahl div 7 ; sub:=Pruefzahl div 7 ; Label10.Caption:=IntToStr(Siebtel); IF Langsam = true then effelo; //für´n Langsam-Modus Label7.caption:=Editt.Text; IF Pruefzahl mod 7 = 0 then grund:=false else if Pruefzahl mod 7 <> 0 then checkbox3.Checked:=true; END; IF Langsam = true then effelo; //für´n Langsam-Modus If grund = true then checkbox4.checked:=true; IF Grund = true then //Durch Primzahlen teilen BEGIN //abc Table2.First; Table2.MoveBy(5); REPEAT bed := false; Vergl:=StrToInt(DBEdit2.Text); Vergl2:=StrToInt(DBEdit2.Text); IF Pruefzahl mod Vergl = 0 then bed := true else Table2.Next; IF Langsam = true then effe; //für´n Langsam-Modus Until (Vergl2 > Sub) or (bed=true); END; //abc IF (grund = true) and (bed = false) then Begin Table2.Append; Table2.fieldByName('Zahl').AsInteger:= Pruefzahl; Table2.Post; Table2.Refresh; END; grund:=false; end; //FOR end; //Proz end. |
 Bin eben Anfänger?!?
Code-Tag eingefügt. Marc
|
|
Hagbard Celine
      
Beiträge: 119
|
Verfasst: Di 24.09.02 15:04
| Fasi-Monster hat folgendes geschrieben: | | Ist ein vereinfachtes Proggi um Primzahlen zu berechnen und abzuspeichern : |
Hab deinen Quelltext jetzt mal leserlich gemacht!
So wo ist jetzt der Fehler?
Wo tritt er auf?
Welche Funktion rufst Du auf??
Was geschieht da überhaupt, ist etwas mühsam das auseinanderzufriehmeln!
|
|
Fasi-Monster 
      
Beiträge: 16
|
Verfasst: Di 24.09.02 15:12
also, das problem das mir widerfährt ist, dass wenn´s läuft, in den Edit- und Labelfeldern die Daten nicht aktualisiert werden. Ich kann die Zwischensummen nicht sehen(vor allem wenn ich die Bremsen"procedure effe&effelo" mitlaufen lasse).
|
|
Ex0rzist
      
Beiträge: 550
Win XP Prof. Mandrake 10.0
D6
|
Verfasst: Di 24.09.02 15:28
Hallo Fasi-Monster,
ich habe jetzt zwar nicht deinen Code durchgesehen, aber ich denke du benötigst: Application.ProcessMessages
Das baust du an das Ende einer Berechnungsschleife. Damit aktualisiert Windows alle anstehenden Messages (u.a. das Aktualisieren von Labels usw.) auch während einer Schleife.
Ich hoffe ich habe dein Problem erkannt.
_____________
Ex0rzist
|
|
Hagbard Celine
      
Beiträge: 119
|
Verfasst: Di 24.09.02 15:30
| Fasi-Monster hat folgendes geschrieben: | | also, das problem das mir widerfährt ist, dass wenn´s läuft, in den Edit- und Labelfeldern die Daten nicht aktualisiert werden. Ich kann die Zwischensummen nicht sehen(vor allem wenn ich die Bremsen"procedure effe&effelo" mitlaufen lasse). |
Also auf den ersten blick würde ich keinen fehler sehen!
Geh zuerst mal hin und ersetze die Zuweisungen zu editfeldern.txt durch ein memo-feld.lines.add() dann hast Du wohl einige Anzeigen, kannst aber vor allem sehen wie sich die Werte verändern!
Alle Werte stehen dann zwar in einem Memo-Feld, aber zur kontrolle ist das wohl besser!
|
|
Fasi-Monster 
      
Beiträge: 16
|
Verfasst: Mi 25.09.02 07:54
Goil, dat lübt!!!
Danke an:
Ex0rzist & Hagbard Celine & JeanvanHees
Application.ProcessMessages
hat´s gebracht
Mit den Memo-Feldern habe ich noch nicht probiert aber ich mach mir eine Notiz
Bis zum nächsten mal...
|
|