AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Binary Pipe unter Linux

Ein Thema von NikoMitDaMacht · begonnen am 5. Sep 2010 · letzter Beitrag vom 5. Sep 2010
Antwort Antwort
Benutzerbild von NikoMitDaMacht
NikoMitDaMacht

Registriert seit: 27. Apr 2004
Ort: Freiburg
298 Beiträge
 
Delphi 6 Enterprise
 
#1

Binary Pipe unter Linux

  Alt 5. Sep 2010, 19:17
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

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

Gruß Niko
Niko
Alles was ein Ende hat, hat auch ein Anfang
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Binary Pipe unter Linux

  Alt 5. Sep 2010, 19:20
Geht in Lazarus genauso wie in c++. Einfach mit Read()/Readln() einlesen
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von NikoMitDaMacht
NikoMitDaMacht

Registriert seit: 27. Apr 2004
Ort: Freiburg
298 Beiträge
 
Delphi 6 Enterprise
 
#3

AW: Binary Pipe unter Linux

  Alt 5. Sep 2010, 19:34
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.
Niko
Alles was ein Ende hat, hat auch ein Anfang
  Mit Zitat antworten Zitat
Benutzerbild von NikoMitDaMacht
NikoMitDaMacht

Registriert seit: 27. Apr 2004
Ort: Freiburg
298 Beiträge
 
Delphi 6 Enterprise
 
#4

AW: Binary Pipe unter Linux

  Alt 5. Sep 2010, 19:51
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;
Niko
Alles was ein Ende hat, hat auch ein Anfang
  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 23:12 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