Ermittelt die Zeichenlänge einer Zeile
#include <GuiEdit.au3>
_GUICtrlEdit_LineLength ( $hWnd [, $iIndex = -1] )
$hWnd | Control-ID / Handle des Controls |
$iIndex | [optional] legt den 0-basierenden Index der Zeile fest, wessen Länge ermittelt werden soll |
Erfolg: | Die Länge der Zeile in TCHARs, festgelegt durch den Parameter $iIndex |
Fehler: | 0 falls $iIndex größer als die Anzahl von Zeichen im Control ist |
$iIndex = –1 verwendet die aktuelle Zeilennummer (Zeile die den Cursor enthält)
- - - - - - - - Erklärung der Controls - - - - - - - -
#include <GUIConstantsEx.au3>
#include <GuiEdit.au3>
#include <GuiStatusBar.au3>
#include <WindowsConstants.au3>
Example()
Func Example()
Local $hStatusBar, $idEdit, $hGui
Local $sWow64 = ""
If @AutoItX64 Then $sWow64 = "\Wow6432Node"
Local $sFile = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE" & $sWow64 & "\AutoIt v3\AutoIt", "InstallDir") & "\include\changelog.txt"
Local $aPartRightSide[2] = [378, -1], $iRandom
; Erstellt eine GUI
$hGui = GUICreate("Edit: Ermittelt die Zeichenlänge einer Zeile", 400, 300)
$idEdit = GUICtrlCreateEdit("", 2, 2, 394, 268, BitOR($ES_WANTRETURN, $WS_VSCROLL))
$hStatusBar = _GUICtrlStatusBar_Create($hGui, $aPartRightSide)
_GUICtrlStatusBar_SetIcon($hStatusBar, 1, 97, "shell32.dll")
GUISetState(@SW_SHOW)
; Setzt die Ränder
_GUICtrlEdit_SetMargins($idEdit, BitOR($EC_LEFTMARGIN, $EC_RIGHTMARGIN), 10, 10)
; Setzt den Text
_GUICtrlEdit_SetText($idEdit, FileRead($sFile))
; Zeichenlänge einer Zeile
$iRandom = Random(0, 7, 1)
_GUICtrlStatusBar_SetText($hStatusBar, "Länge: " & _GUICtrlEdit_LineLength($idEdit, $iRandom) & " Zeichen in einer Zeile: " & $iRandom)
; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst.
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
EndFunc ;==>Example