AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Stoppuhr: Stellen mit 0 auffüllen

Ein Thema von BorlanDelphiUser · begonnen am 28. Feb 2007 · letzter Beitrag vom 1. Mär 2007
Antwort Antwort
BorlanDelphiUser

Registriert seit: 10. Mär 2003
Ort: Waltersdorf
91 Beiträge
 
Delphi 5 Professional
 
#1

Stoppuhr: Stellen mit 0 auffüllen

  Alt 28. Feb 2007, 23:50
Hallo ich bastel gerade ein kleines Programm in dem eine Stoppuhr läuft.
Das ganze gebe ich in einem Label aus, was dann wie folgt aussieht

0 : 6 : 17 : 345 (Std : Min : Sec : MSec)

Nun soll das ganze aber so aussehen

00 : 06 : 17 : 0345

In PHP gibt es eine Funktion str_pad:
Zitat:
Mit str_pad() kann man einen String (input) auf eine bestimmte Länge (pad_length) auffüllen, indem man einen anderen String (pad_string) oder ein Zeichen so oft wie nötig anhängt. Wird pad_string nicht angegeben, so wird der String mit Leerzeichen gefüllt. Bei der Auffüllung des Strings können Sie bestimmen, nach welcher Seite (links, rechts oder beide) der String erweitert werden soll. Geben Sie keinen Wert für pad_type an, so wird der Default-Wert STR_PAD_RIGHT genommen. Ist die Länge (pad_length) kleiner als die String-Länge, so wird der Inhalt des Strings nicht verändert. Im unteren Beispiel hat der String $var ("SELFPHP - PHP3/4") eine Länge von 16 Zeichen. Mit der Längenangabe von 24 Zeichen wird nun der String um genau 8 Zeichen aufgefüllt.

Folgende Werte sind zulässig:

• STR_PAD_LEFT - Füllt den String nach links auf.
• STR_PAD_BOTH - Füllt den String nach beiden Seiten auf.
• STR_PAD_RIGHT - Füllt den String nach rechts auf (Default).
Nun ist meine Frage gibt es so eine Funktion auch in Delphi ... und wenn nicht wie löse ich da ganze am Besten!
Ich wollte if abfragen eigentlich vermeiden

Hier noch ein Codeauszug der betreffenden Stelle
Delphi-Quellcode:
  ...

  MilliSeconds := Ticks mod 1000;
  Seconds := (Ticks div 1000) mod 60;
  Minutes := (Ticks div 60000) mod 60;
  Hours := (Ticks div 3600000) mod 24;

  Form1.Label5.Caption := IntToStr(Hours) + ' : ' + IntToStr(Minutes) + ' : ' + IntToStr(Seconds) + ' : '  + IntToStr(MilliSeconds);
Vielen Dank im Vorraus!
Besucht auch mal meine Homepage www.r-kersten.de. Es wäre schön wenn ihr mir einen Gästebucheintrag hinterlasst.
  Mit Zitat antworten Zitat
BorlanDelphiUser

Registriert seit: 10. Mär 2003
Ort: Waltersdorf
91 Beiträge
 
Delphi 5 Professional
 
#2

Re: Stoppuhr: Stellen mit 0 auffüllen

  Alt 1. Mär 2007, 00:13
PROBLEM GELÖST!

  Form1.Label5.Caption := format('%.2d:%.2d:%.2d:%.4d',[Hours,Minutes,Seconds,MilliSeconds]);
Besucht auch mal meine Homepage www.r-kersten.de. Es wäre schön wenn ihr mir einen Gästebucheintrag hinterlasst.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: Stoppuhr: Stellen mit 0 auffüllen

  Alt 1. Mär 2007, 08:13
Hallo,

eine Alternative wäre:

 Caption := FormatDateTime('hh:nn:ss.zzz', ticks / MSecsPerDay); Grüße vom marabu
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 03:50 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