AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Integer in Zeit wert übernehmen und ausgeben?
Thema durchsuchen
Ansicht
Themen-Optionen

Integer in Zeit wert übernehmen und ausgeben?

Ein Thema von Flom · begonnen am 16. Feb 2007 · letzter Beitrag vom 16. Feb 2007
Antwort Antwort
Flom

Registriert seit: 19. Sep 2006
126 Beiträge
 
#1

Integer in Zeit wert übernehmen und ausgeben?

  Alt 16. Feb 2007, 11:53
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
Ein wahrhaft großer Mann wird weder einen Wurm zertreten noch vor dem Kaiser kriechen.

Benjamin Franklin
17.01.1706 - 17.04.1790
  Mit Zitat antworten Zitat
Benutzerbild von ste_ett
ste_ett

Registriert seit: 10. Sep 2004
Ort: Dülmen
464 Beiträge
 
Delphi 7 Professional
 
#2

Re: Integer in Zeit wert übernehmen und ausgeben?

  Alt 16. Feb 2007, 11:55
Delphi-Quellcode:
  ShowMessage(
    Format('%.2d:%.2d:%.2d', [1, 45, 0])
  );
.2 bedeutet, dass es mindestens 2 Stellen sein müssen und ggf. mit Nullen aufgefüllt wird.
Stefan
"Geht nicht!" ist keine Fehlerbeschreibung und "Hab ich schon versucht!" keine Antwort!

Hey, it compiles! Ship it!
  Mit Zitat antworten Zitat
Flom

Registriert seit: 19. Sep 2006
126 Beiträge
 
#3

Re: Integer in Zeit wert übernehmen und ausgeben?

  Alt 16. Feb 2007, 12:08
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
Ein wahrhaft großer Mann wird weder einen Wurm zertreten noch vor dem Kaiser kriechen.

Benjamin Franklin
17.01.1706 - 17.04.1790
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#4

Re: Integer in Zeit wert übernehmen und ausgeben?

  Alt 16. Feb 2007, 12:15
Du musst den Nachkommateil (Frac()) noch mit 0.6 malnehmen

(damit aus einer ganzen Dezimalminute 60 Sekunden werden statt 100)

Also:Minute := Trunc(Dezimal) + 0.6*Frac(Dezimal);
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Integer in Zeit wert übernehmen und ausgeben?

  Alt 16. Feb 2007, 12:17
Hallo Flom,

warum nimmst du an, daß eine Minute 100 Sekunden enthält? Formatieren kannst du so:

Delphi-Quellcode:
function FormatSeconds (seconds: Cardinal): string;
begin
  Result := FormatDateTime('nn:ss', seconds / SecsPerDay);
end;
Gruß Hawkeye
  Mit Zitat antworten Zitat
Flom

Registriert seit: 19. Sep 2006
126 Beiträge
 
#6

Re: Integer in Zeit wert übernehmen und ausgeben?

  Alt 16. Feb 2007, 12:25
ich versteh irgendwie den sinn dieser Berechnung dahinter nicht...
Ich sag jetzt also:
Delphi-Quellcode:
   Dezimal:=aAudioFile.Dauer;
   Minute := Trunc(Dezimal) + 0.6*Frac(Dezimal);

   Item.SubItems.Add(FloatToStr(Minute));
Wobei ich noch ein Problem mit dem Format habe wo sag ich denn dort das er sich auf Minute beziehen soll?


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 ?
Ein wahrhaft großer Mann wird weder einen Wurm zertreten noch vor dem Kaiser kriechen.

Benjamin Franklin
17.01.1706 - 17.04.1790
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#7

Re: Integer in Zeit wert übernehmen und ausgeben?

  Alt 16. Feb 2007, 13:19
Zitat von Flom:
ich versteh irgendwie den sinn dieser Berechnung dahinter nicht...
Ich sag jetzt also:
Delphi-Quellcode:
   Dezimal:=aAudioFile.Dauer;
   Minute := Trunc(Dezimal) + 0.6*Frac(Dezimal);

   Item.SubItems.Add(FloatToStr(Minute));
Wobei ich noch ein Problem mit dem Format habe wo sag ich denn dort das er sich auf Minute beziehen soll?
Wenns funktioniert is ja gut ... das mit dem Format ginge dann so:
Delphi-Quellcode:
   Dezimal:=aAudioFile.Dauer;
   Item.SubItems.Add(IntToStr(Trunc(Dezimal)) + ':' + InttoStr(0.6*Frac(Dezimal)));
  Mit Zitat antworten Zitat
IngoD7

Registriert seit: 17. Feb 2004
464 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Integer in Zeit wert übernehmen und ausgeben?

  Alt 16. Feb 2007, 13:34
Zitat von Flom:
nur was ist nun mit dem FileCRTL ?
Klick auf Warnung + F1
  Mit Zitat antworten Zitat
Flom

Registriert seit: 19. Sep 2006
126 Beiträge
 
#9

Re: Integer in Zeit wert übernehmen und ausgeben?

  Alt 16. Feb 2007, 13:50
danke für eure hilfe aber Mazel hat mir geholfen über Projekt -> Optionen -> Compiler Meldung
Ein wahrhaft großer Mann wird weder einen Wurm zertreten noch vor dem Kaiser kriechen.

Benjamin Franklin
17.01.1706 - 17.04.1790
  Mit Zitat antworten Zitat
Flom

Registriert seit: 19. Sep 2006
126 Beiträge
 
#10

Re: Integer in Zeit wert übernehmen und ausgeben?

  Alt 16. Feb 2007, 16:25
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:
function FormatSeconds2 (seconds: Cardinal): string;
begin
  Result := FormatDateTime('hh:nn:ss', seconds / SecsPerDay);
end;
Aber leider nein. Wie kann ich es machen? Addieren lass ich es so:
dauer:=dauer+aAudioFile.Dauer;

die Ausgabe dann so:
Delphi-Quellcode:
LabelZeit.Visible:=True;
Zeit2 := Time;
LabelZeit.Caption:= 'Dauer der Suche: '+TimeToStr(Zeit2 - Zeit);
Ein wahrhaft großer Mann wird weder einen Wurm zertreten noch vor dem Kaiser kriechen.

Benjamin Franklin
17.01.1706 - 17.04.1790
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:11 Uhr.
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