AGB  ·  Datenschutz  ·  Impressum  







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

Ausgabe eines DOS-Programmes empfangen

Ein Thema von rebugger · begonnen am 2. Nov 2002 · letzter Beitrag vom 2. Nov 2002
Antwort Antwort
Seite 1 von 2  1 2      
rebugger

Registriert seit: 29. Okt 2002
Ort: Auerbach
190 Beiträge
 
Delphi 7 Professional
 
#1

Ausgabe eines DOS-Programmes empfangen

  Alt 2. Nov 2002, 09:40
Hallo,
ich möchte mit Delphi HTML-Code an ein DOS-Programm schicken !
Dieses verarbeitet es und gibt den neuen Code aus (Das DOS-Programm existiert bereits).

Diese Ausgabe des neuen Codes möchte ich wiederum mit meinem Programm abfangen und in eine Datei abspeichern.

Wie mach ich das ? Hat jemand ein Tut oder ein paar Befehle für mich ?
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#2
  Alt 2. Nov 2002, 09:44
Hmm,

wenn das DOS-Programm auch von Dir ist und du noch was dran basteln kannst, dann könntest Du das Programm mit Parametern öffnen, nachdem es die Daten verarbeitet hat, könnte das DOS, wieder die WIN-Version mit Parametern übergeben. Damit könntest Du die Daten recht einfach hin und her schicken. Ich weiss jetzt allerdings nicht, wie lange die Parameter sein dürfen. Aber Du könntest ja auch nur einen Pfad zur Datei angeben, ohne die Daten an sich zu übergeben. Das wäre am einfachsten.
  Mit Zitat antworten Zitat
rebugger

Registriert seit: 29. Okt 2002
Ort: Auerbach
190 Beiträge
 
Delphi 7 Professional
 
#3
  Alt 2. Nov 2002, 09:47
Leider ist es nicht von mir, und nachprogrammieren wäre zu schwer.
Die eingabe sieht in etwa so aus:
Code:
datei.exe <html>...</html>
und dann gibt das programm unmittelbar danach die ausgabe zurück !
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#4
  Alt 2. Nov 2002, 09:49
Zitat von rebugger:
und nachprogrammieren wäre zu schwer.
So, so... Was macht denn dieses Programm genau, wenn man fragen darf?
  Mit Zitat antworten Zitat
rebugger

Registriert seit: 29. Okt 2002
Ort: Auerbach
190 Beiträge
 
Delphi 7 Professional
 
#5
  Alt 2. Nov 2002, 09:51
naja, ok...
ich habe das ganze vereinfacht.
ich arbeite in letzter zeit viel mit php !
Die DOS-Datei ist der Parser php.exe
Mein Programm liest eine .php-Datei aus, übergibt diese an die php.exe, empfängt den entstandenen HTML-Code, speichert ihn und zeigt ihn an !
(also praktisch als Server-Software für CDs [also ohne installation])
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#6
  Alt 2. Nov 2002, 09:58
Hmm, ich frage mich gerade wie lang die Parameter sein dürfen, die man bei einem Programm übergibt. Der HTML-Code kann ganz schnell mal 3-400Zeilen haben, dann noch der ganze Text, ob man wirklich soo viel Daten übergeben kann?!?
  Mit Zitat antworten Zitat
rebugger

Registriert seit: 29. Okt 2002
Ort: Auerbach
190 Beiträge
 
Delphi 7 Professional
 
#7
  Alt 2. Nov 2002, 10:01
Hm, ich weiß auch nicht...
Wie macht das der Apache-Server ?
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#8
  Alt 2. Nov 2002, 10:09
Also die Ausgabe einer Konsolenanwendung in eine Textdatei umleiten, geht ganz leicht. Du musst nur die Datei folgendermaßen starten:
Code:
start.exe -parameter1 -parameter2 > ausgabe.txt
So wird die Ausgabe in die ausgabe.txt gespeichert.

Wie ein Webserver die PHP.exe aufruft, weiß ich auch nicht, aber ich in mir recht sicher, dass er das nicht über die Parameterliste macht. Vielleicht über Named Pipes, aber vielleicht findest du irgendwo wie es z. B. der Apache macht.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#9
  Alt 2. Nov 2002, 10:21
Nun, ich würde sagen das der Apache, die Datei erzeugt, bzw. er schreibt die Daten in eine Temporäre Datei, diese Datei wird dann einfach nur auf dem Server abgelegt. Bei Zugriff landet sie im Cache des Browsers und der zeigt dann alles an. Irgendwie so ähnlich.
  Mit Zitat antworten Zitat
rebugger

Registriert seit: 29. Okt 2002
Ort: Auerbach
190 Beiträge
 
Delphi 7 Professional
 
#10
  Alt 2. Nov 2002, 10:25
OK, hab ein bißchen was zusammengebastelt:
Code:
Uses ShellAPI;

procedure TMain.FormCreate(Sender: TObject);
var
  PHPstring: TStringlist;
  PHPoutput: String;
begin
  PHPpath := 'php.exe';
  PHPfile := 'index.php';

  PHPstring.LoadFromFile(PHPfile);
  PHPoutput := '>c:\ausgabe.htm';
  PHPstring.Text := StringReplace(PHPstring.Text, #13#10, '', [rfReplaceAll]);

  ShellExecute(0, nil, PHPpath + ' ' + PHPstring[0] + ' ' + PHPoutput, nil, nil, SW_SHOW);

  WebBrowser.Navigate('c:\ausgabe.htm');
end;
Nur leider sagt er bei ShellExecute:
[Fehler] main_unit.pas(89): Inkompatible Typen: 'String' und 'PChar'
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 19:26 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