Delphi-Quellcode:
procedure TForm12.Button7Click(Sender: TObject);
var ProcID: Cardinal;
a,b,c :real;
begin
ProcID := 0;
//if OpenDialog1.Execute then
RunProcess('C:\DRPEncPrediction.bat', SW_SHOW, TRUE, @ProcID);
//ShowMessage(IntToStr(ProcID));
listbox1.Items.add('Done');
//OpenFile('Hier irgendwie die MPEG-Datei öffnen...');
Edit8.Text:=GET_FILE_SIZE('Name der geöffneten Datei',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;
So sollte es ungefähr aussehen. Sprich die MPEG-datei soll ohne 'User-Aufruf' gestartet werden...
Delphi-Quellcode:
procedure TForm12.Button7Click(Sender: TObject);
var ProcID: Cardinal;
var a,b,c :real;
begin
ProcID := 0;
//if OpenDialog1.Execute then
RunProcess('C:\DRPEncPrediction.bat', SW_SHOW, TRUE, @ProcID);
//ShowMessage(IntToStr(ProcID));
listbox1.Items.add('Done');
//OpenFile('C:\DRPEncPrediction.bat');
Edit8.Text:=GET_FILE_SIZE('C:\cococ102.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 listbox1.Items.add('Lower the bitrate');
end;
... gibt ne Fehlermeldung. 'Sample in B' sollte kein valid Floating point value sein...
Sample in B steht in der Edit 8, ergo wird mit Edit8.Text:=GET_FILE_SIZE('C:\cococ102.m2v',true); nicht die Datei geöffnet... wie dann?
Delphi-Quellcode:
procedure TForm12.Button7Click(Sender: TObject);
var ProcID: Cardinal;
a,b,c :real;
wndFile: Integer;
begin
ProcID := 0;
RunProcess('C:\DRPEncPrediction.bat', SW_SHOW, TRUE, @ProcID);
listbox1.Items.add('Done');
wndFile := OpenFile('C:\cococ102.m2v');
//OpenFile('C:\cococ102.m2v');
Edit8.Text:=GET_FILE_SIZE(wndFile,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;
... auch falsch...
Muss doch irgendwie ohne OpenDialog zu öffnen sein...
ShellExecute(Handle,'open', 'http://delphi.about.com',nil,nil, SW_SHOWNORMAL);
Hmm... irgendwie so... Will aber die M2V-Datei nicht mit dem Mediaplayer starten sondern nur die Dateigröße vergleichen.
Eigentlich brauch ich ja nur den Pfad von der Datei für GET_FILE_SIZE
Delphi-Quellcode:
var pfad, name, ext, neuerName: string;
...
pfad := ExtractFilePath(Application.ExeName); // der Pfad
name := ExtractFileName(Application.ExeName); // der Name
ext := ExtractFileExt(Application.ExeName); // die Dateierweiterung
// Um im String die Dateierweiterung zu ändern, benutzt man folgende Funktion:
neuerName := ChangeFileExt(Application.ExeName, '.tmp');
Hmm... Wie anwenden... Bringts überhaupt was?