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 ShellExecute Parameter übergeben??? (https://www.delphipraxis.net/20168-shellexecute-parameter-uebergeben.html)

Christian18 14. Apr 2004 11:14


ShellExecute Parameter übergeben???
 
Guten Tag,

Ich habe mal eine kleine Frage, die "denke ich" auch zu lösen ist!

Ich habe eine Application programmiert womit ich meine Datenbanken sichern kann. Man kann auswählen in welchen Verzeichnis die Datenbanken liegen die gesichert werden sollen. Also der Pfad ist in einer Paradox7 Tabelle gespeichert. Auf einer anderen Form habe ich ein Edit wo auch ein Pfad in meinem Edit Feld drinn steht. (Das muß man vorher auswählen!!!) Aber in diesem Edit Feld wird eingeschrieben wo die Datensicherung hin gepackt werden sollen. Die Komandozeile um Dateien zu packen lautet:

pacomp.exe -a -c2 -r -P -q test.zip

Das ist die Komandozeile womit ich das Externe Programm anspreche. Anschließend packt meine Application auch was. Aber leider nicht das was es soll. Wie bringe ich hier noch unter wo sich die Quelle befindet und das ziel wo es hin soll(die gepackte Datei)

Delphi-Quellcode:
  ShellExecute(0,'open' , 'pacomp.exe','-a -c2 -r -P -q test.zip ', Nil, SW_NORMAL);
PS: Jetzt Packt das Programm test.zip es soll aber das Datum packen. BSP.: 20040414.zip

Luckie 14. Apr 2004 11:19

Re: ShellExecute Parameter übergeben???
 
Dann bau dir vorher in einer Variablen den String für den Parameter zusammen.

THE MATRIX 14. Apr 2004 11:22

Re: ShellExecute Parameter übergeben???
 
Probier das doch mal so

Delphi-Quellcode:
ShellExecute(0,'open' , 'pacomp.exe','-a -c2 -r -P -q ' + DateToStr(Date) + '.zip ', ExtractFileDir(Application.Exename)+'\backup', SW_NORMAL);
dann ruft der die pacomp.exe af mit dem datum und setzt als Arbeitsverzeichnis den Ordner, wo deine Anweundung ist + backup
z.b. C:\MeinProgramm\backup
der Ordner Backup muss natürlich existieren.

Christian18 14. Apr 2004 11:26

Re: ShellExecute Parameter übergeben???
 
Hi, The Matrix

wenn ich deinen lösungsvorschlag nehme, dann kommt bei mir eine Fehlermeldung.

[Fehler] UTagessicherung.pas(62): Inkompatible Typen: 'String' und 'PChar'

was kann ich dagegen machen???

Luckie 14. Apr 2004 11:27

Re: ShellExecute Parameter übergeben???
 
Du musst die Strings nach PChar casten.

Christian18 14. Apr 2004 11:31

Re: ShellExecute Parameter übergeben???
 
wie mache ich das

Markus K. 14. Apr 2004 11:33

Re: ShellExecute Parameter übergeben???
 
Hallo Christian,
so zum Beispiel.
Delphi-Quellcode:
 ShellExecute(0,'open' , 'pacomp.exe',PChar('-a -c2 -r -P -q ' + DateToStr(Date) + '.zip '), PChar(ExtractFileDir(Application.Exename)+'\backup'), SW_NORMAL);
Tschüß Markus

Christian18 14. Apr 2004 11:55

Re: ShellExecute Parameter übergeben???
 
ich weiß nicht warum, aber wenn ich auf den button klicke, dann passiert gar nichts! es kommt aber auch kein fehler!
weiß jemand warum???

Luckie 14. Apr 2004 11:59

Re: ShellExecute Parameter übergeben???
 
Existiert das verzeichnis backup? Und was gibt dir Shellexecute für eine Zahl zurück?

Christian18 14. Apr 2004 12:15

Re: ShellExecute Parameter übergeben???
 
ja das verzeichnis ist da, aber shellexecute gibt auch keine zahl zurück


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