Autor |
Beitrag |
g1o2k4
      
Beiträge: 493
|
Verfasst: Fr 24.09.10 11:17
Hallo.
Simple Frage: Was ist in Delphi das was in C '\n' ist?
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Fr 24.09.10 11:22
Der Zeilenumbruch? Den bekommt man in Delphi mit #13#10 hin, ohne die ' ' drumherum, also:
Delphi-Quelltext 1:
| zweiZeilenString := 'Eine Zeile' + #13#10 + 'noch eine Zeile'; |
_________________ We are, we were and will not be.
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Fr 24.09.10 11:23
Wobei man die Plus-Zeichen weglassen kann:
Delphi-Quelltext 1:
| 'String'#13#10'String'; |
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Für diesen Beitrag haben gedankt: Jakob_Ullmann
|
|
mkinzler
      
Beiträge: 4106
Erhaltene Danke: 13
Delphi 2010 Pro; Delphi.Prism 2011 pro
|
Verfasst: Fr 24.09.10 11:36
Es gibt auch eine Konstante dafür (sLineBreak). Diese war wegen Kylix notwendig und wird auch wieder bei XE2 wichtig, da bei anderen Betriebssystemen dieser abweicht
_________________ Markus Kinzler.
|
|
g1o2k4 
      
Beiträge: 493
|
Verfasst: Fr 24.09.10 11:37
danke aber bringt mich nicht wirklich weiter.
es geht um folgendes:
ich will über rs232 befehle senden und empfangen. die schnittstelle kann nur strings senden und empfangen, aber die befehle sind hex kodiert.
ein befehl ist z.b. 0xA0 gefolgt von \n bzw #13#10.
wie wandel ich das am einfachsten in einen string um den ich dann verschicken kann?
|
|
Bergmann89
      
Beiträge: 1742
Erhaltene Danke: 72
Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
|
Verfasst: Fr 24.09.10 11:46
Hey,
Delphi-Quelltext 1: 2: 3:
| var msg: String; msg := '0xA0'+#13#10; |
Jetz hast du nen String, den du verschicken kannst. Oder hab ich dir Frage jetz falsch verstanden? In C wird das /n intern doch auch nur in die 2 Zeichen für den Zeilenumbruch verwendet, das mit dem /n ist doch bloß ne Vereinfachung für die Eingabe. Oder bin ich da im Irrglauben?!
MfG Bergmann.
_________________ Ich weiß nicht viel, lern aber dafür umso schneller^^
|
|
g1o2k4 
      
Beiträge: 493
|
Verfasst: Fr 24.09.10 11:57
dann hätte ich ja den hex wert einfach als string, aber nicht konvertiert.
ich brauche quasi senstring(hextostring(A0)). der hex wert soll quasi in das entsprechende ascii zeichen konvertiert und dann geschickt werden.
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Fr 24.09.10 11:59
Das geht soweit ich weiß mit IntToStr($A0). Zum zeilenumbruch müsstest du herausfinden ob du wirklich #13#10 oder nur #10 brauchst.
_________________ Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
|
|
Sinspin
      
Beiträge: 1335
Erhaltene Danke: 118
Win 10
RIO, CE, Lazarus
|
Verfasst: Fr 24.09.10 12:00
Wenn ich mich recht erinnere war \n sogar nur #10. #13 ist \r.
Zur Ausgabe im String musst du die Hex-Zahl dann via Chr() in ein Zeichen umwandeln. Und die numerische Representation für den Zeilenumbuch "#10" anhängen:
Delphi-Quelltext
_________________ Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 24.09.10 12:05
Für diesen Beitrag haben gedankt: Jakob_Ullmann, Sinspin
|
|