Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi In Stunden, Minuten, und Sekunden umrechnen (https://www.delphipraxis.net/10186-stunden-minuten-und-sekunden-umrechnen.html)

Alex_ITA01 13. Okt 2003 13:27


In Stunden, Minuten, und Sekunden umrechnen
 
hallo erstmal,
ich habe einen kleinen player geschrieben und will damit nun avi und mepg und all sowas wiedergeben.das geht ja auch nur wenn ich die länge des abgespielten tracks auslese (test := Form1.MediaPlayer1.length)
sthet angenommen 164264 in test. normal geht der Film 1h : 32min : 35sek

kann mir einer bei der umrechnung helfen

danke alex

Sanchez 13. Okt 2003 13:30

Re: In Stunden, Minuten, und Sekunden umrechnen
 
Schau dir mal in der OH EncodeTime DecodeTime un ähnliches an.

Alex_ITA01 13. Okt 2003 13:32

Re: In Stunden, Minuten, und Sekunden umrechnen
 
gut danke werde ich mal probieren
danke

nTE 13. Okt 2003 16:13

Re: In Stunden, Minuten, und Sekunden umrechnen
 
Ich glaube, da du keine TDateTime Struktur sondern eine Sekundenangabe hast, musst du diese einfach nur umrechen. Meine Variante sieht so aus:

Delphi-Quellcode:
function TFormMain.SecsToTime(dSec: LongWord): String;
begin
  // mindenstens 1 Tag
  if dSec >= 86400 then
    Result := IntToStr(dSec div 86400) + ' Tag(e), ' + IntToStr((dSec - ((dSec div 86400) * 86400)) div 3600) + ' Stunde(n), ' + IntToStr((dSec - ((dSec div 3600) * 3600)) div 60) + ' Minute(n), ' + IntToStr(dSec - ((dSec div 60) * 60)) + ' Sekunde(n)'

  // mindestens 1 Stunde
  else if dSec >= 3600 then
    Result := IntToStr(dSec div 3600) + ' Stunde(n), ' + IntToStr((dSec - ((dSec div 3600) * 3600)) div 60) + ' Minute(n), ' + IntToStr(dSec - ((dSec div 60) * 60)) + ' Sekunde(n)'

  // mindestens 1 Minute
  else if dSec >= 60 then
    Result := IntToStr(dSec div 60) + ' Minute(n), ' + IntToStr(dSec - ((dSec div 60) * 60)) + ' Sekunde(n)'
 
  // nur Sekunden
  else
    Result := IntToStr(dSec) + ' Sekunde(n)';
end;
Ich behaupte aber nicht, dass das schon die effektivste Methode ist. ;)
Zumal sie keine Abfrage bezüglich Stunde/Stunden (also Wert gleich 1 oder ungleich 1) hat.
Aber da du ja eh nur h,m,s schreiben willst sollte das ja kein Problem sein.

Matze 13. Okt 2003 16:18

Re: In Stunden, Minuten, und Sekunden umrechnen
 
Das geht irgendwie nicht, mein MP3 geht laut deiner function über 3 Tage. :mrgreen:

nTE 13. Okt 2003 16:31

Re: In Stunden, Minuten, und Sekunden umrechnen
 
Hehe, ja. Mir fällt gerade auf, dass du Millisekundenangaben haben musst und die müssten dann vorher noch mit dSec := dSec div 1000; eingestellt werden. =)

Die erste If-Abfrage sollte für dich vielleicht auch etwas uninteressant sein. :P

Mmh.. *grübel* Ich glaub ich muss mal grad schauen was diese Angabe von oben (164264) in die Zeitangabe von 1h.. usw. überführt. =)

----------

Gut, ich entschuldige mich für mein unüberlegtes Posten. =)
Sanchez hatte Recht und das habe ich durch nachschlagen der TMediaPlayer Length Eigenschaft in der Delphi-Hilfe herausgefunden.

Das kann ich dir auch nur empfehlen Alex, denn da ist sogar ein klasse Beispiel dabei. :)
Wenn du irgendetwas an dem Beispiel nicht verstehen solltest, dann kannst du gerne den fraglichen Teil hier posten.


Tjo.. und sonst?
Wer eine Funktion sucht um Sekunden in einen String mit Tag, Stunde, Minute umzuwandeln (ist ja auch so schwer ;) hat jetzt hier eine mittelmäßige präsentiert bekommen. :P

Christian Seehase 13. Okt 2003 16:52

Re: In Stunden, Minuten, und Sekunden umrechnen
 
Moin Zusammen,

ich verschieb' das mal nach "Sonstiges"
Geht ja schliesslich irgendwie um Delphi ;-)

Wormid 13. Okt 2003 17:14

Re: In Stunden, Minuten, und Sekunden umrechnen
 
Versuch es mal hiermit:

Delphi-Quellcode:
procedure SecsToDecodedTime(const Seconds: Longint; var h, m, s: Word);
var msec: Word;
begin
  DecodeTime(Seconds / SecsPerDay, h, m, s, msec);
end;
Gruß

Wormid

Luckie 13. Okt 2003 19:39

Re: In Stunden, Minuten, und Sekunden umrechnen
 
Oder man nehme´diese Lösung:
http://www.delphi-forum.de/viewtopic.php?t=17475

Alex_ITA01 14. Okt 2003 11:13

Re: In Stunden, Minuten, und Sekunden umrechnen
 
kann mir nur mal bitte einer helfen denn der link daoben weißt nur auf das Beispiel das in der Delphi Hilfe steht aber das geht komischerweise net bei mir. Also bitte ich mal mir ein beispiel zu geben das geht.

in einer integervariable habe ich den wert 164264 und der soll in stunden und minuten und sekunden umgerechnet werden

danke alex


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:17 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz