Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Daten von ComPort in Stringliste speichern (https://www.delphipraxis.net/44882-daten-von-comport-stringliste-speichern.html)

Grolle 26. Apr 2005 13:08


Daten von ComPort in Stringliste speichern
 
Hi!
Ich möchte gerne das, was von der ComSchnittstelle zurück kommt (benutze Async Pro)
in eine Stringliste speichern. Das funtioniert nicht und ich weiß nicht wo der
Fehler liegt (Es wird nur ein Zeichen gespeichert. Müssten aber einige Reihen sein.)
Hier der Quelltext:
Delphi-Quellcode:
procedure TForm1.ApdComPort1TriggerAvail(CP: TObject; Count: Word);
var
  Data: String;
  I: Integer;
  List: TStringList;
begin
  List:=TStringList.Create;
  Data := '';
  for I:= 0 to Count-1 do
    Data := Data + ApdComPort1.GetChar;
    List.Add(Data);
    List.SaveToFile(ExtractFilePath(ParamStr(0))+ 'temp.txt');
    List.Free;
end;

DerDan 26. Apr 2005 13:26

Re: Daten von ComPort in Stringliste speichern
 
Hallo,

du erzeugst deine Datei jedesmal neu wenn ein Event kommt, daher steht da immer nur ein Wert drin!

entweder


du lädst deine Datei immer in die jedesmal neu erzeugte Liste und fügst dann dein Wert dazu


oder

du erzeugst die Liste als Classen Variable der Form und speicherst somit immer alle Events



mfg


DerDan

Grolle 26. Apr 2005 13:49

Re: Daten von ComPort in Stringliste speichern
 
Hi!
Ich kann dir leider nicht so ganz folgen. Die Datei ist ja
eine temporäre Datei und soll nur für dieses Ereignis ge-
ändert (bzw. erzeugt)werden. Ich weiß ja auch, welche Ereignisse
kommen. Bitte nicht schlagen, wenn ich jetzt totalen Müll geschrieben hab. :drunken:

Grolle 2. Mai 2005 14:13

Re: Daten von ComPort in Stringliste speichern
 
Ich brauche nochmal eure Hilfe. Habe es jetzt wie folgt gelöst:
Delphi-Quellcode:
procedure TForm1.ApdComPort1TriggerAvail(CP: TObject; Count: Word);
var
  I: Integer;
begin
  for I:= 0 to Count-1 do
    List.Add(ApdComPort1.GetChar);
    List.SaveToFile(ExtractFilePath(ParamStr(0))+ 'temp.txt');
end;
Jetzt werden allerdings alle Zeichen untereinander und nicht reihenweise
in die Datei gespeichert, wie es sein soll. Wie kann ich das ändern?
Ist wahrscheinlich ne doofe Frage, aber ich habe noch nie wirklich mit
Stringlisten gearbeitet. :roll:

Grolle 3. Mai 2005 14:18

Re: Daten von ComPort in Stringliste speichern
 
*push* :angel2:

Quake 3. Mai 2005 15:04

Re: Daten von ComPort in Stringliste speichern
 
List.Add legt immer eine neue Zeile an.
List.text:=List.text + ApdComPort1.GetChar;

Grolle 3. Mai 2005 15:53

Re: Daten von ComPort in Stringliste speichern
 
Hi!
Klappt auch nicht. Jeder Buchstabe wird schön untereinander
in der Datei abgespeichert. :?

Steve 4. Mai 2005 09:19

Re: Daten von ComPort in Stringliste speichern
 
Hi,
evtl. gehts so:
Delphi-Quellcode:
procedure TForm1.ApdComPort1TriggerAvail(CP: TObject; Count: Word);
var
  I: Integer;
  txt: STRING;
begin
  txt := '';
  for I:= 0 to Count-1 do
  begin
    txt := txt+ApdComPort1.GetChar;
  end;
  List.Add(txt);
  List.SaveToFile(ExtractFilePath(ParamStr(0))+ 'temp.txt');
end;

[edit] Sind evtl CR/LF's (#13#10) in der empfangenen Zeichenkette enthalten? [/edit]
Gruß
Stephan :dance:

Grolle 4. Mai 2005 10:14

Re: Daten von ComPort in Stringliste speichern
 
Hi!
Funktioniert leider auch nicht. Alle Buchstaben stehen in der Liste
untereinander. Vielleicht sollt ich mich mal nach einer anderen
Lösung umsehen?

Steve 4. Mai 2005 10:22

Re: Daten von ComPort in Stringliste speichern
 
Hi,

hast mal geschaut, welche Zeichen in 'txt' stehen? Wie groß ist 'count'?
Ist count bspw. 1, dann müssen die Zeichen untereinander stehen.
Wie wird Dein erwarteter String abgeschlossen?
Habe selber schon einiges mit ASync Pro gemacht, und das funzt mit Sicherheit irgendwie :mrgreen:

Gruß
Stephan :dance:


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 Uhr.
Seite 1 von 3  1 23      

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 by Thomas Breitkreuz