Leere Zeilen in einem Textfeld (keine Mehrfachwerte zugelassen) abfangen

  • Hallo zusammen,


    ich hatte mal unter R5 das Problem, dass die User in einem Textfeld versehentlich die <Enter> - Taste drückten und so das Dokument speicherten. Später, beim Export in eine Textdatei gab's dann an der Stelle einen Zeilenumbruch, was nicht schön war.


    Um die Leerzeichen abzufangen, gibt's ja viele eingebaute Funktionen, für die LeerZEILEN - Kontrolle habe ich damals keine Fertiglösung gefunden. So ist dieses Script entstanden.
    Ich poste es hier, falls es jemanden interessiert...


    Die Function habe ich in der Script-Bibliothek.
    Im Exiting vom kritischen Textfeld wird sie aufgerufen, bei 1 wird eine Fehlermeldung ausgegeben und Fokus wieder in dieses Feld gesetzt, so wird der User gezwungen, die leere Zeile(n) zu löschen. (Eine Erziehungsmaßnahme ;o))


    Sub Exiting(Source As Field)
    .......
    xWert = uidoc.FieldGetText("Feldname")

    If Textfeld_Kontrolle_Leere_Zeilen (xWert) = 1 Then
    .......



    Public Function Textfeld_Kontrolle_Leere_Zeilen (WERT As String) As Integer
    'Diese Funktion zählt leere Zeilen in einem String
    'und gibt 1 zurück, wenn mindestens 1 leere Zeile vorhanden ist

    Dim xLen As Long
    Dim xAnzahl As Long
    Dim i As Long

    xLen = Len (WERT) 'Stringlänge

    xAnzahl = 0
    Textfeld_Kontrolle_Leere_Zeilen = 0
    For i = 1 To xLen
    If Uni(Mid(WERT,i,1)) = 13 Then
    xAnzahl = xAnzahl + 1
    Textfeld_Kontrolle_Leere_Zeilen = 1
    End If 'Uni(Mid(WERT,i,1)) = 13
    Next '1 To xLen

    'Msgbox "Anzahl leerer Zeilen: " + Str$(xAnzahl)
    End Function

    • Offizieller Beitrag

    ersetze doch die Zeichen.
    @ReplaceSubstring(FeldNAme; @NewLine; " ")


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • Hallo Dirk,


    die Formel @ReplaceSubstring kenne ich und nutze sie sehr oft bei der Eingabeumsetzung.


    Vielleicht habe ich meinen Beitrag falsch benannt...


    In dem Beispiel ging's hauptsächlich um:
    1) aktive Kommunikation mit dem User, wenn er "Enter" drückt und es nicht soll;
    2) Lotus Script-Analog für die Formel @ReplaceSubstring, wobei das Text-Feld zeichenweise geprüft werden soll.


    Gruß


    Laura

  • Ich find's nett, dass Du Dein Script gepostet hast, man kann immer dazulernen.
    Wir hatten auch mal so eine User-Dominier-Anforderung, weil der User seine Returns optisch nach seinen Wünschen aufarbeiten können sollte ( -, **, ~, _). Frag mich nicht, warum, hab ich auch nicht mehr.
    Und der nächste kann sich die Arbeit sparen.


    Ausserdem ein Code sagt mehr als 1000 Worte.