![]() |
![]() |
|
|
|||||||
| Software Rat & Tat bei Softwareproblemen |
|
|
Themen-Optionen | Ansicht |
|
|
#2 |
|
Veteran
![]() Registriert seit: 10.01.2001
Beiträge: 478
|
Warum in die Ferne schweifen, ...
Public Sub use() Debug.Print diff("0:0:0:2", "0:0:0:1") End Sub Public Function diff(a As String, b As String) As String Dim PartsA() As String Dim PartsB() As String Dim ah As Long Dim bh As Long Dim x As Long Dim i As Integer Dim flag As Boolean PartsA() = Split(a, ":") PartsB() = Split(b, ":") If UBound(PartsA) <> 3 Or UBound(PartsB) <> 3 Then MsgBox "Erwartet XX:XX:XX:XX", vbInformation, "Ungültiges Format" Else flag = True For i = 0 To 3 flag = flag And IsNumeric(PartsA(i)) And IsNumeric(PartsB(i)) Next If flag Then ah = (PartsA(0) * 360000 + PartsA(1) * 6000 + PartsA(2) * 100 + PartsA(3)) bh = (PartsB(0) * 360000 + PartsB(1) * 6000 + PartsB(2) * 100 + PartsB(3)) x = ah - bh PartsA(0) = x \ 360000 x = x - PartsA(0) * 360000 PartsA(1) = x \ 6000 x = x - PartsA(1) * 6000 PartsA(2) = x \ 100 x = x - PartsA(2) * 100 PartsA(3) = x flag = True For i = 0 To 3 flag = flag And PartsA(i) = Abs(PartsA(i)) PartsA(i) = Abs(PartsA(i)) Next diff = Join(PartsA, ":") If Not flag Then diff = "-" & diff End If Else MsgBox "Alphanumerische Zeichen sind nicht erlaubt.", vbInformation, "Ungültiges Format" End If End If End Function ![]() |
|
|
|
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|