Ich hab ein bischen mit deinem Programm herumexperimentiert.
Ich hoffe du nimmst es mir nicht übel.

Code: Alles auswählen
Global START_ZEIT$
Global END_ZEIT$
Global DATUM_WERT$
Global DATUM_START$
Global DATUM_END$
Global START_WERT$
Global END_WERT$
Global x
Global v = 2
Global Datum$
Global Sekunden
Global WertDatumAlt$
Global WertDatumNeu$
Procedure WerteSuchen()
START_WERT$ = Mid(START_ZEIT$, x, v)
END_WERT$ = Mid(END_ZEIT$, x, v)
If x = 7 Or x = 4
WertDatumAlt$ = START_WERT$ + WertDatumAlt$
WertDatumNeu$ = END_WERT$ + WertDatumNeu$
Else
WertDatumAlt$ + START_WERT$
WertDatumNeu$ + END_WERT$
EndIf
EndProcedure
Procedure NeuerWertLinks(Zeichen$)
DATUM_START$ = Mid(START_WERT$, 1, v) + Zeichen$ + DATUM_START$
DATUM_END$ = Mid(END_WERT$, 1, v) + Zeichen$ + DATUM_END$
EndProcedure
Procedure NeuerWertRechts(Zeichen$)
DATUM_START$ = DATUM_START$ + Zeichen$ + Mid(START_WERT$, 1, v)
DATUM_END$ = DATUM_END$ + Zeichen$ + Mid(END_WERT$, 1, v)
EndProcedure
START_ZEIT$ = "20.12.2009 10:35:11"
END_ZEIT$ = "20.12.2009 11:25:11"
For x = 1 To y = Len(START_ZEIT$)
Select x
;Tag
Case 1
WerteSuchen()
NeuerWertLinks("")
;Monat
Case 4
WerteSuchen()
NeuerWertRechts(".")
;Jahr
Case 7
v = 4
WerteSuchen()
NeuerWertRechts(".")
v = 2
AltesDatum$ = DATUM_START$
NeuesDatum$ = DATUM_END$
DatumZahlAlt$ = WertDatumAlt$
DatumZahlNeu$ = WertDatumNeu$
DATUM_START$ = ""
DATUM_END$ = ""
WertDatumAlt$ = ""
WertDatumNeu$ = ""
;Stunden
Case 12
WerteSuchen()
NeuerWertRechts("")
;Minuten
Case 15
WerteSuchen()
NeuerWertRechts(":")
;Sekunden
Case 18
WerteSuchen()
NeuerWertRechts(":")
AlteZeit$ = DATUM_START$
NeueZeit$ = DATUM_END$
ZeitZahlAlt$ = WertDatumAlt$
ZeitZahlNeu$ = WertDatumNeu$
DATUM_START$ = ""
DATUM_END$ = ""
WertDatumAlt$ = ""
WertDatumNeu$ = ""
EndSelect
Next x
Sekunden = ParseDate("%yyyy%mm%dd%hh%ii%ss", DatumZahlNeu$ + RSet(ZeitZahlNeu$,6,"0")) - ParseDate("%yyyy%mm%dd%hh%ii%ss", DatumZahlAlt$ + RSet(ZeitZahlAlt$,6,"0"))
Debug "Startdatum: " + AltesDatum$
Debug "Enddatum: " + NeuesDatum$
Debug "Startdatumszahl: " + DatumZahlAlt$
Debug "Enddatumszahl: " + DatumZahlNeu$
Debug "Startzeit: " + NeueZeit$
Debug "Endzeit: " + AlteZeit$
Debug "Startzeitzahl: " + ZeitZahlNeu$
Debug "Endzeitzahl: " + ZeitZahlAlt$
Debug "Sekunden: " + Str(Sekunden)
End