![]() |
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 |
Re: In Stunden, Minuten, und Sekunden umrechnen
Schau dir mal in der OH EncodeTime DecodeTime un ähnliches an.
|
Re: In Stunden, Minuten, und Sekunden umrechnen
gut danke werde ich mal probieren
danke |
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:
Ich behaupte aber nicht, dass das schon die effektivste Methode ist. ;)
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; 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. |
Re: In Stunden, Minuten, und Sekunden umrechnen
Das geht irgendwie nicht, mein MP3 geht laut deiner function über 3 Tage. :mrgreen:
|
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 |
Re: In Stunden, Minuten, und Sekunden umrechnen
Moin Zusammen,
ich verschieb' das mal nach "Sonstiges" Geht ja schliesslich irgendwie um Delphi ;-) |
Re: In Stunden, Minuten, und Sekunden umrechnen
Versuch es mal hiermit:
Delphi-Quellcode:
Gruß
procedure SecsToDecodedTime(const Seconds: Longint; var h, m, s: Word);
var msec: Word; begin DecodeTime(Seconds / SecsPerDay, h, m, s, msec); end; Wormid |
Re: In Stunden, Minuten, und Sekunden umrechnen
|
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:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz