![]() |
Re: Daten von ComPort in Stringliste speichern
Hi!
Also drin stehen solte so ungefähr das: Zitat:
|
Re: Daten von ComPort in Stringliste speichern
äh, natürlich ohne den Smilie :mrgreen:
|
Re: Daten von ComPort in Stringliste speichern
Hi,
Zitat:
Und wenns in nem Memo klappt, klappts auch in ner Stringlist. TMemo.Lines stammt genauso wie TStringList von TStrings ab bzw. ist vom Typ TStrings... mach das, womit du den Text ins Memo bekommst einfach genauso für die Stringlist ;) Bzw. wie hast Du denn den Text ins Memo bekommen? Gruß Stephan :dance: |
Re: Daten von ComPort in Stringliste speichern
Hi!
Habe mich vertan. War doch nen RichEdit. Mit nem Memo gehts aber so auch. Hier der Source:
Delphi-Quellcode:
procedure TForm1.ApdComPort1TriggerAvail(CP: TObject; Count: Word);
var Data: String; I: Integer; begin Data := ''; for I:= 0 to Count-1 do begin Data := Data + ApdComPort1.GetChar; RichEdit1.SelText := (Data); end; end; |
Re: Daten von ComPort in Stringliste speichern
Dann solle das aber mit
Delphi-Quellcode:
funktionieren.
procedure TForm1.ApdComPort1TriggerAvail(CP: TObject; Count: Word);
var Data: String; I: Integer; begin Data := ''; for I:= 0 to Count-1 do begin Data := Data + ApdComPort1.GetChar; List.Text := (Data); List.SaveToFile(ExtractFilePath(ParamStr(0))+ 'temp.txt'); end; end; |
Re: Daten von ComPort in Stringliste speichern
Tut es aber nicht :cry:
|
Re: Daten von ComPort in Stringliste speichern
Hi,
der Code von Quake kann auch nicht wirklich funktionieren, da die Schleife auch das Add und das Speichern beinhaltet, also für jedes einzelne Zeichen. Und nicht erst, wenn die Zeichenfolge "fertig" ist. Hab doch nun einige Anregungen gegeben bzw. Fragen gestellt (Debuggen, String-Abschluss etc.) - versuch das doch mal, damit wir der Fehlerursache auf die Schliche kommen :!: Gruß Stephan :dance: |
Re: Daten von ComPort in Stringliste speichern
Hi Steve!
Hier nochmal was ich grundsätzlich versuche: Ich stelle eine Verbindung zu dem Endgerät her:
Delphi-Quellcode:
Durch den CR wird die BaudRate des Endgerätes auf 9600 gesetzt (Dies funktioniert
procedure TForm1.ToolButton6Click(Sender: TObject);
begin if FileExists(ExtractFilePath(ParamStr(0))+'verbindung.ini') then begin ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+'verbindung.ini'); if ini.ReadBool ('comport','checked',true) then begin ApdComPort1.ComNumber := ini.ReadInteger('comport','port',0); ApdComPort1.Output := #13; StatusBar1.Panels.Items[0].Text := 'Verbunden'; end; end else Form2.Show; end; komischerweise auch nicht immer). Nun sende ich per Button Click z. B. 'M10=EIN'. Dadurch werden z. B. die Einstellungen abgefragt. Diese hatte ich in einem Beitrag weiter oben schon mal gepostet. So wie sie in dem Beitrag stehen kommen sie auch zurück. Mit Hyperterminal funktioniert das alles sehr gut. Ich weiß eben nicht, wie ich die empfangenen Daten weiterverwerten kann. (Stringliste, in Memo speichern etc.). Fehlermeldungen bekomme ich eigentlich keine. |
Re: Daten von ComPort in Stringliste speichern
Hi,
ich denke, ich verstehe schon halbwegs, was Du machen möchtest :) Mich interessiert viel mehr, woher Dein Fehler (in der abgespeicherten StringList/Datei) kommt. Darum nochmal: Welchen Wert hat der Parameter count in ApdComPort1TriggerAvail und erwartest Du als Abschluss einer empfangenen Zeichenfolge ein bestimmtes Zeichen, damit Du weißt, wann die Übertragung fertig ist? :?: Was ist an den Fragen denn so schwer? :wall: sorry, ich versteh's net... :stupid: Gruß Stephan :dance: |
Re: Daten von ComPort in Stringliste speichern
Hi!
Habt Nachsicht - bin noch Anfänger :mrgreen: Also Count hat bekommt keinen bestimmten Parameter zugewiesen. Ein bestimmtes Zeichen erwarte ich eigentlich nicht am Ende der Über- tragung. Ich könnte z. B. natürlich sagen, dass die letzten 4 Zeichen [M8] sein sollen, obwohl das nicht immer zutreffend ist. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09: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-2025 by Thomas Breitkreuz