[Edit] Das mit dem OpenAndWait wurde schon gelöst. Mein neues Problem ist eine Datei zu öffnen aber OHNE OpenDialog. Bitte springt gleich
zum ersten Post auf der Zweiten Page von diesem Thread. THX
################################################## ###############################
Ich code gerade an meinem Project DRPEnc.
Nun bin ich wieder bei einem Punkt angekommen, wo ich nicht weiter weis.
Hier das Problem:
Ich starte aus dem Program eine Batch-datei welche einen Teil des Films encodiert.
Nach dem sich die Batch beendet hat (was das Program mitbekommen sollte) soll die größe
der encodierten Datei in einer Listbox angezeigt werden. Falls dieser Wert von dem
zuvor festgelegten Zielwert abweicht verändert DRPEnc ein paar Werte in der Batch-datei und startet diese erneut.
Dies wiederholt sich solange bis der Wert gefunden wurde.
Wie bekomme ich das am Besten hin.
das Auslesen der Dateigröße mache ich mit dieser Funktion:
Delphi-Quellcode:
function GetFileSize(Filename: string): integer;
var
SR: TSearchRec;
begin
if FindFirst(Filename, faAnyFile, SR) = 0 then
begin
Result := SR.Size;
end
else
begin
Result := -1;
end;
FindClose(SR);
end;
Leider bekomm ich da noch ne Fehlermeldung wenn ichs so aufrufen will:
Delphi-Quellcode:
procedure TForm12.Button8Click(Sender: TObject);
begin
If Not OpenDialog3.Execute Then Exit;
listbox1.Items.add('Die Datei' + OpenDialog3.filename + 'hat ' + (GetFileSize(OpenDialog3.filename) / 1024) + 'kb');
end;
Incompatible types. String and Extended.
Aber wie bekomm ich mein Programn nach Beendigung der Batch-Datei die encodierte Datei zu öffnen und dann die filesize auszulesen?
Ich möchte es am liebsten irgendwie mit if ... then lösen.
Die Batch rufe ich mit:
ShellExecute(0, Nil, PChar('C:\DRPEncPrediction.bat'), Nil, Nil, SW_NORMAL);
auf welche sich nach erfolgreichem Encodieren selber schließt. Könnte dies aber wenn benötigt ändern.
Die encodierte Datei hat dann auch nen festen Namen. Somit auch leicht zu öffnen.
hab das gefunden:
ShellExecuteEX komm aber damit nicht weiter...
Könnte ich ein Beispiel von Euch haben?