Delphi-Quellcode:
procedure TForm12.Button8Click(Sender: TObject);
var a,b,c :real;
begin
//ShellExecute(0, Nil, PChar('C:\DRPEncPrediction.bat'), Nil, Nil, SW_NORMAL);
If Not OpenDialog3.Execute Then Exit;
Edit8.Text:=GET_FILE_SIZE(Opendialog3.filename,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');
if FloatToStr(b) > FloatToStr(c) then listbox1.Items.add('Lower the bitrate');
end;
Nun kann ich die Dateigrößen vergleichen.
Wie kann ich diese Informationen nach einem Batchaufruf anzeigen lassen?
Der Name der Datei steht in einer Edit:
form1.Edit2.text:=OpenDialog2.FileName + form7.edit4.text + form7.edit1.text + form7.edit2.text + 'prediction.mpg';
welcher dann zum Beispiel dann so gespeichert wurde: Encode540070008000prediction.mpg.
Da ich die Datei demuxed hatte lautet dann die zu öffnende Datei: Encode540070008000prediction.mpg.m2v
Der OpenDialog2.filename ist ja somit fix. Die Variablen varieren ja zu jedem encode, was auch sinn macht.
HMM
Sollte ich den form1.Edit2.text in ne listbox schreiben? Kann ich damit dann was anfangen?
... ne, ne Variable. Kann man :real und :string zusammen in eine Zeile schreiben?
Denn ich will mal folgendes schaffen:
Delphi-Quellcode:
procedure TForm12.Button8Click(Sender: TObject);
var a,b,c :real;
begin
ShellExecute(0, Nil, PChar('C:\DRPEncPrediction.bat'), Nil, Nil, SW_NORMAL);
//Folgendes soll nach Beendigung von der Batch passieren welche sich selber schließt:
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');
if FloatToStr(b) < FloatToStr(c) then form8.Edit4.text:=('Wert von form8.Edit4' + 1000) und Batch starten;
//Statt 1000 währen auch 40% OK...
//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;