Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Einer Anwendung ein bestimmte Datei übergeben? (https://www.delphipraxis.net/41572-einer-anwendung-ein-bestimmte-datei-uebergeben.html)

Tommy111 5. Mär 2005 12:08


Einer Anwendung ein bestimmte Datei übergeben?
 
Moin,
hab mal wieder en Problem, daß ich nicht allein hinbekomme! :wall:
Es geht um das starten einer ander Anwendung aus meinem selbsgeschriebenen Delphi-Programm.
Also ich will der word.exe die Datei übergeben, die im Edit1 steht (z.B. c:\dokumente\test.doc)!
Mein Versuch:
Delphi-Quellcode:
ShellExecute(0, 'open' ,PChar('word.exe'), PChar(Form6.Edit1.Text), nil, sw_ShowNormal);

Das Problem dabei ist, daß ich immer den kompletten Pfad im Edit1 stehen haben will, damit ich jedes *.doc an belieb abgespeicherter Stelle öffnen kann. Der Anwendung word.exe läßt sich aber kein kompletter Pfad übergeben, sondern nur die zu öffnende *.doc Datei.

Also, wie läßt sich eine Datei(mit Pfadangabe) mit einem bestimmten Programm öffnen???

BenjaminH 5. Mär 2005 12:13

Re: Einer Anwendung ein bestimmte Datei übergeben?
 
Salute,
vielleicht klappt das:
Delphi-Quellcode:
ShellExecute(0, 'open' ,PChar('word.exe'), PChar('"'+Form6.Edit1.Text+'"'), nil, sw_ShowNormal);

_master_ 5. Mär 2005 12:16

Re: Einer Anwendung ein bestimmte Datei übergeben?
 
also das klappt auch ganz gut, es öffnet es mit der standard anwendung
Delphi-Quellcode:
  ShellExecute(Handle, 'open', PChar('c:\docs\test1.doc'), nil, nil, SW_SHOW);

himitsu 5. Mär 2005 12:22

Re: Einer Anwendung ein bestimmte Datei übergeben?
 
Zitat:

Zitat von BenjaminH
vielleicht klappt das:

Es wird es wohl (mit ganz großer Sicherheit :zwinker: )

Im 3. Parameter wird nur eine Datei erwartet, also wirde dort auch nicht an Leerzeichen aufgeteilt, was bei den Parametern nicht der Fall ist, dort werden ja die einzelnen Parameter durch Leerzeichen voneinander getrennt, also muß/sollte man irgendwie (mit dem ") kenzeichnen, was zusammengehört.


PS: der Code von _master_ hat einen netten Vorteil, denn wenn kein Word vorhanden ist, oder der Benutzer ein anderes Programm bevorzugt (z.B. Open Office...).
Denn dort wird es dem PC überlassen, welches Programm verwendet werden soll.

Luckie 5. Mär 2005 12:25

Re: Einer Anwendung ein bestimmte Datei übergeben?
 
Meine Idee: http://www.delphipraxis.net/internal...=330330#330330

Tommy111 6. Mär 2005 11:49

Re: Einer Anwendung ein bestimmte Datei übergeben?
 
Also, irgendwie klappt das net!
Nochmal:
Ich will einer bestimmten Anwendung *.exe (hab da jetz Word nur als Beispiel genommen) eine Datei, die ich vorher über en OpenDialog in ein Edit geschrieben hab, übergeben!

Beispiel:
ich hab ne Datei c:\test_ordner\datenmuster.stl und will die mit der anwendung Beliebig.exe öffnen.

Binärbaum 6. Mär 2005 14:16

Re: Einer Anwendung ein bestimmte Datei übergeben?
 
Zitat:

Zitat von Tommy111
Also, irgendwie klappt das net!

Was genau geht denn nicht?
Wenn du es so machst, wie von BenjaminH vorgeschlagen, müsste es funktionieren.
Delphi-Quellcode:
ShellExecute(0, 'open' ,PChar('C:\IgendeinOrdner\beliebig.exe'), PChar('"'+Form6.Edit1.Text+'"'), nil, SW_ShowNormal);
MfG
Binärbaum

moritz 6. Mär 2005 14:20

Re: Einer Anwendung ein bestimmte Datei übergeben?
 
Das Problem bei der Sache ist, dass es keine Standards gibt. Will heißen, jedes Programm macht es so, wie es es für richtig hält.
Manche erwarten es einfach als 2. Paramterer, manche mit ... -oPFAD, manche überhaupt nicht, ....

Luckie 6. Mär 2005 14:22

Re: Einer Anwendung ein bestimmte Datei übergeben?
 
Was gibt den Shellexecute für einen Fehlercode zurück?

Tommy111 6. Mär 2005 21:07

Re: Einer Anwendung ein bestimmte Datei übergeben?
 
Zitat:

Was gibt den Shellexecute für einen Fehlercode zurück?
Also starten kann ich mein geschriebes Programm, das is kein Problem!

Das Problem ist einfach der Pfad der Datei die ich öffnen will!
Ich hab die Anwendung Beliebig.exe und die Datei datenmuster.stl mal in den Ordner reinkopiert wo mein selbst geschriebenes Delphi-Programm drinsteht, un da klappt das.
Ich will aber auch die datenmuster.stl mit Beliebig.exe öffnen können, wenn sich die datenmuster.stl in einem beliebig anderen Verzeichniss befindet! Deshalb muß ich doch auch den Pfad mit übergeben, oder?!


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