AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi ComPort mit Interface-Doku - Dezibelmessgerät - Async Pro
Thema durchsuchen
Ansicht
Themen-Optionen

ComPort mit Interface-Doku - Dezibelmessgerät - Async Pro

Ein Thema von MSSSSM · begonnen am 26. Mär 2009 · letzter Beitrag vom 27. Mär 2009
Antwort Antwort
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.651 Beiträge
 
Delphi 12 Athens
 
#1

Re: ComPort mit Interface-Doku - Dezibelmessgerät - Async Pr

  Alt 27. Mär 2009, 13:44
Hallo Marius,

ich nutze ein anderes Objekt zum Auslesen vom Comport. Dies ist aber kostenpflichtig (TMS Software).

Es könnte sein, dass das Ereignis "TriggerAvail" schon ausgelöst wird, aber noch nicht alle Zeichen da sind. Dann ist aber "Count" schon festgelegt. Entweder Du wartest noch eine kurze Zeit und dann rufst Du die Daten ab oder Du liest die Daten in ein globales Objekt ein und wartest, bis dort 2 oder 3 Zeichen drin sind.
Auf jeden Fall solltest Du "Data2" vorab leer machen.

Probiere dies doch mal mit dem Terminalprogramm aus, was ich letztens erwähnt hatte. Dann siehst Du wirklich, wann die Daten kommen

Delphi-Quellcode:
procedure TfrmMain.pegelTriggerAvail(CP: TObject; Count: Word);
var
  Data: String;
  data2:String;
  d:Char;
  I: Integer;
begin
  { OnTriggerAvail; Read the data }
  for I:= 0 to Count-1 do
  begin
       d:=pegel.GetChar;
       Data2 := Data2 + IntToHex(Word(d),2) + sLineBreak;
       Data := Data + d;
  end;
  parse(Data);
  //memData.lines.Add(data2);
end;

Wenn man die Daten einmal sortiert, dann sieht es doch schon ganz gut aus (siehe unten).
Dies bestärkt meine Vermutung, dass Du immer den Empfangsstring löschen mußt, bevor Du Daten sendest und dann die Daten in ein gloabes Array schreibst. Wie es aussieht, kommt der Event schon, wenn noch nicht alle Daten da sind.
A551
A50C
A51B00
A506024125
A540
A50E
A511
A50D0353
A50C
A51B00
A506024125
A540
A50E
A511
A50D0353
A50C
A51B00
A506024125
A540
A50E
A511
A50D0352
A50C
A51B00
A506024125
A540
A50E
A511
A50D0352
A50B00
A506024125
A519
A502
A50F
Matthias
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:51 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-2025 by Thomas Breitkreuz