Ok, schön. Aber irgendwie gibt es immer Probleme:
Delphi-Quellcode:
var i : Double;
begin
i := GetMediaLength('E:\asd.avi');
ShowMessage('Länge: ' + FloatToStr(i) + ' Sekunden');
Dann soll das natürlich noch verwandelt werden. Dies soll mit folgender Prozedur geschehen, aber wie ?
Delphi-Quellcode:
function TfrmMain.DurationMinSec(Sekunden : Integer) :
String;
var Hour, Min, Sec : Integer;
begin
Hour := Sekunden
div 1440;
dec(Sekunden, Hour*1440);
Min := Sekunden
div 60;
Sec := Sekunden - Min * 60;
if Boolean(Hour)
then
Result := Format('
%d:%.2d:%.2d', [Hour, Min, Sec])
else
Result := Format('
%.2d:%.2d', [Min, Sec]);
end;
*** EDIT ***
Zwar nicht gerade elegant, aber es funktioniert:
Delphi-Quellcode:
procedure TfrmMain.b1Click(Sender: TObject);
var s :
String;
i : Integer;
p : Integer;
begin
s := FloatToStr(GetMediaLength('
<<<Pfad+Dateiname>>>'));
p := Pos('
,', s);
if not p <= -1
then
begin
s := Copy(s, 0, p-1);
s := DurationMinSec(StrToInt(s));
end;
ShowMessage(s);
end;
function TfrmMain.DurationMinSec(Sekunden : Integer) :
String;
var Hour, Min, Sec : Integer;
begin
Hour := Sekunden
div 1440;
dec(Sekunden, Hour*1440);
Min := Sekunden
div 60;
Sec := Sekunden - Min * 60;
if Boolean(Hour)
then
Result := Format('
%d:%.2d:%.2d', [Hour, Min, Sec])
else
Result := Format('
%.2d:%.2d', [Min, Sec]);
end;
Ich werde noch ein wenig rumtesten, aber bedanke mich hiermit schonmal bei allen Benutzern, welche in diesem Thread gepostet haben
! Es funktioniert endlich