Kuriose Leerzeichen in DateTime-Darstellung

Viewing 1 post (of 1 total)
  • Author
    Posts
  • #180079 quote
    Rainer (RFW)
    Participant
    Senior

    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
    
Viewing 1 post (of 1 total)
  • You must be logged in to reply to this topic.

Kuriose Leerzeichen in DateTime-Darstellung


ProBuilder Support

New Reply
Author
Summary

This topic contains 1 voice and has 0 replies.

Topic Details
Forum: ProBuilder Support
Language: German
Started: 10/21/2021
Status: Active
Attachments: 3 files
Logo Logo
Loading...