![]() |
Integer in Zeit wert übernehmen und ausgeben?
Hallo,
habt ihr eine Idee wie ich einem Integer wert umstellen kann das vorne weg ein 0 bei 2 stellen seien sollen sowie vor den beiden letzten zahlen ein : kommen soll... so das am ende ein Zeit Wert entsteht aus 145 soll 01:45 werden. Hat wer eine Idee ? Meine erste Idee war ja ffFixed zu nehmen, bis mir dann ein viel das es ja mit einem Komma ausgegeben wird. Grüße |
Re: Integer in Zeit wert übernehmen und ausgeben?
Delphi-Quellcode:
.2 bedeutet, dass es mindestens 2 Stellen sein müssen und ggf. mit Nullen aufgefüllt wird. :)
ShowMessage(
Format('%.2d:%.2d:%.2d', [1, 45, 0]) ); |
Re: Integer in Zeit wert übernehmen und ausgeben?
danke für die schnelle Antwort :)
werde es dann mal gleich probieren! kleine frage am rande: kann ich irgendwie die Meldung "'FileCtrl' ist plattformspezifisch" weg und wie kann ich am besten Sekunden in Minuten umrechnen da ich nicht auf die selbe Zeit komme wie WinAmp mit der Berechnung 197/60 = 3,283 also 3:28 Aber raus kommen sollen 3:17 |
Re: Integer in Zeit wert übernehmen und ausgeben?
Du musst den Nachkommateil (Frac()) noch mit 0.6 malnehmen ;)
(damit aus einer ganzen Dezimalminute 60 Sekunden werden statt 100) Also:
Delphi-Quellcode:
Minute := Trunc(Dezimal) + 0.6*Frac(Dezimal);
|
Re: Integer in Zeit wert übernehmen und ausgeben?
Hallo Flom,
warum nimmst du an, daß eine Minute 100 Sekunden enthält? Formatieren kannst du so:
Delphi-Quellcode:
Gruß Hawkeye
function FormatSeconds (seconds: Cardinal): string;
begin Result := FormatDateTime('nn:ss', seconds / SecsPerDay); end; |
Re: Integer in Zeit wert übernehmen und ausgeben?
ich versteh irgendwie den sinn dieser Berechnung dahinter nicht...
Ich sag jetzt also:
Delphi-Quellcode:
Wobei ich noch ein Problem mit dem Format habe wo sag ich denn dort das er sich auf Minute beziehen soll?
Dezimal:=aAudioFile.Dauer;
Minute := Trunc(Dezimal) + 0.6*Frac(Dezimal); Item.SubItems.Add(FloatToStr(Minute)); Anfügung: Hawkeye219 da ich irgendwie mich immer so mit functionen habe: muss ich die A irgendwo deklarieren B wie bind ich die ein? Ich weiß doofe frage nur will nicht an dauernd rätseln und dann noch mehr post schreiben, da ich dafür zu begriffsstutzig bin okay hat sich habs hin bekommen nur was ist nun mit dem FileCRTL ? |
Re: Integer in Zeit wert übernehmen und ausgeben?
Zitat:
Delphi-Quellcode:
;)
Dezimal:=aAudioFile.Dauer;
Item.SubItems.Add(IntToStr(Trunc(Dezimal)) + ':' + InttoStr(0.6*Frac(Dezimal))); |
Re: Integer in Zeit wert übernehmen und ausgeben?
Zitat:
|
Re: Integer in Zeit wert übernehmen und ausgeben?
danke für eure hilfe aber Mazel hat mir geholfen über Projekt -> Optionen -> Compiler Meldung
|
Re: Integer in Zeit wert übernehmen und ausgeben?
Huhu,
Ich möchte nun die gesamt Zeit von allen MP3s ausgeben mit Hilfe der Funktion und hatte gedacht das es vielleicht so geht:
Delphi-Quellcode:
Aber leider nein. Wie kann ich es machen? Addieren lass ich es so:
function FormatSeconds2 (seconds: Cardinal): string;
begin Result := FormatDateTime('hh:nn:ss', seconds / SecsPerDay); end; dauer:=dauer+aAudioFile.Dauer; die Ausgabe dann so:
Delphi-Quellcode:
LabelZeit.Visible:=True;
Zeit2 := Time; LabelZeit.Caption:= 'Dauer der Suche: '+TimeToStr(Zeit2 - Zeit); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:43 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