Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   FreePascal (https://www.delphipraxis.net/74-freepascal/)
-   -   Binary Pipe unter Linux (https://www.delphipraxis.net/154308-binary-pipe-unter-linux.html)

NikoMitDaMacht 5. Sep 2010 18:17

Binary Pipe unter Linux
 
Hi!

Ich suche eine Möglichkeit, unter linux die stdin mit einem Lazarus-Programm zu lesen ( z.B.: die Ausgabe von "cat test.wav | meine_anwendung") und dann in eine Art array of byte zu laden.
Ich konnte leider nichts konkretes finden, außer dass es mit c++ leicht gehen soll.
Bin mittlerweile leider auch etwas aus der Übung also bitte erschlagt mich nicht gleich, wenn es zu offensichtlich ist :-D

Ich hoffe jemand kann mir ein paar Schubser in die richtige Richtung geben.

Gruß Niko

mkinzler 5. Sep 2010 18:20

AW: Binary Pipe unter Linux
 
Geht in Lazarus genauso wie in c++. Einfach mit Read()/Readln() einlesen

NikoMitDaMacht 5. Sep 2010 18:34

AW: Binary Pipe unter Linux
 
Ok.
D.h ein einfaches

var buffer: array [0..256] of char;
begin
read(Input, buffer, 256);
...
end;

sollte reichen?
Das wäre ja klasse.
Nur das ich jetzt noch die Chars in bytes umwandeln müsste.

NikoMitDaMacht 5. Sep 2010 18:51

AW: Binary Pipe unter Linux
 
Komisch mir wäre als hätte ich das genau so schon probiert.
Aber es funktioniert.

der Vollständigkeit wegen:
Code:
procedure TForm1.Button5Click(Sender: TObject);
var buf: char;
begin
  Reset(Input);

  while not eof(Input) do
  begin
    read(Input, buf);
    writeLn( '0x' + hexStr(Byte(buf),2) );
  end;

end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:26 Uhr.

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