![]() |
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 |
Re: In Stunden, Minuten, und Sekunden umrechnen
Nun ja es ist logischewrweise sehr schwer Millisekunden umzurechnen, wenn man nicht weiß, dass eien Sekunde 1000 Millisekunden hat eine Minute 60 Sekunden, eine Stunde 60 Minuten und ein tag 24 Stunden.
Delphi-Quellcode:
function FormatTime(t: Cardinal): string;
begin t := t div 1000; // -> seconds result := IntToStr(t mod 60); case t mod 60 < 10 of true: result := '0' + result; end; t := t div 60; //minutes result := IntToStr(t mod 60) + ':' + result; case t mod 60 < 10 of true: result := '0' + result; end; t := t div 60; //hours result := IntToStr(t mod 24) + ':' + result; case t mod 60 < 10 of true: result := '0' + result; end; end; |
Re: In Stunden, Minuten, und Sekunden umrechnen
danke schön, klar weiß ich das nur mir hat halt der göttliche funke gefehlt (eher noch zu müde zum proggen) :-)
trotzdem danke schön |
Re: In Stunden, Minuten, und Sekunden umrechnen
ok ich habe dein source probiert und er zeigt mit bei einer Mpg (279 <- MediaPlayer1.Length)
00:00:00 an warum das nun obwohl der film 13 sekunden geht |
Re: In Stunden, Minuten, und Sekunden umrechnen
Etwas kürzer:
Delphi-Quellcode:
wobei 60000 dem gewünschten Wert in Millisekunden entspricht.
ShowMessage( FormatDateTime( 'hh:mm:ss', 60000 / (24*60*60*1000) ));
|
Re: In Stunden, Minuten, und Sekunden umrechnen
Bei meiner Funktion, muss die Zeit Millisekundne angegeben werden. 13 Sekunden entsprechen dann 13000 Millisekunden.
|
Re: In Stunden, Minuten, und Sekunden umrechnen
danke ich werde es mal probieren.
|
Re: In Stunden, Minuten, und Sekunden umrechnen
danke habs getestet aber der zeigt mir auch nur 00:00:00 an obwohl der film so 13 sekunden oder so geht. MediaPlayer1.Length = 279
|
Re: In Stunden, Minuten, und Sekunden umrechnen
Auf was steht TimeFormat?
|
Re: In Stunden, Minuten, und Sekunden umrechnen
wenn du meinst ich soll es auf tfhms oder wie das heißt setzen dann geht das bei mir nicht.
also läßt sich nicht setzen gibts noch ne möglichkeit? |
Re: In Stunden, Minuten, und Sekunden umrechnen
Zitat:
|
Re: In Stunden, Minuten, und Sekunden umrechnen
MediaPlayer1.TimeFormat := tfHMS;
genau diese Zeile macht er nicht!!! also wie kann ich es noch machen? |
Re: In Stunden, Minuten, und Sekunden umrechnen
Ach ja: Beim Konsultieren der Hilfe habe ich gerade das Beispiel gesehen, wie man die Zeit in Stunden, Minuten, Sekunden aufgeteilt anzeigt.
|
Re: In Stunden, Minuten, und Sekunden umrechnen
Zitat:
|
Re: In Stunden, Minuten, und Sekunden umrechnen
der compiler geht zwar über die zeile drüber aber wenn ich in timeformat reingucke steht was mit delphi exception
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:34 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