Diese Funktion konvertiert eine Ganzzahl in ein beliebiges Format - und zwar Zeitformat. Die Anordnung und das Aussehen des Formates kann frei verändert werden, es ist zum Beispiel möglich, Text einzufügen, die Sekunden vor die Minuten zu stellen, einen Wert mehrfach anzuzeigen usw. Tabelle der unterstützten Zeichenkonstanten
Diese Liste kann natürlich beliebig erweitert werden, z.B. wenn Sie Text einfügen möchten, der ein d, h, m oder s enthält (diese würden ja durch Stunden, Minuten etc. ersetzt werden). Parameter:
Function FormatTime(ByVal lngInputValue As Long, _ Optional ByVal sInputType As String = "s", _ Optional ByVal sFormat As String = "hh:mm:ss", _ Optional ByVal sMaxValue As String = "d") As String ' Eingabewert in Sekunden umrechnen Select Case sInputType Case "m" lngInputValue = lngInputValue * 60 Case "h" lngInputValue = lngInputValue * 3600 Case "d" lngInputValue = lngInputValue * 86400 Case "s" Case Else Exit Function End Select ' MaxValue in schönere Form bringen ' (zum Rechnen) Dim iMaxValue As Integer Select Case sMaxValue Case "d" iMaxValue = 0 Case "h" iMaxValue = 1 Case "m" iMaxValue = 2 Case "s" iMaxValue = 3 Case Else iMaxValue = 0 End Select Dim d As Long Dim h As Long Dim m As Long Dim s As Long ' Tage ausrechnen If iMaxValue = 0 Then d = Int(lngInputValue / 86400) lngInputValue = lngInputValue - (86400 * d) End If ' Stunden ausrechnen If iMaxValue <= 1 Then h = Int(lngInputValue / 3600) lngInputValue = lngInputValue - (3600 * h) End If ' Minuten ausrechnen If iMaxValue <= 2 Then m = Int(lngInputValue / 60) lngInputValue = lngInputValue - (60 * m) End If ' Rest: Sekunden ;-) s = lngInputValue Dim dd As String Dim dh As String Dim dm As String Dim ds As String ' ggf. eine Null vor der Zahl einfügen dd = Format$(d, "00") dh = Format$(h, "00") dm = Format$(m, "00") ds = Format$(s, "00") ' "dd" durch Tage ersetzen (ggf. mit Null) sFormat = Replace(sFormat, "dd", dd) ' "d" durch Tage ersetzen sFormat = Replace(sFormat, "d", d) ' "hh" durch Stunden ersetzen (ggf. mit Null) sFormat = Replace(sFormat, "hh", dh) ' "h" durch Stunden ersetzen sFormat = Replace(sFormat, "h", h) ' "mm" durch Minuten ersetzen (ggf. mit Null) sFormat = Replace(sFormat, "mm", dm) ' "m" durch Minuten ersetzen sFormat = Replace(sFormat, "m", m) ' "ss" durch Sekunden ersetzen (ggf. mit Null) sFormat = Replace(sFormat, "ss", ds) ' "s" durch Sekunden ersetzen sFormat = Replace(sFormat, "s", s) Dim Textd As String Dim Texth As String Dim Textm As String Dim Texts As String If d = 1 Then Textd = "Tag" Else Textd = "Tage" If h = 1 Then Texth = "Stunde" Else Texth = "Stunden" If m = 1 Then Textm = "Minute" Else Textm = "Minuten" If s = 1 Then Texts = "Sekunde" Else Texts = "Sekunden" ' (0) durch Tag / Tage ersetzen sFormat = Replace(sFormat, "(0)", Textd) ' (1) durch Stunde / Stunden ersetzen sFormat = Replace(sFormat, "(1)", Texth) ' (2) durch Minute / Minuten ersetzen sFormat = Replace(sFormat, "(2)", Textm) ' (3) durch Sekunde / Sekunden ersetzen sFormat = Replace(sFormat, "(3)", Texts) ' (&) durch und ersetzen sFormat = Replace(sFormat, "(&)", "und") FormatTime = sFormat End Function Beispiele: FormatTime(1000) ' Ausgabe: 00:16:40 FormatTime(1000, "m") ' Ausgabe: 16:40:00 FormatTime(2000, "m") ' Ausgabe: 09:20:00 FormatTime(2000, "m", "d (0), hh:mm:ss") ' Ausgabe: 1 Tag, 09:20:00 FormatTime(2000, "m", "hh:mm:ss", "h") ' Ausgabe: 33:20:00 FormatTime(3967, "s", "h:m:s") ' Ausgabe: 1:6:7 FormatTime(200000, "s", "d (0), h (1), m (2) (&) s (3)", "d") ' Ausgabe: 2 Tage, 7 Stunden, 33 Minuten und 20 Sekunden FormatTime(9, "s", "s / ss / s / ss") ' Ausgabe: 9 / 09 / 9 / 09 FormatTime(1, "m", "(2)") ' Ausgabe: Minute Dieser Tipp wurde bereits 27.354 mal aufgerufen.
Anzeige
![]() ![]() ![]() (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevGraph (VB/VBA) ![]() Grafische Auswertungen Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! Tipp des Monats ![]() Dieter Otter Beliebige Zeichen am Anfang und Ende eines Strings entfernen Mit der Trim-Funktion lassen sich nicht nur Leerzeichen, sondern bei Bedarf auch beliebige Zeichen entfernen. TOP Entwickler-Paket ![]() TOP-Preis!! Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR... |
||||||||||||||||||||||||||||||||||||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |