| |
| Digital Twin: mehr Wissen für effizientere Nutzung |
Autor(16237)
|
Thema: Länge eines Dialoges ermitteln (1507 mal gelesen)
|
Strohli Mitglied
Beiträge: 860 Registriert: 20.09.2002
|
erstellt am: 29. Apr. 2004 14:23 <-- editieren / zitieren --> Unities abgeben:
Hat jemand eine Idee, wie mal die Länge eines editierten Textes im Symbol abfragen kann? Ich möchte feststellen, ob ein Text länger als 16 Zeichen ist. z.B. mit IF (..... oder erstmal übertragen mit Code 1002 ( die ersten 16 Zeichen)in einen anderen Dalog und dann vergleichen. Zur Info: In der Kommandosprache kann ich mit param[1,16] die ersten 16 Zeichen in eine Varable übertragen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
w-trapper Mitglied
Beiträge: 3 Registriert: 16.09.2003
|
erstellt am: 29. Apr. 2004 14:47 <-- editieren / zitieren --> Unities abgeben: Nur für Strohli
|
Bodo_M Moderator
Beiträge: 5299 Registriert: 15.11.2001
|
erstellt am: 29. Apr. 2004 15:29 <-- editieren / zitieren --> Unities abgeben: Nur für Strohli
|
Strohli Mitglied
Beiträge: 860 Registriert: 20.09.2002
|
erstellt am: 29. Apr. 2004 16:08 <-- editieren / zitieren --> Unities abgeben:
|
Re2003 Mitglied Elektroingenieur
Beiträge: 124 Registriert: 07.08.2003
|
erstellt am: 29. Apr. 2004 16:37 <-- editieren / zitieren --> Unities abgeben: Nur für Strohli
Hi, was willst Du denn mit der Abfrage erreichen, welche Reaktion sollte daraus erfolgen? Vielleicht gibt es einen anderen indirekten Weg dazu. Vielleicht kannst Du den Wert über einen Code 21 übertragen, dann wird er auf 8 Zeichen gekürzt. Leider kenne ich keinen Code, der auf 16 Zeichen begrenzt ist. Gruss, Erich
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bodo_M Moderator
Beiträge: 5299 Registriert: 15.11.2001
|
erstellt am: 30. Apr. 2004 07:30 <-- editieren / zitieren --> Unities abgeben: Nur für Strohli
|
Strohli Mitglied
Beiträge: 860 Registriert: 20.09.2002
|
erstellt am: 30. Apr. 2004 08:43 <-- editieren / zitieren --> Unities abgeben:
Es ist für ein Zeilensymbol bei der Ausgabe der Verdrahtungsliste. Wenn ein Text länger als 16 Zeichen ist, soll er in einen anderen Code umgeleitet werden, der in kleinerer Schrift dargestellt ist. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DGr Mitglied
Beiträge: 65 Registriert: 29.10.2002
|
erstellt am: 30. Apr. 2004 09:55 <-- editieren / zitieren --> Unities abgeben: Nur für Strohli
Moin Joerg, probier mal den Code 91 (Symbolmakro). Symbolnamen sind ja max. 16 Char lang. Vielleicht geht das ja. Ansonsten kannst Du mal in das Symbol LA_DEVICE schauen. Da werden in Abhängigkeit von Höhe und Breite auch unterschiedlich hohe Texte platziert. Vielleicht hast Du ja ähnliche Umstände bzw. Parameter in der Verdrahtungsliste, in deren Abhängigkeit Deine Texte dimensioniert werden können. Gruß Dirk
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Strohli Mitglied
Beiträge: 860 Registriert: 20.09.2002
|
erstellt am: 30. Apr. 2004 11:43 <-- editieren / zitieren --> Unities abgeben:
|
s.koni Mitglied Elektrotechnischer Zeichner
Beiträge: 317 Registriert: 17.06.2002 ELCAD 7.8.0 EPLAN P8 2.4.4
|
erstellt am: 04. Mai. 2004 13:10 <-- editieren / zitieren --> Unities abgeben: Nur für Strohli
Hallo Strohli, Es gibt eine Möglichkeit die Schriftgröße an die Größe des Symbols anzupassen. Habe dir ein Beispiel beigefügt (mußt txt > asc umbennen, dann kannst du es in deine Symbib. einlesen). Es ist ein "Fenster" das mit VAR verschoben werden kann. Je nach Größe des Fensters wird dann die Schirftgröße angepasst. Das geht, weil die Größe des Fensters ausgelesen werden kann und so die Dialoge in die entsprechende Ausgabezeile geschrieben werden. Vielleicht kannst du deine Anforerung ja auch so lösen. Ich habe auch schon oft den Wunsch gehabt, die Länge eines Dialoges auslesen zu können und habe das bei AUCOTEC als Wunsch angemeldet - bis jetzt aber ohne Erfolg. Wäre doch bestimmt kein großes Problem einen Code zu machen, in dem dann die Zeile des Quelldialogs und die Zielzeile eingetragen werden. In der Zielzeile steht dann die Länge des Dialoges - würde vieles erleichtern!!!! mfg s.koni Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Strohli Mitglied
Beiträge: 860 Registriert: 20.09.2002
|
erstellt am: 04. Mai. 2004 13:33 <-- editieren / zitieren --> Unities abgeben:
Gut gemacht. Aber im Zeilensymbol eines Listenformblatts steht mir diese Möglichkeit nicht zur Verfügung. Ich wollte hier eine Lösung ohne Kommandosprache anstreben. In der Listenbearbeitung gibt es ja auch die Möglichkeit, Texte zu tauschen und dabei nur die ersten Zeichen zu benutzen. (z.B. [1,4]Datenfeld) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
w-trapper Mitglied
Beiträge: 3 Registriert: 16.09.2003
|
erstellt am: 03. Jun. 2004 08:14 <-- editieren / zitieren --> Unities abgeben: Nur für Strohli
Hi Strohli Die Idee mit dem Code 91 finde ich gar nicht so schlecht. Wenn hier Einträge automatisch auf 16 Zeichen gekürzt werden könnte man den Text in einen Code 91 übertragen und danach die beiden Einträge vergleichen. Bei Ungleichheit wurde etwas abgeschnitten! Gruß Wolfgang Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Re2003 Mitglied Elektroingenieur
Beiträge: 124 Registriert: 07.08.2003
|
erstellt am: 03. Jun. 2004 09:31 <-- editieren / zitieren --> Unities abgeben: Nur für Strohli
Hallo Wolfgang, die Idee ist gut aber leider funktioniert sie nicht, da ELCAD den gesamten String überträgt, auch wenn er länger ist als im Zieldialog vorgesehen. Frage an Bodo: Ich denke, dass hier ELCAD ruhig etwas konsequenter sein könnte. So kann man z.B. auch mit strg-c in Eingabefelder strings einfügen, die länger als vorgesehen sind. Wenn Daten länger als erwartet sind, so ist ein potentielles Risiko für die Datenintegrität, da damit Fehler provoziert werden können. Gruss, Erich
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |