wentom - Mi 20.08.03 23:59
Titel: Label8.Caption in Repeat-Schleife ausgeben ??
Hallo,
ich möchte in meinem Programm Eingangssignale zeitlich messen. Wenns geht ziemlich genau. Diese Zeit (als String) möchte ich mir anzeigen lassen. Dazu verwende ich im Moment einen Label. Da ich leider nur sehr kurze Signale (ca. 50 - 100 mSek) und auch zwei davon bekomme, kann ich eigentlich nicht aus der Repeatschleife die den port liest raus. Nun habe ich das Problem, daß die Zeitanzeige erst nach Abbruch der Schleife im Label erscheint.
Gibt es eine Möglichkeit, den String sofort sichtbar zu machen? Im Moment sieht das etwa so aus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| 1: repeat InValue := PortIn(889); jetzt:=gettickcount; if (InValue = 111) and (jetzt > (t1l1 + 200))then line1:=true; if InValue = 95 then line2:=true; if InValue = 79 then begin line1:=true; line2:=true; end; if ((tende < jetzt) or (stopper = true)) then goto 99; oder Zeitlimit = Ende until ((line1 = true) or (line2 = true));
ProgressBar1.Visible:=false; Label3.caption:='läuft'; if (line1 = true)then begin t2l1:=jetzt; rt1:=t2l1-t1l1; <span style="font-weight: bold"> label8.caption:=inttostr(take1); take1:=take1+1; t1l1:=jetzt; line1:=false; end; goto 1; |
Vielleicht weiß jemand was nettes...
CIAO Tom
Moderiert von
Klabautermann: Delphi-Tags hinzugefügt.
wentom - Do 21.08.03 18:00
ich versuchs mal mit nen Timer, der da folgende procedure aufruft. Könnte natürlich schief gehen.... Aber wie kann ich die Kommastellen beeinflussen ?
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| procedure TMenuForm.Tranline1; begin ProgressBar1.Visible:=false; grosszeit1:=jetzt; rundzeit1:=Grosszeit1-Kleinzeit1; if runde1 = 0 then rundzeit1:=0; rundsek1:=rundzeit1 div 1000; rundhund1:=(rundzeit1 - (rundsek1 * 1000)) div 10; strrundsek1:=inttostr(rundsek1); strrundhund1:=inttostr(rundhund1); strrundzeit1:=strrundsek1+','+strrundhund1; label8.caption:=inttostr(runde1); label9.caption:=strrundzeit1; Kleinzeit1:=jetzt; runde1:=runde1+1; line1:=false; end; |
In Pascal war
Delphi-Quelltext
1:
| gotoxy(65,2);write(restmin,',',restsek:2,',',resthund:2); |
Vielleicht gibts ja ne ähnlich leichte Sache... Ich man merkt wohl die Pascalzeit und den Mangel an Delphi-Kenntnissen ...
CIAO Tom
Moderiert von
Tino: Delphi-Tags hinzugefügt.