Как показать оставшееся время до конца?
Falk0ner, вс, 06/07/2008 - 15:34.
Procedure TForm1.Timer1Timer(Sender: TObject);
Var
TheLength,Posi,SummaMin,SummaSec: Integer;
begin
//Progress Bar to check if the track is playing
if Progress.Max<>0 then Begin
Progress.Position := Mediaplayer1.Position;
//Gets the length of the selected track
TheLength := Mediaplayer1.TrackLength[ListBox1.ItemIndex];
//gets the current position of the track
Posi := Mediaplayer1.Position;
//Caculates Minutes
SummaMin := ((TheLength - Posi) div 1000) Div 60;
//Calculates Seconds
SummaSec := ((TheLength - Posi) Div 1000) Mod 60;
//Adds zero if Seconds are less then ten
If SummaSec < 10 Then
Label2.Caption := '0' + IntToStr(SummaSec)
Else
Label2.Caption := IntToStr(SummaSec);
//Minutes
Label1.Caption := IntToStr(SummaMin);
End;
Var
TheLength,Posi,SummaMin,SummaSec: Integer;
begin
//Progress Bar to check if the track is playing
if Progress.Max<>0 then Begin
Progress.Position := Mediaplayer1.Position;
//Gets the length of the selected track
TheLength := Mediaplayer1.TrackLength[ListBox1.ItemIndex];
//gets the current position of the track
Posi := Mediaplayer1.Position;
//Caculates Minutes
SummaMin := ((TheLength - Posi) div 1000) Div 60;
//Calculates Seconds
SummaSec := ((TheLength - Posi) Div 1000) Mod 60;
//Adds zero if Seconds are less then ten
If SummaSec < 10 Then
Label2.Caption := '0' + IntToStr(SummaSec)
Else
Label2.Caption := IntToStr(SummaSec);
//Minutes
Label1.Caption := IntToStr(SummaMin);
End;
Взято с сайта http://www.swissdelphicenter.ch/en/tipsindex.php
вот так одной строкой можно Form1.Caption:=FormatDateTime('hh:nn:ss',((MediaPlayer1.Length div 1000)-(MediaPlayer1.Position div 1000))/(24*60*60));
пардон)) еще эта строка должна быть наверное))) MediaPlayer1.TimeFormat := tfMilliseconds;
Отправить комментарий