![]() |
Commandlineprogramm + Variablen direkt mit Shellexecute
Erst mal an alle frohe Ostern.
Tjia ich code auch an Ostern... So nun hab ich kurz eine Frage: Ist es möglich ein commanlineprogramm mit variablen direct aus einem Delphiprogramm mit Shellexecute auszuführen? Hier der Quellschnipsel:
Delphi-Quellcode:
Die Edit ist nur für Debugzwecken da. Anscheinend geht der Aufruf mit ShellExecute nicht, bzw kann ich den Inhalt der Edit starten?
Edit1.text:='ffmpeg.exe' +AB+AR+CH+AC+' -i "'+Opensource.filename+'" "'+Saveoutput.filename+'"';
ShellExecute(0, Nil, PChar('ffmpeg.exe' +AB+AR+CH+AC+' -i "'+Opensource.filename+'" "'+Saveoutput.filename+'"'), Nil, Nil, SW_NORMAL); Würde zum Beispiel so aussehen:
Code:
commandlineprogramm.exe -ab 384 -ar 48000 -ac 6 -acodec ac3 -i "F:\dayafter\dayafter AC3 T01 2_0ch 192Kbps DELAY -480ms.ac3" "F:\dayafter\out.ac3"
|
Re: ShellExecute+Variable
Hi,
ich weiß net ob ich dein Problem richtig verstehe ( :? ), aber ist dir bewusst das Parameter, die du an die Anwendung übergeben willst, im 4. Parameter von ShellExecute stehen? Zitat:
|
Re: ShellExecute+Variable
Delphi-Quellcode:
... muss ich noch rumtüffteln.
Edit1.text:=AB+AR+CH+AC+' -i "'+Opensource.filename+'" "'+Saveoutput.filename+'"';
ShellExecute(0, Nil, PChar('ffmpeg.exe'), Edit1.text, Nil, SW_NORMAL); |
Re: ShellExecute+Variable
Ansonsten ist es sicherlich auch sinnvoll den kompletten Pfad zu der Datei bzw.
(wenn die Datei im Programm-Ordner liegt)
Delphi-Quellcode:
anzugeben.
ExtractFilePath(Application.ExeName)+'ffmpeg.exe';
|
Re: ShellExecute+Variable
Inhalt:
Code:
Hmm Ihr habt das Problem noch nicht ganz überrissen.
ACDreiEnc.exe -ab 384 -ar 48000 -ac 6 -acodec ac3 -i "F:\dayafter\dayafter AC3 T01 2_0ch 192Kbps DELAY -480ms.ac3" "F:\dayafter\out.ac3"
Ich kann es so lösen. Ich mach ne Bat mit dem Inhalt (siehe oben) und starte die BAt mit shellexecute. Meine Frage war aber, ob ich den Inhalt direct mit shellexecute aufrufen kann? Alles was hinter ACDreiEnc.exe steht sind die Variablen des Programms. Diese werden benötigt damit die Audiodatei encodiert wird. Sprich es ist ein Commandlineprogramm. |
Re: Commandlineprogramm + Variablen direkt mit Shellexecute
Wie dir schon geantwortet wurde, das sind die Parameter und dafür ist der vierte Parameter von Shellexecute da.
|
Re: Commandlineprogramm + Variablen direkt mit Shellexecute
Und dann kann ich
Code:
als parameter angeben ...
-ab 384 -ar 48000 -ac 6 -acodec ac3 -i "F:\dayafter\dayafter AC3 T01 2_0ch 192Kbps DELAY -480ms.ac3" "F:\dayafter\out.ac3"
Delphi-Quellcode:
HMM muss nochmal SHELLEXECUTE rauskramen...
ShellExecute(0, Nil, PChar('ffmpeg.exe'), PAnsiChar(AB+AR+CH+AC+' -i '+Opensource.filename+' '+Saveoutput.filename+''), Nil, SW_NORMAL);
Jetzt hab ichs ... ...hat zwar gedauert, bin aber draufgekommen!
Delphi-Quellcode:
Edit1.text:=AB+AR+CH+AC+' -i "'+Opensource.filename+'" "'+Saveoutput.filename+'"';
ShellExecute(0, Nil, PChar('d:\ACDrei\ffmpeg.exe'), PChar(Edit1.text), Nil, SW_NORMAL); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz