Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Datei öffnen (https://www.delphipraxis.net/24165-datei-oeffnen.html)

barnti 16. Jun 2004 15:19


Datei öffnen
 
Hallo,
da ich auf dem Gebiet 'WinApi' nicht besonders bewandert bin:

Wie öffne ich eine Datei mit Hilfe der Pfadangabe? Ich habe folgendes gefunden, weiß es aber nicht richtig zu benutzen:
Delphi-Quellcode:
ShellExecute(Handle, nil, PChar(PfadZurDatei), nil, nil, SW_SHOW);
Ich möchte so PDF-Dateien aus meinem Programm öffnen können...

Danke!

S2B 16. Jun 2004 15:22

Re: Datei öffnen
 
Warum hast du Probleme mit dem Code? Trag doch einfach für "PfadZurDatei" den Pfad zur Datei ein!?

Edit: Und ich denke, dass das so heißen muss:
Delphi-Quellcode:
ShellExecute(Handle, 'open', PChar(PfadZurDatei), nil, nil, SW_SHOW);

Die Muhkuh 16. Jun 2004 15:23

Re: Datei öffnen
 
Möchtest du die Datei in einem Richedit oder ähnliches anzeigen? Das wird aber sehr schwierig.

Wenn du sie einfach nur so öffnen willst (Acrobat Reader muss installiert sein), dann so:

Delphi-Quellcode:
ShellExecute(Handle, nil, PChar('C:\Test.pdf'), nil, nil, SW_SHOW);
geht aber auch so:

Delphi-Quellcode:
ShellExecute(Handle, nil, 'C:\Test.pdf', nil, nil, SW_SHOW);

barnti 16. Jun 2004 15:23

Re: Datei öffnen
 
Hallo,

Zitat:

Zitat von S2B
Warum hast du Probleme mit dem Code? Trag doch einfach für "PfadZurDatei" den Pfad zur Datei ein!?

Ich weiß nicht was ich für 'Handle' nehmen muss... :oops:

S2B 16. Jun 2004 15:27

Re: Datei öffnen
 
Zitat:

Zitat von barnti
Ich weiß nicht was ich für 'Handle' nehmen muss... :oops:

Das bleibt so! Warum, erkennt er den Code nicht oder was? Vielleicht hast die Unit vergessen...
Delphi-Quellcode:
uses ShellAPI;
Edit:
Zitat:

Zitat von Spider
geht aber auch so:
Delphi-Quellcode:
ShellExecute(Handle, nil, 'C:\Test.pdf', nil, nil, SW_SHOW);

Das denke ich nicht, kann mich aber auch irren... :wink:

Christian Seehase 16. Jun 2004 15:28

Re: Datei öffnen
 
Moin Barnti,

da könntest Du das Handle Deines Hauptformulares nehmen, z.B.

Delphi-Quellcode:
// Ausserhalb einer Methode Deines Hauptformulares
ShellExecute(Form1.Handle,...);
// oder innerhalb
ShellExecute(self.Handle,...);
ersatzweise ginge auch einfach 0.

barnti 16. Jun 2004 15:30

Re: Datei öffnen
 
Hi,

Zitat:

Zitat von S2B
Zitat:

Zitat von barnti
Ich weiß nicht was ich für 'Handle' nehmen muss... :oops:

Das bleibt so! Warum, erkennt er den Code nicht oder was? Vielleicht hast die Unit vergessen...
Delphi-Quellcode:
uses ShellAPI;

'Handle' unbekannter Bezeichner. ShellApi habe ich aber eingebunden. Ich rufe das ganze aus einer vom Formular getrennten Unit auf...

S2B 16. Jun 2004 15:31

Re: Datei öffnen
 
Siehe Beitrag von Christian Seehase! :wink:

barnti 16. Jun 2004 15:47

Re: Datei öffnen
 
Hallo,
ich habe wohl das Problem, dass die Datei auf einem Netzlaufwerk liegt. Lokal funktioniert es. Ich werde mal weiterbasteln. Danke für eure Hilfe!

MrKnogge 16. Jun 2004 15:47

Re: Datei öffnen
 
Zitat:

Zitat von S2B
Zitat:

Zitat von Spider
geht aber auch so:
Delphi-Quellcode:
ShellExecute(Handle, nil, 'C:\Test.pdf', nil, nil, SW_SHOW);

Das denke ich nicht, kann mich aber auch irren... :wink:

Wenn du es so hinschreibst, funktioniert es, PChar benötigt man nur wenn es eine Variable vom Typ string ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:26 Uhr.
Seite 1 von 2  1 2      

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