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.
Alles Anfang ist schwer...