Sonstiges Beckhoff TE2000 HMI Realzahlenlänge in Textbox begrenzen

hsxhf

Level-2
Beiträge
24
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

obwohl ich meine gemappte Variable schon auf 2 Stellen nach dem Komma begrenzt habe, wird sie mir in der Textbox
immer wieder bei einem Wertesprung der Variable mit endlos vielen Stellen angezeigt. Wie kann man das festlegen?
Zudem möchte ich bei Eingabemöglichkeit auch das ich nur eine Realzahl mit nur z.B. 2 Stellen nach dem Komma eingeben kann.


Gruß hsxhf
 
Mehrere Möglichkeiten:
#1: Du definierst dir eine Function die du dann benutzt. z.B.
var Round = function (Value, DecPlaces){
return Value.toFixed(DecPlaces);
}

#2: direkt im Edit-Feld limitiserst du mit der IF/THEN/ELSE sequenz
%i%myNumberSym%/i% ? %i%myNumberSym%/i%.toFixed(2) : ""

#3: Du formatierst den Ausgabestring.
FormatString('{0|.2f}', %imyNumbersym%)


Guga
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja Möglichkeit #3 z.B. habe ich zwar so weit verstanden aber kannst du mir ein ein konkretes Beispiel geben?
Ich muss doch unter Eigenschaften -> Custom -> TcHmiTextbox::Text konfigurieren.
Also Function "Format String" aufrufen da deine Anweisung reinschreiben und unter args: TcHmiTextbox::Text einfügen.
Dann unter Common / Text -> Create DataBinding meine Variable einfügen? Das geht aber nicht.
Ich denke ich mach da grundlegend was verkehrt?
Wenns dann funktioniert kann ich mir dafür ein usercontrol anlegen.
Für deine ersten zwei Beispiele komm ich auch nicht weiter, auch hier fehlt mir schon wo ich das wie einfügen muss.

Sorry, aber bin doch noch ziemlich neu in der Materie.

Gruß hsxhf
 
So, nun Möglichkeit 3 ist ganz einfach. Hatte mich nur zu dumm angestellt.
Anstelle meiner Variable unter Common -> Text mittels "Create data binding" anzulegen,
nimmt man den Multiline Editor und schriebt: "FormatString('{0|.3f}',rText);" rein.
Meine Variable ist in dem Fall der rText. Dann wir alles auf 3 Stellen nach Komma begrenzt.

Gruß hsxhf
 
Zurück
Oben