Guten Tag liebe PRTler,
im Zusammenhang mit Datum/Zeit-Funktionen werden merkwürdiger Weise überflüssige Leerzeichen nach den Daten zurückgegeben, was leider zu einer unschönen Darstellung führt, Jahreszahlen gar mit Tausender-Trennzeichen, siehe Screenshot.
Insofern musste ich zur ordentlichen Ausgabe entsprechend modifizieren, siehe weiteren Screenshot.
Interessieren würde mich, ob es eine einfachere Möglichkeit der klaren Ausgabe gäbe. Oder habe ich grundsätzliches falsch gemacht?
Zur Problem-Verdeutlichung nachfolgend der Code, bzw. itf-Datei anbei. Mit DisplayMod (0=unmodifiziert/1 modifiziert) kann dies nachgestellt werden.
Vielen Dank vorab und liebe Grüße
Rainer
// Rainer (RFW) @ prorealcode.com
//********************************************************************************************************************************************************************
Defparam Drawonlastbaronly = True
//********************************************************************************************************************************************************************
If StartDate = 0 Then
StartDate = Date[2]
EndIf
If StartTime = 0 Then
StartTime = 020000
EndIf
If EndDate = 0 Then
EndDate = Date[1]
EndIf
If EndTime = 0 Then
EndTime = 220000
EndIf
//********************************************************************************************************************************************************************
If IsLastBarupdate Then
LookBack = BarIndex
//********************************************************************************************************************************************************************
For StartDateTimeSearchFx = LookBack DownTo 1 Do
If (Date[StartDateTimeSearchFx] = StartDate) And (Time[StartDateTimeSearchFx] = StartTime) Then
StartBarID = BarIndex[StartDateTimeSearchFx]
StartLB = StartDateTimeSearchFx
StartDay = Day[StartDateTimeSearchFx]
StartMonth = CurrentMonth[StartDateTimeSearchFx]
StartYear = CurrentYear[StartDateTimeSearchFx]
StartHour = CurrentHour[StartDateTimeSearchFx]
StartMinute = CurrentMinute[StartDateTimeSearchFx]
Break
EndIf
Next
//********************************************************************************************************************************************************************
If (StartBarID > 0) Then
For EndDateTimeSearchFx = StartDateTimeSearchFx DownTo 1 Do
If (Date[EndDateTimeSearchFx] = EndDate) And (Time[EndDateTimeSearchFx] = EndTime) Then
EndBarID = BarIndex[EndDateTimeSearchFx]
EndLB = EndDateTimeSearchFx
EndDay = Day[EndDateTimeSearchFx]
EndMonth = CurrentMonth[EndDateTimeSearchFx]
EndYear = CurrentYear[EndDateTimeSearchFx]
EndHour = CurrentHour[EndDateTimeSearchFx]
EndMinute = CurrentMinute[EndDateTimeSearchFx]
Break
EndIf
Next
EndIf
//********************************************************************************************************************************************************************
If (StartBarID > 0) And (EndBarID > 0) Then
DRAWVLINE(StartBarID)Coloured(0,0,222)Style(Line,3)
DRAWVLINE(EndBarID)Coloured(0,0,222)Style(Line,3)
For ActiveFx = StartLB DownTo EndLB Do
DRAWVLINE(Barindex[ActiveFx])Coloured(0,0,222,75)Style(Line,1)
//********************************************************************************************************************************************************************
//********************************************************************************************************************************************************************
// Code.......
//********************************************************************************************************************************************************************
//********************************************************************************************************************************************************************
Next
//*****************************************************************************************************************************************************************************************************************************************
ADHFx = 1+((TextDistance)/10000)
AULFx = 1-((TextDistance)/10000)
TXTD = ((LineDistance+3)/10000)
TKV = 10
ITXV = 20+TKV
ITXV1 = 10+TKV
ITXV2 = 30+TKV
HiLoTxtP = Round(LookBack/3)
InfoPos = (Highest[HiLoTxtP](High)+Lowest[HiLoTxtP](Low))/2
InfoTxTFx0 = ADHFx-TXTD
InfoTxTFx1 = ADHFx-(TXTD*0.5)
InfoTxTFx2 = ADHFx-(TXTD*1.5)
InfoTxTFx3 = ADHFx-(TXTD*2.0)
InfoTxTFx4 = ADHFx-(TXTD*2.5)
InfoTxTFx5 = ADHFx-(TXTD*3.0)
InfoTxTFx6 = ADHFx-(TXTD*3.5)
InfoTxTFx7 = ADHFx-(TXTD*4.0)
InfoTxTFx8 = ADHFx-(TXTD*4.5)
InfoTxTFx9 = ADHFx-(TXTD*5.0)
InfoTxTFx10 = ADHFx-(TXTD*5.5)
InfoTxTFx11 = ADHFx-(TXTD*6.0)
InfoTxTFx12 = ADHFx-(TXTD*6.5)
InfoTxTFx13 = ADHFx-(TXTD*7.0)
InfoTxTFx14 = ADHFx-(TXTD*7.5)
InfoTxTFx15 = ADHFx-(TXTD*8.0)
InfoTxTFx16 = ADHFx-(TXTD*8.5)
InfoTxTFx17 = ADHFx-(TXTD*9.0)
InfoTxTFx18 = ADHFx-(TXTD*9.5)
InfoTxTFx19 = ADHFx-(TXTD*10.0)
InfoTxTFx20 = ADHFx-(TXTD*10.5)
//*****************************************************************************************************************************************************************************************************************************************
If DisplayMod = 0 Then
DrawText("Start: #StartDay#.#StartMonth#.#StartYear# - #StartHour#:0#StartMinute# Uhr",BarIndex+ITXV,InfoPos*InfoTxTFx0,Dialog,Bold,16)
DrawText("End: #EndDay#.#EndMonth#.#EndYear# - #EndHour#:#EndMinute# Uhr",BarIndex+ITXV,InfoPos*InfoTxTFx1,Dialog,Bold,16)
ElsIf DisplayMod = 1 Then
StartYear = StartYear-2000
EndYear = EndYear-2000
If (StartHour < 10) And (StartMinute < 10) Then
DrawText("Start: #StartDay#. #StartMonth#. #StartYear#- 0#StartHour#: 0#StartMinute# Uhr",BarIndex+ITXV,InfoPos*InfoTxTFx0,Dialog,Bold,16)
ElsIf (StartHour < 10) And (StartMinute >= 10) Then
DrawText("Start: #StartDay#. #StartMonth#. #StartYear#- 0#StartHour#: #StartMinute# Uhr",BarIndex+ITXV,InfoPos*InfoTxTFx0,Dialog,Bold,16)
ElsIf (StartHour >= 10) And (StartMinute < 10) Then
DrawText("Start: #StartDay#. #StartMonth#. #StartYear#- #StartHour#: 0#StartMinute# Uhr",BarIndex+ITXV,InfoPos*InfoTxTFx0,Dialog,Bold,16)
ElsIf (StartHour >= 10) And (StartMinute >= 10) Then
DrawText("Start: #StartDay#. #StartMonth#. #StartYear#- #StartHour#: #StartMinute# Uhr",BarIndex+ITXV,InfoPos*InfoTxTFx0,Dialog,Bold,16)
EndIf
If (EndHour < 10) And (EndMinute < 10) Then
DrawText("End: #EndDay#. #EndMonth#. #EndYear#- 0#EndHour#: 0#EndMinute# Uhr",BarIndex+ITXV,InfoPos*InfoTxTFx1,Dialog,Bold,16)
ElsIf (EndHour < 10) And (EndMinute >= 10) Then
DrawText("End: #EndDay#. #EndMonth#. #EndYear#- 0#EndHour#: #EndMinute# Uhr",BarIndex+ITXV,InfoPos*InfoTxTFx1,Dialog,Bold,16)
ElsIf (EndHour >= 10) And (EndMinute < 10) Then
DrawText("End: #EndDay#. #EndMonth#. #EndYear#- #EndHour#: 0#EndMinute# Uhr",BarIndex+ITXV,InfoPos*InfoTxTFx1,Dialog,Bold,16)
ElsIf (EndHour >= 10) And (EndMinute >= 10) Then
DrawText("End: #EndDay#. #EndMonth#. #EndYear#- #EndHour#: #EndMinute# Uhr",BarIndex+ITXV,InfoPos*InfoTxTFx1,Dialog,Bold,16)
Endif
Endif // DisplayMod
//*****************************************************************************************************************************************************************************************************************************************
EndIf // CodeDateTime
//*****************************************************************************************************************************************************************************************************************************************
EndIf // IsLastBarupdate
//*****************************************************************************************************************************************************************************************************************************************
Return