Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Externes Programm mit Dok starten / z.B 'Test.pdf' (https://www.delphipraxis.net/137500-externes-programm-mit-dok-starten-z-b-test-pdf.html)

Spargeltarzan 22. Jul 2009 03:34


Externes Programm mit Dok starten / z.B 'Test.pdf'
 
Hallo

Hat jemand eine Idee wie man ein externes Programm aufruft, das dann das gewünschte Dokument (z.B. Test.pdf) anzeigt ?
Ich weiss wie man externe Programme aufruft, aber ich kann nur das Programm aufrufen. Das Dokument muss ich dann "von Hand" noch mit dem Laden Befehl des Programms laden. Ich möchte das Dokument direkt vom Programm darstellen lassen.

franz 22. Jul 2009 04:44

Re: Externes Programm mit Dok starten / z.B 'Test.pdf'
 
Zitat:

Zitat von Spargeltarzan
Hallo

Hat jemand eine Idee wie man ein externes Programm aufruft, das dann das gewünschte Dokument (z.B. Test.pdf) anzeigt ?
Ich weiss wie man externe Programme aufruft, aber ich kann nur das Programm aufrufen. Das Dokument muss ich dann "von Hand" noch mit dem Laden Befehl des Programms laden. Ich möchte das Dokument direkt vom Programm darstellen lassen.

Wenn die Datei Windows bekannt ist, dann rufe doch einfach die Datei auf. Das dazugehörige Programm wird automatisch geladen und die Datei angezeigt:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

uses
  ShellApi; // Wird für ShellExecute() benötigt

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShellExecute(Handle,
    PChar('open'),
    PChar('C:\Eigene Dateien\Test.pdf'),
    nil,
    nil,
    SW_SHOWNORMAL);
end;

end.
Wenn die Datei Windows nicht bekannt ist, dann kannst du folgendes versuchen:

Delphi-Quellcode:
ShellExecute(Handle,
  PChar('open'),
  PChar('C:\Programme\Programm zum Öffnen.exe'),
  PChar('C:\Eigene Dateien\Test.pdf'),
  nil,
  SW_SHOWNORMAL);

Sherlock 22. Jul 2009 07:42

Re: Externes Programm mit Dok starten / z.B 'Test.pdf'
 
Zitat:

Zitat von franz
Wenn die Datei Windows bekannt ist, dann rufe doch einfach die Datei auf. Das dazugehörige Programm wird automatisch geladen und die Datei angezeigt:

Ich konkretisiere das mal zu "Wenn die Dateierweiterung bekannt ist".

;)

Sherlock

Matze 22. Jul 2009 07:42

Re: Externes Programm mit Dok starten / z.B 'Test.pdf'
 
Hallo,

und wenn die Dateiendung Windows bekannt ist und sich das Dokument dennoch nicht über ShellExecute öffnen lässt, dann kannst du es so versuchen: Dateien und Anwendungen aus Delphi heraus starten (ja, hier gibt es eine Suchfunktion).

Grüße, Matze

Tyrael Y. 22. Jul 2009 07:50

Re: Externes Programm mit Dok starten / z.B 'Test.pdf'
 
Ich glaube ihr habt den Threadersteller falsch verstanden.

Zitat:

Zitat von Spargeltarzan
Hallo
...
Ich möchte das Dokument direkt vom Programm darstellen lassen.

Wenn du ein Dokument in deinem eigenen Programm darstellen lassen möchtest, musst du auch wissen, wie du dieses Format zu interpretieren hast.

Ein Beispiel damit es dir etwas klar wird.
Wenn du ein Bild darstellen möchtest, musst du wissen wie die einzelnen Pixel in dem Bildformat interpretiert wurden und entsprechend diesen Vorgaben die Daten umsetzen.

Für einige bekannte Formate wie PDF, DOC usw. gibt es auch fertige Komponenten, die genau diese Aufgabe übernehmen.
Eine allgemeine Lösung kann es nicht geben.


Edit:
OK, nach nochmaligen Lesen muss ich zugeben ICH habe ihn missverstanden.
Einfcah so aufrufen, wie in den anderen Posts beschrieben.


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