AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Commandlineprogramm + Variablen direkt mit Shellexecute
Thema durchsuchen
Ansicht
Themen-Optionen

Commandlineprogramm + Variablen direkt mit Shellexecute

Ein Thema von DRPEnc · begonnen am 11. Apr 2004 · letzter Beitrag vom 11. Apr 2004
Antwort Antwort
DRPEnc

Registriert seit: 20. Feb 2004
Ort: Noch unterm Mond
126 Beiträge
 
#1

Commandlineprogramm + Variablen direkt mit Shellexecute

  Alt 11. Apr 2004, 19:11
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:
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);
Die Edit ist nur für Debugzwecken da. Anscheinend geht der Aufruf mit ShellExecute nicht, bzw kann ich den Inhalt der Edit starten?
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"
CU

DRPEnc
  Mit Zitat antworten Zitat
Benedikt
(Gast)

n/a Beiträge
 
#2

Re: ShellExecute+Variable

  Alt 11. Apr 2004, 19:40
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 von Windows SDK:
HINSTANCE ShellExecute(
HWND hwnd, // handle to parent window
LPCTSTR lpOperation, // pointer to string that specifies operation to perform
LPCTSTR lpFile, // pointer to filename or folder name string
LPCTSTR lpParameters, // pointer to string that specifies executable-file parameters
LPCTSTR lpDirectory, // pointer to string that specifies default directory
INT nShowCmd // whether file is shown when opened
);
  Mit Zitat antworten Zitat
DRPEnc

Registriert seit: 20. Feb 2004
Ort: Noch unterm Mond
126 Beiträge
 
#3

Re: ShellExecute+Variable

  Alt 11. Apr 2004, 19:50
Delphi-Quellcode:
Edit1.text:=AB+AR+CH+AC+' -i "'+Opensource.filename+'" "'+Saveoutput.filename+'"';
ShellExecute(0, Nil, PChar('ffmpeg.exe'), Edit1.text, Nil, SW_NORMAL);
... muss ich noch rumtüffteln.
CU

DRPEnc
  Mit Zitat antworten Zitat
Benedikt
(Gast)

n/a Beiträge
 
#4

Re: ShellExecute+Variable

  Alt 11. Apr 2004, 20:00
Ansonsten ist es sicherlich auch sinnvoll den kompletten Pfad zu der Datei bzw.
(wenn die Datei im Programm-Ordner liegt)

ExtractFilePath(Application.ExeName)+'ffmpeg.exe'; anzugeben.
  Mit Zitat antworten Zitat
DRPEnc

Registriert seit: 20. Feb 2004
Ort: Noch unterm Mond
126 Beiträge
 
#5

Re: ShellExecute+Variable

  Alt 11. Apr 2004, 21:02
Inhalt:
Code:
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"
Hmm Ihr habt das Problem noch nicht ganz überrissen.

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.
CU

DRPEnc
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Commandlineprogramm + Variablen direkt mit Shellexecute

  Alt 11. Apr 2004, 21:16
Wie dir schon geantwortet wurde, das sind die Parameter und dafür ist der vierte Parameter von Shellexecute da.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
DRPEnc

Registriert seit: 20. Feb 2004
Ort: Noch unterm Mond
126 Beiträge
 
#7

Re: Commandlineprogramm + Variablen direkt mit Shellexecute

  Alt 11. Apr 2004, 21:21
Und dann kann ich

Code:
-ab 384 -ar 48000 -ac 6 -acodec ac3 -i "F:\dayafter\dayafter AC3 T01 2_0ch 192Kbps DELAY -480ms.ac3" "F:\dayafter\out.ac3"
als parameter angeben ...

ShellExecute(0, Nil, PChar('ffmpeg.exe'), PAnsiChar(AB+AR+CH+AC+' -i '+Opensource.filename+' '+Saveoutput.filename+''), Nil, SW_NORMAL); HMM muss nochmal SHELLEXECUTE rauskramen...


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);
CU

DRPEnc
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:40 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