Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Unix-Linebreaks (https://www.delphipraxis.net/105636-unix-linebreaks.html)

mmueller12 26. Dez 2007 17:09


Unix-Linebreaks
 
Servus,

ich schraube gerade ein bisschen mit der TCP-Komponente von Indy9 herum:
tcp.WriteLn('Foobar'); erzeugt am Ende ein Windows-linebreak (0D 0A). Gibt es da auch eine Funktion, die ein Linux-Linebreak fabriziert?

tcp.Write('Foobar' + chr(10)); erzeugt zwar das gewünschte Ergebnis - aber schön (und vor allem kurz ;-) ) ist das nicht unbedingt. (OT: Gibt es nicht sowas wie "\n" in Pascal?

Danke schon mal, und eine geruhsame Weihnacht.

Alien426 26. Dez 2007 17:40

Re: Unix-Linebreaks
 
Gibt es denn Probleme, wenn CR und LF empfangen werden?

Du könntest etwas kürzer so schreiben:
Delphi-Quellcode:
tcp.Write('Foobar' + #10);
tcp.Write('Foobar'#10); // oder aber auch das Plus noch weg lassen

mmueller12 26. Dez 2007 17:51

Re: Unix-Linebreaks
 
Ja, mein Server verlangt einen "normalen" Linebreak.

Aber das mit der Raute sieht schon mal wesentlich besser aus. Danke :)

inherited 26. Dez 2007 17:54

Re: Unix-Linebreaks
 
Kannst dir auch eine Funktion dafür schreiben
Delphi-Quellcode:
procedure tcpWriteLn(tcp: TIdTCP; text: String);
begin
  tcp.Write(text+#10);
end;
Aber wirklich kürzer ist das nicht, weil du noch dein tcp übergeben musst.

Dax 26. Dez 2007 17:56

Re: Unix-Linebreaks
 
Wenn du >= Delphi 2005 hast, funktioniert auch das:
Delphi-Quellcode:
type
  TClientHelper = class helper for TIdTCPClient
  public
    procedure WriteLnAlternate(s: string);
  end;

procedure TClientHelper.WriteLnAlternate(s: string);
begin
  Write(s + #10);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:09 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