Ankündigung

Einklappen
Keine Ankündigung bisher.

weboutput() Datafeld zu klein!

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

    [Featurewunsch] weboutput() Datafeld zu klein!

    Ich verwende das weboutput() Element um platzsparend in einem <table></table> Status-Informationen auszugeben.
    Allerdings ist die Länge des Datenfeldes für die Funktion weboutput() zu knapp bemessen, so das bei größeren strings das Ende abgeschnitten wird.
    Das Problem wird dadurch noch vergrößert, das man den HTML Text der Übersichtlichkeit wegen gerne reichlich mit Spaces versieht und dann recht schnell ein paar Hundert char's mit spaces verschwendet.

    Das weboutput() Element ist eine gute Möglichkeit flexibel Informationen darzustellen.
    Bitte das Datenfeld deutlich vergrößern, dann ist es auch gebrauchstüchtig.

    Alexander

    #2
    Moin Alexander,

    also das Datenfeld wird nie größer als die 65k Zeichen, das geht einfach vom Speicher her nicht. Ich vermute aber, Du meinst sowas wie ein 4x4 großes Feld damit mehr Raum bleibt? Also sowas:

    WeboutputInBreit.png

    Gruß,
    Bernd

    Kommentar


      #3
      Zitat von asc570 Beitrag anzeigen
      Allerdings ist die Länge des Datenfeldes für die Funktion weboutput() zu knapp bemessen, so das bei größeren strings das Ende abgeschnitten wird.
      Ich denke, Du willst c65000 Strings nutzen... schau mal danach. Oder reichen Dir die max. 65000 Zeichen nicht aus?
      offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
      Enertex Produkte kaufen

      Kommentar


        #4
        Hallo Bernd,
        nein ich meine schon den zweiten Parameter der Funktion
        weboutput(Idu08,$$c64000)!
        Der String wird so bei 1000 char's abgeschnitten.

        Vielleicht liegt es ja an meiner Definition des Strings in einem Macro als:
        :var str@
        str@ = $$c64000

        Egal ob ich str@ = $$ oder str@=$$c64000 schreibe, der String wird an der gleichen Stelle abgeschnitten.

        Ich finde es ja auch seltsam, das weboutput() den const String in einen kleinen Buffer kopiert und dadurch abschneidet.

        Vielleicht kann jemand von enertex das erklären.

        alexander
        Angehängte Dateien

        Kommentar


          #5
          Fügst du zufällig zwei Strings zusammen ?

          Wenn der kleinere ein c1000 ist, hat der gesamte String auch nicht mehr.. Steht irgendwo im Handbuch..

          Gruss Martin
          Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

          Kommentar


            #6
            Zitat von Brick Beitrag anzeigen
            Fügst du zufällig zwei Strings zusammen ?

            Wenn der kleinere ein c1000 ist, hat der gesamte String auch nicht mehr.. Steht irgendwo im Handbuch..

            Gruss Martin
            Danke Martin,
            stand wirklich im Handbuch Seite 101, hatte immer an anderer Stelle im Handbuch gesucht!
            Dann sollte mein Problem nicht durch die Funktion weboutput() verursacht werden.
            Im obigen Codeabschnitt wurde der HTML-String aus Teilstrings durch Verkettung („+“-Zeichen) gewonnen.
            Es ist wichtig sicherzustellen, dass die Verkettung die passende Stringlänge erzeugt. Die
            Funktion weboutput kann bis zu 65564 Bytes an das weboutput-Element übergeben. Die obige Verkettung
            besteht aber „nur“ aus $$ (= c1400) und einem c10000 String. Die Stringverkettung reserviert
            für das Ergebnis die Anzahl der Bytes, wie es das „längste“ String-Argument vorgibt. In diesem Fall
            sind dies 10.000 Bytes, gegeben durch den einen c10000 String im Code (vgl. oben).
            alexander

            Kommentar

            Lädt...
            X