Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi ShellExecute will einfach nicht! (https://www.delphipraxis.net/115034-shellexecute-will-einfach-nicht.html)

Fussball-Robby 4. Jun 2008 20:21

Re: ShellExecute will einfach nicht!
 
Zitat:

Zitat von chuckySTAR
Mit /k sagt er, dass die Datei nicht gefunden wurde und mit /c schließt sich das cmd sofort und es passiert nichts

Dann existieren die Dateien wohl nicht :wink:

Die Muhkuh 4. Jun 2008 20:22

Re: ShellExecute will einfach nicht!
 
Kannst Du sicherlich mit FileStreams oder klassisch per AssignFile und Konsorten machen :)

chuckySTAR 4. Jun 2008 20:25

Re: ShellExecute will einfach nicht!
 
die dateien wurden aber per OpenDialog ausgewählt

taaktaak 4. Jun 2008 20:25

Re: ShellExecute will einfach nicht!
 
Na, dann prüfe doch zunächst einmal, ob die beiden Dateiangaben überhaupt korrekt sind (das müssen sie ja sein, egal ob du's mit cmd.exe oder mit einem Delphicode machst). Füge doch einfach mal zum Testen an geeigneter Stelle folgendes ein:


Delphi-Quellcode:
if FileExists(Edit1.text) then ShowMessage('datei gefunden')
                          else showmessage('datei nicht gefunden');
(und gleiches für das zweite edit!) - Das solltest du erst einmal klären, bevor wir hier an der falschen Stelle suchen.


// edit: und wieso stehen die pfade dann in einem edit?

Fussball-Robby 4. Jun 2008 20:33

Re: ShellExecute will einfach nicht!
 
Schließ die Pfade mal in Anführungszeichen ein (z.B.: "D:\Bild.jpg"), denn wenn ein Leerzeichen im Pfad ist, wird der Teil danach al neuer Parameter angesehen.

IceTube 4. Jun 2008 20:41

Re: ShellExecute will einfach nicht!
 
Servus!

Ich denke das geht soo...

Delphi-Quellcode:
ShellExecute(Application.Handle,
                 'open',
                 PChar('command.com'),
                 PChar('copy "' + Edit1.Text+'"' +  Edit2.Text+'"'+ ' "' + Edit3.Text+'"'),
                 nil, SW_NORMAL);
lg

Edit:
Wieso eigentlich 3 Edit's ??

Der Befehl geht ja so:
(copy C:\Datei.txt C:\Copy\Datei.txt)

chuckySTAR 4. Jun 2008 20:45

Re: ShellExecute will einfach nicht!
 
es passiert genau das gleich wenn ich das so schreibe:
PChar('/c copy /b C:\Dokumente und Einstellungen\th16rv\Desktop\1.jpg + C:\Dokumente und Einstellungen\th16rv\Eigene Dateien\clip0001.rar C:\Dokumente und Einstellungen\th16rv\Desktop\Output.jpg'),


Edit:
Delphi-Quellcode:
ShellExecute(Application.Handle,
                   'open',
                   PChar('cmd.exe'),
                   PChar('/c copy /b "' + Edit1.Text + '" + "' + Edit2.Text+'" ' + '"' + Edit3.Text+'"'),
                   nil, SW_NORMAL);

Endlich geschafft ^^
es klappt endlich!

Danke an euch alle!

Die Muhkuh 4. Jun 2008 20:49

Re: ShellExecute will einfach nicht!
 
Du solltest das Copy vorneran stellen und nicht den Parameter /c?

IceTube 4. Jun 2008 20:50

Re: ShellExecute will einfach nicht!
 
Zitat:

Zitat von chuckySTAR
PChar('/c copy /b C:\Dokumente und Einstellungen\th16rv\Desktop\1.jpg + C:\Dokumente und Einstellungen\th16rv\Eigene Dateien\clip0001.rar C:\Dokumente und Einstellungen\th16rv\Desktop\Output.jpg')

Ich versteh das nicht, wieso "C:\Dokumente und Einstellungen\th16rv\Desktop\1.jpg + C:\Dokumente und Einstellungen\th16rv\Eigene Dateien\clip0001.rar"

Das bedeutet ja eigentlich "Clip00001.rar" mit "1.jpg" wird kopiert nach "...Output.jpg", oder nicht?

Du kannst ja nur eine Datei zu einem anderen Ort kopieren,aber doch nicht 2 Dateien zu einer Datei!?!

...Oder check ich da was nicht?

himitsu 4. Jun 2008 20:51

Re: ShellExecute will einfach nicht!
 
warum muß es denn unbedingt ShellExecute sein, obwohl man diese Opreration auch sehr leicht selber lösen könnte?


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:36 Uhr.
Seite 2 von 3     12 3      

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