OK hier nochmal im Detail: Ich drücke auf den Knopf:
Delphi-Quellcode:
procedure TForm12.Button8Click(Sender: TObject);
var a,b,c :real;
begin
Nun soll die Batchdatei gestartet werden, wobei Ich nicht weis wie der ShellExecuteandWait Befehl funktioniert.
ShellExecute(0, Nil, PChar('C:\DRPEncPrediction.bat'), Nil, Nil, SW_NORMAL);
...ShellExecute reicht ja nicht. Dann soll Folgedes nach Beendigung von der Batch passieren welche sich selber schließt:
Die encodierte Datei soll ausgelesen werden und die Dateigröße in eine Edit geschrieben werden, damit ich diese mit dem festegelegten Wert vergleichen kann.
Delphi-Quellcode:
Edit8.Text:=GET_FILE_SIZE('Name der Encodierten Datei' + '.m2v',true);
a:= StrToFloat(Edit8.text);
b:=(a / 1024) /1024;
c:= StrToFloat(Edit9.text);
listbox1.Items.add('This Pass has the filesize of ' +FloatToStr(b)+ ' MB');
if FloatToStr(b) < FloatToStr(c) then listbox1.Items.add('Higher the bitrate');
Wenn die Bitrate erhöht werden soll, sollte DRPEnc dies selbstständig tun. Am Besten prozentual sollen Werte in drei weiteren Edits (Bitraten) verändert werden.
if FloatToStr(b) < FloatToStr(c) then form8.Edit4.text:=('Wert von form8.Edit4' + 1000);
und die Batch wieder starten
Ist die Dateigröße zu groß sollen die letzen Einstellungen verwendet werden. Weis aber nicht wie ich dies anstellen soll:
Delphi-Quellcode:
//if FloatToStr(b) > FloatToStr(c) then listbox1.Items.add('Lower the bitrate');
if FloatToStr(b) > FloatToStr(c) then 'Letzte Werte < FloatToStr(c)' wiederherstellen und Meldung ausgeben;
end;
Das sind meine Probleme...