Zeilenumbruch im GUICtrlCreateInput

  • Hi Leute!

    Ich hab folgendes Problem in meinem GUICtrlCreateInput soll nach einer bestimmten Anzahl von Zeichen (die der Anwender später eingibt) ein Zeilenumbruch erfolgen. Leider hab ich keinen Plan wie ich das realisieren soll!

    Ich habs schon so probiert:

    $Naricht = GUICtrlCreateInput (" " & @crlf & " "...)

    Da das aber so nicht funktioniert wende ich mich also hilfesuchend an euch.

    mfG
    Carsten

    Flensburg ist wie Payback - wenn man 18 Punkte hat bekommt man ein Fahrrad.

  • Füge diese Funktion in dein Skript ein:

    [autoit]

    Func _Strcut($Str, $numb)
    Local $laenge = StringLen($str), $out = '', $fz = 0
    Do
    $left = StringLeft($str, $numb)
    $str = StringTrimLeft($str, $numb)
    $out = $out & @CRLF & $left
    $fz += $numb
    Until $fz > $laenge
    return $out & $str
    EndFunc

    [/autoit]

    Nun kannst du den String den du aller x-Zeichen trennen willst damit trennen.

    Als Beispiel zur Anwendung:

    [autoit]

    $String = "abcdefghijklmnopqrstuvwxyz"
    $String = _Strcut($String, 3)
    MsgBox(0,"",$String)

    [/autoit]

    Nun wird deinem String aller 3 Zeichen ein Zeilenumbruch eingefügt.

    Edit: Ach so warte mal - ich glaube jetzt versteh ich erstmal was du willst.
    Du willst das dein Input-Feld mehrere Zeilen bekommt?
    Das geht nicht - da musst du schon GUICtrlCreateEdit oder so nehmen.

    Einmal editiert, zuletzt von AspirinJunkie (11. November 2006 um 14:24)

    • Offizieller Beitrag

    Hi,

    bernd670 hat da auch mal was cooles geschrieben:

    Spoiler anzeigen
    [autoit]

    ;~ Beispieltext von http://de.wikipedia.org/wiki/AutoIt
    $String = "Die Skripte ermöglichen z. B. das Ausführen von Programmen, das Simulieren von Tastaturanschlägen bzw. Mausklicks. Es können einfache Textfunktionen der Zwischenablage oder auch Windowsfunktionen (wie z. B. minimieren, verstecken, Warten auf/Aktivieren von Fenstern) aufgerufen werden. Seit Version 3 können zudem graphische Benutzeroberflächen mit zahlreichen Controls entworfen werden. Soll es um Registrymanipulationen oder komplexere Schleifen gehen, ist AutoIt 3 inzwischen mit seiner verbesserten Syntax deutlich einfacher zu handhaben als frühere Versionen. Es ist möglich, AutoIt mit anderen Scriptsprachen wie WSH oder Kixtart zu kombinieren (AutoItX)."

    MsgBox(0,"",$String) ; Original-Text
    MsgBox(0,"",_StringInsertLF($String,50)) ; Softbreak nach 50 Zeichen
    MsgBox(0,"",_StringInsertLF($String,50,1)) ; Hardbreak nach 50 Zeichen

    ;===============================================================================
    ;
    ; Description: Fügt @LF in Strings ein
    ; Parameter(s): $strString = String der bearbeitet werden soll
    ; $nCount = Anzahl der Zeichen bevor @LF eingefügt werden soll
    ; (optional) $cBreaking = 0 (default) -> Softbreak (an Wortgrenze)
    ; 1 -> Hardbreak
    ; ist kein Leerzeichen im String enthalten wird hart
    ; umgebrochen
    ; Requirement(s): keine
    ; Return Value(s): String mit @LF
    ; Author(s): bernd670
    ;
    ;===============================================================================
    Func _StringInsertLF($strString,$nCount,$cBreaking = 0)

    Local $strRetString = "", $nPos

    Do
    If Stringlen($strString) > $nCount Then
    $nPos = StringInStr(StringLeft($strString,$nCount + 1)," ",0,-1)
    If ($nPos and $cBreaking = 0) Then
    $strRetString &= StringLeft($strString,$nPos - 1) & @LF
    $strString = StringMid($strString,$nPos + 1)
    Else
    $strRetString &= StringLeft($strString,$nCount) & @LF
    $strString = StringMid($strString,$nCount + 1)
    EndIf
    EndIf
    Until StringLen($strString) < $nCount

    $strRetString &= $strString

    Return $strRetString
    EndFunc

    [/autoit]

    So long,

    Mega

  • erstmal Danke für die Antworten.

    Also ich hab jetzt einfach das GUICtrlCreateEdit genommen und damit gehts...

    :stolz_bin: :stolz_bin: :stolz_bin: :stolz_bin: :stolz_bin: :stolz_bin: :stolz_bin:

    Flensburg ist wie Payback - wenn man 18 Punkte hat bekommt man ein Fahrrad.