Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Fragen zu Memo feld und <CR><LF> Steuerzeichen (https://www.delphipraxis.net/134909-fragen-zu-memo-feld-und-cr-lf-steuerzeichen.html)

gizmoh 1. Jun 2009 08:38


Fragen zu Memo feld und <CR><LF> Steuerzeichen
 
Moin ich habe folgendes problem:
Ich bekomme über die rs232 eine antwort wird mir in mein memofeld auch an gezeigt aber alles nur in einer zeile nicht sauber mit zeilenumbrüche usw. ...
so sieht die antwort aus:
Zitat:

Kundenr;Kunde;Kundenname;Kundenstrasse;Kundenort;K undenKFZ;Datum;Uhrzeit;LFD;ID;1GW;2GW;Taga;Netto;B rutto;Matterial<CR><LF>1;Meier;Horst Meier;Musterstrasse 12;26229 Neuenburg;Fri-AC 129;29.05.2009;21:12:15;1;15;12000kg;36040kg;;;240 40;Mais<CR><LF>2;Müller;Tim Müller;Am Berg 9;26389 Wilhelmshaven;WHV-TM 906;28.05.2009;09:23:30;2;16;8000kg;27600kg;;;1960 0;Silo<CR><LF>1;Meier;Horst Meier;Musterstrasse 12;26229 Neuenburg;Fri-AC 129;30.05.2009;13:51:26;3;15;11960kg;38020kg;;;260 60;Mais<CR><LF>
wie man sehen kann bekomme ich ja die steuerzeichen <CR> und <LF> aber er macht es nicht im memofeld ? er schreibt mir alles in einer zeile ....

kann mir einer helfen ?
mfg Giz

toms 1. Jun 2009 08:41

Re: Fragen zu Memo feld
 
Hallo

Ersetze <CR> durch #13 und <LF> durch #10

himitsu 1. Jun 2009 09:11

Re: Fragen zu Memo feld
 
Delphi-Quellcode:
LF : Result := 'LF';
CR : Result := 'CR';
Wie drüben schon gesagt wurde ... nimm diese Zeichen (CR&LF) aus deiner GibZeichen-Funktion raus.

Entweder je
Delphi-Quellcode:
Result := C;
oder
Delphi-Quellcode:
if (C >= ZeichenBlank) or (C = CR) or (C = LF) then
Wozu ein neuer Thread?
Und ändere bitte den Threadtitel ... "Fragen zu Memo feld" ist kein aussagekräfitger Titel, welcher das Problem kurz umschreibt :!: (dazu einfach den 1. Beitrag editieren)



PS: Delphi wertet CR+LF gemeinsam aus und wandelt diese um ... also nicht jedes Zeichen einzaln an Memo/Edit.Text übergeben, sondern erst in einen Temp-String und dann alles zusammen.

Satty67 1. Jun 2009 09:22

Re: Fragen zu Memo feld
 
Zitat:

Zitat von himitsu
Und wozu ein neuer Thread?

Ich glaube er hat die Antwort dort nicht verstanden bzw. das Prinzip eines echten CR/LF vs. einer "Übersetzung".

Wenn Delphi CR/LF nur gemeinsam auswertet ist es vielleicht besser LF unter den Tisch fallen zu lassen und gleich für CR ein CR/LF einzufügen:
Delphi-Quellcode:
case c of
  // nur die Änderungen angezeigt:
  {LF : Result := 'LF'; das auskommentieren}
  CR : Result := #13#10; {CR durch echtes CR/LF ersetzen}
Wird halt noch zu regeln sein, dass die eckigen Klammern bei CR nicht gesetzt werden.

..oder halt je nachdem wie das TMemo gefüllt wird CR und LF einfach überhaupt nicht übersetzen.

gizmoh 1. Jun 2009 09:49

Re: Fragen zu Memo feld und <CR><LF> Steuerzeich
 
Jo danke euch @ll
ich hab es jetzt !!!

mfg Giz

Klaus01 1. Jun 2009 09:57

Re: Fragen zu Memo feld
 
Zitat:

Zitat von Satty67
Wenn Delphi CR/LF nur gemeinsam auswertet ist es vielleicht besser LF unter den Tisch fallen zu lassen und gleich für CR ein CR/LF einzufügen:
Delphi-Quellcode:
case c of
  // nur die Änderungen angezeigt:
  {LF : Result := 'LF'; das auskommentieren}
  CR : Result := #13#10; {CR durch echtes CR/LF ersetzen}

.. damit es etwas schöner wird:
Delphi-Quellcode:
case c of
  // nur die Änderungen angezeigt:
  {LF : Result := 'LF'; das auskommentieren}
  CR : Result := sLineBreak;
Grüße
Klaus


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:51 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz