Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi bat Datei öffnen (https://www.delphipraxis.net/109656-bat-datei-oeffnen.html)

Hermann85 5. Mär 2008 14:01


bat Datei öffnen
 
Hallo,
ich wollte über ShellExecut() eine bat Datei öffnen, da tut sich aber gar nichts. Wenn ich die Datei per Hand öffne funktionierts perfekt.
Hab ich vlt. irgendwas falsch eingegeben??

Delphi-Quellcode:
 ShellExecute(Application.Handle,'open','Pfad mit Datei',nil,nil,SW_Normal);
danke schon mal im Vorraus

lg Hermann

s-off 5. Mär 2008 14:08

Re: bat Datei öffnen
 
Bei mir geht's :mrgreen:

Hermann85 5. Mär 2008 14:09

Re: bat Datei öffnen
 
schön...

Luckie 5. Mär 2008 14:10

Re: bat Datei öffnen
 
Was verstehst du unter "öffnen"? Ausführen oder in einem Editor anzeigen?

Hermann85 5. Mär 2008 14:12

Re: bat Datei öffnen
 
eigentlich ausführen

Larsi 5. Mär 2008 14:13

Re: bat Datei öffnen
 
Und wenn dus bei Start Ausführen reinschreibsts, gehts dann???

Fussball-Robby 5. Mär 2008 14:17

Re: bat Datei öffnen
 
Oder hast du vielleicht den Dateipfad falsch geschrieben / Datei existiert garnicht?

Luckie 5. Mär 2008 14:19

Re: bat Datei öffnen
 
Zitat:

Zitat von Hermann85
eigentlich ausführen

Und woher weißt du, dass nichts passiert? hast du den Rückgabewert von MSDN-Library durchsuchenShellexecute schon mal überprüft?

s-off 5. Mär 2008 14:21

Re: bat Datei öffnen
 
Zitat:

Zitat von Luckie
Zitat:

Zitat von Hermann85
eigentlich ausführen

Und woher weißt du, dass nichts passiert? hast du den Rückgabewert von MSDN-Library durchsuchenShellexecute schon mal überprüft?

Bei dem Aufruf, den er nutzt, muss er keinen Rückgabewert prüfen, da er die Konsole sehen wird bzw. sollte. Zur not mal 'pause' reinschreiben, wenn man eine schlechte Reaktionszeit hat.

Hermann85 5. Mär 2008 14:24

Re: bat Datei öffnen
 
Zitat:

Und wenn dus bei Start Ausführen reinschreibsts, gehts dann???
jap...funktioniert

Zitat:

Oder hast du vielleicht den Dateipfad falsch geschrieben / Datei existiert garnicht?
ist richtig eingegeben...hab ich schon paar mal kontrolliert

Zitat:

Und woher weißt du, dass nichts passiert?
damit wird eine Datei auf dem Desktop erstellt. wenn ichs per hand starte funktionierts auch

s-off 5. Mär 2008 14:25

Re: bat Datei öffnen
 
Ich tippe darauf, dass die Datei erzeugt wird, aber nicht dort, wo Du es erwartest - zeig mal den Inhalt Deiner Batch-Datei :zwinker:

mkinzler 5. Mär 2008 14:26

Re: bat Datei öffnen
 
Stimmt den das Arbeitsverzeichnis?

s-off 5. Mär 2008 14:28

Re: bat Datei öffnen
 
Zitat:

Zitat von mkinzler
Stimmt den das Arbeitsverzeichnis?

Das war es, worauf ich hinaus wollte.

Hermann85 5. Mär 2008 14:29

Re: bat Datei öffnen
 
Batch Datei:

d:
cd Programme
cd gpsbabel1.3.4
gpsbabel %D:-i kml -f "C:\Dokumente und Einstellungen\admin\Desktop\Daten\Polygon\Lastring .kml" -o arc -F "C:\Dokumente und Einstellungen\admin\Desktop\polygon.txt" %

s-off 5. Mär 2008 14:32

Re: bat Datei öffnen
 
Hmm, was gpsbabel da intern mit den übergebenen Argumenten veranstaltet, kann ich natürlich nicht sagen. Auf den ersten Blick sieht es erstmal ok aus.

Übergib den Pfad zum Desktop testweise mal an ShellExecute

Hermann85 5. Mär 2008 14:36

Re: bat Datei öffnen
 
meintest du so?

Delphi-Quellcode:
ShellExecute(Application.Handle,'open','C:\Programme und Einstellungen\admin\Desktop\arc-filter_erstellen.bat',nil,nil,SW_Normal);

s-off 5. Mär 2008 14:37

Re: bat Datei öffnen
 
Nein, so

Delphi-Quellcode:
ShellExecute(Application.Handle, 'open', 'C:\Programme und Einstellungen\admin\Desktop\arc-filter_erstellen.bat', nil, 'C:\Programme und Einstellungen\admin\Desktop\', SW_Normal);
Edit: kommt gpsbabel vielleicht mit den Blanks im Pfad nicht klar?

Hermann85 5. Mär 2008 14:40

Re: bat Datei öffnen
 
nein...geht auch nicht

s-off 5. Mär 2008 14:43

Re: bat Datei öffnen
 
Dann weiß ich's auch nicht.

Versuch halt mal, ob es funktioniert, wenn sowohl die Batch-Datei, als auch der Ausgabeort im Root von C liegen

DeddyH 5. Mär 2008 14:46

Re: bat Datei öffnen
 
Nur eine Idee:
Delphi-Quellcode:
ShellExecute(Application.Handle,'open','cmd.exe','/c C:\Programme und Einstellungen\admin\Desktop\arc-filter_erstellen.bat',nil,SW_Normal);

s-off 5. Mär 2008 14:50

Re: bat Datei öffnen
 
Zitat:

Zitat von DeddyH
Nur eine Idee:
Delphi-Quellcode:
ShellExecute(Application.Handle,'open','cmd.exe','/c C:\Programme und Einstellungen\admin\Desktop\arc-filter_erstellen.bat',nil,SW_Normal);

In dem Fall müsste der Pad aber gequoted werden.

DeddyH 5. Mär 2008 14:51

Re: bat Datei öffnen
 
Jepp, stimmt, hab ich übersehen. Also dann so:
Delphi-Quellcode:
ShellExecute(Application.Handle,'open','cmd.exe','/c "C:\Programme und Einstellungen\admin\Desktop\arc-filter_erstellen.bat"',nil,SW_Normal);

Hermann85 5. Mär 2008 15:00

Re: bat Datei öffnen
 
Zitat:

Versuch halt mal, ob es funktioniert, wenn sowohl die Batch-Datei, als auch der Ausgabeort im Root von C liegen
das funktioniert

danke

@ DeddyH: das funktioniert auch, allerdings hab ich keine ahnung, wo er mir das hinspeichert

s-off 5. Mär 2008 15:03

Re: bat Datei öffnen
 
Zitat:

Zitat von Hermann85
@ DeddyH: das funktioniert auch, allerdings hab ich keine ahnung, wo er mir das hinspeichert

Schau mal im Projektverzeichnis von Delphi; bei D2006 ist das standardmässig '[]\Eigene Dateien\Borland Studio-Projekte'

Hermann85 5. Mär 2008 15:09

Re: bat Datei öffnen
 
nein...nix zu finden

s-off 5. Mär 2008 15:12

Re: bat Datei öffnen
 
Dann musst Du halt mal die Suche bemühen.

Hermann85 5. Mär 2008 15:13

Re: bat Datei öffnen
 
trotzdem danke...hat mir alles schon bisl weiter geholfen

Prototypjack 5. Mär 2008 17:14

Re: bat Datei öffnen
 
Zitat:

Zitat von Hermann85
Batch Datei:

d:
cd Programme
cd gpsbabel1.3.4
gpsbabel %D:-i kml -f "C:\Dokumente und Einstellungen\admin\Desktop\Daten\Polygon\Lastring .kml" -o arc -F "C:\Dokumente und Einstellungen\admin\Desktop\polygon.txt" %

Moin,

Gestatte mir eine Frage:
Wie rufst du das gpsbabel-Programm nicht direkt aus deinem Programm heraus auf, sondern gehst über eine Batchdatei? ShellExecute kann sehr gut mit Parametern umgehen, also ist alles was du hier versuchst augenscheinlich nur umständlich und unsauber.

Grüße,
Max

OldGrumpy 5. Mär 2008 23:06

Re: bat Datei öffnen
 
Zitat:

Zitat von Hermann85
Batch Datei:

d:
cd Programme
cd gpsbabel1.3.4
gpsbabel %D:-i kml -f "C:\Dokumente und Einstellungen\admin\Desktop\Daten\Polygon\Lastring .kml" -o arc -F "C:\Dokumente und Einstellungen\admin\Desktop\polygon.txt" %

Obige Zeilen wechseln auf Laufwerk D: nicht unbedingt ins gewünschte Verzeichnis. Wenn der aktuelle Pfad auf Laufwerk D: z.B. D:\Foo ist, dann versucht die Batchdatei, ins Verzeichnis D:\Foo\Programme zu wechseln, was natürlich nicht klappt.

Abgesehen von dem Punkt den Prototypjack schon aufgezeigt hat, sollte also wenn schon überhaupt mit dieser Krücke von Batchdatei die zweite Zeile "cd \Programme" lauten.

Hermann85 6. Mär 2008 07:59

Re: bat Datei öffnen
 
@Max: eigentlich hast du recht...aber, das ich ein programmierneuling bin kenn ich mich noch nicht so gut aus...hab es jetzt auf jeden fall hinbekommen

Danke noch mal an alle für die tips

Grüße Hermann

Prototypjack 6. Mär 2008 18:14

Re: bat Datei öffnen
 
Zitat:

Zitat von Hermann85
@Max: eigentlich hast du recht...aber, das ich ein programmierneuling bin kenn ich mich noch nicht so gut aus...hab es jetzt auf jeden fall hinbekommen

Danke noch mal an alle für die tips

Grüße Hermann

Kein Problem, jeder fängt ja schließlich mal von vorne an ;)

Ich wollte dich gar nicht zurechtweisen, das war eher als Tipp in Form einer rhetorischen Frage gemeint ;)

Grüße,
Max


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