Ankündigung

Einklappen
Keine Ankündigung bisher.

Stringformat Auffüllen mit Leerzeichen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #16
    @Klaus-kraemer
    Würdest du dafür deinen ganzen Code oder ggfs. sogar Makro zur Verfügung stellen?
    -> PN

    Kommentar


      #17
      Jetzt hat es mich selbst einfach interessiert, geht ganz einfach:

      Vorher:
      OhneAlignment.jpg

      Code:
      webdisplay(btnGlobalTempAussen,\\
      $<div style="text-align:right">$ + \\
      convert("Temp_Aussen-1/0/10", $$) + $ °C$ +\\
      $</div>$ +\\
      $<font size=1><font color=#7777FF>&darr; $ + stringformat(TodaysLow("Temp_Aussen-1/0/10"),4,1,5,1) +\\
      $</font><font color=#BB0000>&nbsp;&nbsp;&nbsp;&uarr; $ + stringformat(TodaysHigh("Temp_Aussen-1/0/10"),4,1,5,1) + $</font></font>$,TEMPERATURE,ACTIVE,GREEN);
      Das Einbetten in $<div style="text-align:right">$ + Temperaturwert + $ °C$ + $</div>$ löst die Sache doch recht aufwandslos und ohne stringformat() verwenden zu müssen:
      (Nachher)
      TextAlignRight.jpg

      Die Neugierde hat mich natürlich durch das Neuflashen des EibPC² die heutige Tiefsttemperatur gekostet....

      Vermutlich müsste man bei der Definition des buttons die Beschriftung "Außentemperatur" ebenso behandeln - aber ich geh' wieder zurück auf die Linksbündige Darstellung - die Neugierde ist befriedigt.

      Kommentar


        #18
        Zitat von klaus_kraemer Beitrag anzeigen
        $<font size=1><font color=#7777FF>&darr; $ + stringformat(TodaysLow("Temp_Aussen-1/0/10"),4,1,5,1) +\\ $</font><font color=#BB0000>&nbsp;&nbsp;&nbsp;&uarr; $ + stringformat(TodaysHigh("Temp_Aussen-1/0/10"),4,1,5,1) + $</font></font>$
        Das hast du wirklich schön gelöst! Die 2. Zeile hab ich mir gleich mal abgeschaut !
        Leider funktioniert das align nur bei div und nicht bei span.
        Da ich auch nur eine Bereich im Span rechtsbündig haben möchte nutze ich nun in dessen "Style:white-space: pre;"
        Die Asciii hab ich auch gleich aus deinem Bsp übernommen! Danke dir

        2022.03.11_19_58_44001.jpg 2022.03.11_20_01_52001.jpg 2022.03.11_20_02_16001.jpg

        Kommentar


          #19
          Hier einfach mal meine kleinen HTML-Helferlein:

          Code:
          /*--------------- HTML MAKROS -------------*/
          /*--------------- htmlTxtCol --------------*/
          :begin htmlTxtCol(pTxt, pCol)
          :info $Textfarbe festlegen (hex: FFFF00 ist gelb...$\\
          $txt: string zur Textausgabe$ \\
          $col: htmlfarbe$
          
          //Textfarbe festlegen
          
          :return $<font color=$ + pCol + $>$ + pTxt + $</font>$
          :end
          
          /*--------------- htmlTxtSize -------------*/
          :begin htmlTxtSize(pTxt, pSize)
          :info $Textgröße festlegen $\\
          $txt: string zur Textausgabe$ \\
          $pSize: Textgröße (1..7)$
          
          //Textgröße festlegen
          
          :return $<font size=$ + convert(pSize,$$) + $>$ + pTxt + $</font>$
          :end
          
          /*--------------- htmlTxtBold -------------*/
          :begin htmlTxtBold(pTxt)
          :info $Text fett schreiben $\\
          $txt: string zur Textausgabe$ \\
          
          //Text als fett festlegen
          
          :return $<b>$ + pTxt + $</b>$
          :end
          
          /* DIE BEIDEN FOLGENDEN SIND NOCH NICHT GETESTET */
          /*--------------- htmlTxtAlign ------------*/
          :begin htmlTxtAlign(pTxt, pAlignment)
          :info $Textzeile ausrichten (left - right - center)$\\
          $pTxt: Auszugebender String$\\
          $pAlignment: Ausrichtung (left - right - center)$
          
          //Text ausrichten - Achtung <div> ... </div> erzeugt automatisch eine Zeilenschaltung!
          
          :return $<div style="text-align:^pAlignment^">$ + pTxt + $</div>$
          :end
          
          /*--------------- htmlPre -----------------*/
          :begin htmlPre(pTxt)
          :info $Text mit nicht unterdrückten Leerzeichen und Zeilenschaltungen$\\
          $pTxt: Auszugebender String$
          
          //Innerhalb <pre> ... </pre> bleiben Leerzeichen und Zeilenschaltungen erhalten, der Browser unterdrückt sie nicht
          
          :return $<pre>$ + pTxt + $</pre>$
          :end
          Wobei mir auffällt, dass mein Code oben schon vorher entstanden sein muss und die Makros nicht enthält ...

          Die beiden letzten Makros habe ich anlässlich dieses Threads schon mal formuliert, aber noch nicht angewendet - daher keine Garantie! Sind halt gut da, wenn sie doch mal gebraucht würden...

          Kommentar


            #20
            Zitat von klaus_kraemer Beitrag anzeigen
            Hier einfach mal meine kleinen HTML-Helferlein:

            Sehr geil!
            Wiedermal genialer Einblick!!!

            Danke

            Kommentar


              #21
              weil wir gerade so schön beim Stringformat sind:

              man stringformat kein s32?

              im nachfolgenden code wird der messwert auf verschiedene Arten in ein webout geschrieben:

              2 x geht es
              1 x nicht

              WARUM?

              tmp_s32 = "ZZ6-Energiezähler-Vorher. Wert-5/1/181"/1000s32;
              tmp_mess32=convert(tmp_s32,tmp_mess32);
              tmp_string=stringformat(tmp_s32,4,1,8,1);
              weboutEnergie=weboutEnergie+weboutEnergieZeile+web outEnergieSpalte1+$akt. Jahr$+ \\
              weboutEnergieSpalte2+convert(tmp_s32,$$)+ \\
              weboutEnergieSpalte3+stringformat(tmp_mess32,4,1,8 ,1)+ \\

              weboutEnergieSpalte4+stringformat(tmp_s32,4,1,8,1) + \\
              weboutEnergieSpalte5;
              Ausgabe: (nur die Zeile "akt. Jahr" ist relevant)

              Unbenannt.jpg
              EPIX
              ...und möge der Saft mit euch sein...
              Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

              Kommentar


                #22
                Der Umwandlungstyp stimmt nicht:0 statt 4 als zweiten Parameter.

                Kommentar


                  #23
                  der Fehler ist wie meistens vor dem Bildschirm
                  Blöde Frage: warum ist die Unterscheidung eigentlich notwendig? - der Datentyp ist doch eigentlich durch die Variable bzw GA definiert?
                  Zuletzt geändert von EPIX; 26.03.2022, 10:32.
                  EPIX
                  ...und möge der Saft mit euch sein...
                  Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

                  Kommentar


                    #24
                    Zitat von EPIX Beitrag anzeigen
                    warum ist die Unterscheidung eigentlich notwendig?
                    Weil für u und i-Formate auch die Umwandlung in Oktal bzw die Hex-Formate x und X möglich sind.

                    Kommentar


                      #25
                      Zitat von enertegus Beitrag anzeigen
                      Hier noch ein paar Beispiele.
                      Code:
                      fZahl=3.14f16
                      // z5= $3$
                      z5=stringformat(fZahl, 4, 1, 0, 0)
                      was ich bei den Parametern nicht verstehe:

                      lt. Handbuch:
                      1 als Format bedeuted: "1: Leerzeichen bei positiver Zahl (nur zulässig, falls Data vom Datentyp sXX oder fXX und keine Umwandlung ins Oktal- oder Hexadezimalformat)

                      wenn man sich die Ausgabe im Debugger anschaut, dann
                      c1400 12.0 20 31 32 2e 30 00 0
                      also DOCH ein Leerzeichen
                      Zumindest die Beispiele sollten passen!

                      Stringformat ist irgendwie jedesmal ein Graus...

                      Es wäre eine komplette Überarbeitung notwendig bzw die Zerlegung in mehrere Programme...

                      Die Darstellung sollte zudem der deutschen Zifferndarstellung angepasst sein (also Dezimalkomma statt Punkt und die Tausenderpunkte)
                      Zuletzt geändert von EPIX; 30.03.2022, 09:43.
                      EPIX
                      ...und möge der Saft mit euch sein...
                      Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

                      Kommentar


                        #26
                        Passt doch aber?
                        Zitat von EPIX Beitrag anzeigen
                        Leerzeichen
                        Zitat von EPIX Beitrag anzeigen
                        DOCH ein Leerzeichen
                        Zitat von EPIX Beitrag anzeigen
                        Stringformat ist irgendwie jedesmal ein Graus...
                        dafür gibt es ja den Logikknoten, falls man die Funktion nicht direkt verwenden möchte.

                        Der EibPC ist frei programmierbar. Bei manchen Wünschen dauert es vmtl länger, den Wunsch zu formulieren, als ihn schnell als Makro selbst umzusetzen...

                        Kommentar


                          #27
                          die ewige Compilirerei beim Testen und Fehlersuchen ist halt zeitaufwändig und wenn dann auch das Beispiel nicht passt - dann suchst halt NOCH länger

                          und die Stringformat-Funktion ist wirklich ein Hammer...

                          Enertegus hat schon (2015?) einmal gemeint es kommen noch "Brüderfunktionen" dazu die das Leben leichter machen
                          EPIX
                          ...und möge der Saft mit euch sein...
                          Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

                          Kommentar

                          Lädt...
                          X