AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Fragen zu Memo feld und <CR><LF> Steuerzeichen
Thema durchsuchen
Ansicht
Themen-Optionen

Fragen zu Memo feld und <CR><LF> Steuerzeichen

Ein Thema von gizmoh · begonnen am 1. Jun 2009 · letzter Beitrag vom 1. Jun 2009
Antwort Antwort
gizmoh

Registriert seit: 9. Jan 2005
Ort: Wilhelmshaven
5 Beiträge
 
#1

Fragen zu Memo feld und <CR><LF> Steuerzeichen

  Alt 1. Jun 2009, 09:38
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
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: Fragen zu Memo feld

  Alt 1. Jun 2009, 09:41
Hallo

Ersetze <CR> durch #13 und <LF> durch #10
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.070 Beiträge
 
Delphi 12 Athens
 
#3

Re: Fragen zu Memo feld

  Alt 1. Jun 2009, 10:11
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
Result := C; oder
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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Fragen zu Memo feld

  Alt 1. Jun 2009, 10:22
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.
  Mit Zitat antworten Zitat
gizmoh

Registriert seit: 9. Jan 2005
Ort: Wilhelmshaven
5 Beiträge
 
#5

Re: Fragen zu Memo feld und <CR><LF> Steuerzeich

  Alt 1. Jun 2009, 10:49
Jo danke euch @ll
ich hab es jetzt !!!

mfg Giz
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Fragen zu Memo feld

  Alt 1. Jun 2009, 10:57
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
Klaus
  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 17:32 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