1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. i2c

Beiträge von i2c

  • Passwort als Punkte anzeigen.

    • i2c
    • 24. Oktober 2010 um 02:09
    [autoit]

    $ID = GUICtrlCreateInput("", 80, 172, 121, 21)
    $PW = GUICtrlCreateInput("", 80, 212, 121, 21, BitOR($ES_PASSWORD,$ES_AUTOHSCROLL))

    [/autoit]
  • .txt file 2 werte auslesen

    • i2c
    • 23. Oktober 2010 um 12:16
    [autoit]

    $firstLine=StringFormat("%d", FileReadLine("deine.txt", 1))
    MsgBox(0,"", $firstLine)

    [/autoit]
  • .txt file 2 werte auslesen

    • i2c
    • 23. Oktober 2010 um 00:17

    Findet den ersten Wert der aus < 5Ziffern> . <2 Ziffern> besteht.

    [autoit]

    #include <array.au3>
    $string = '237000.01' & @crlf & _
    '248000.02' & @crlf & _
    '249000.03' & @crlf & _
    '250000.04' & @crlf & _
    '252000.05' & @crlf & _
    '91646.21' & @crlf & _
    '90509.32' & @crlf & _
    '90416.54' & @crlf & _
    '90300.12'

    [/autoit][autoit][/autoit][autoit]

    $aResult = StringRegExp($string, "(\b\d{5}\.\d{2})", 1, 1)
    _ArrayDisplay($aResult)

    [/autoit][autoit][/autoit][autoit]

    #cs ### Output ###
    [0] 91646.21[1] 91646.21
    #ce

    [/autoit]

    edit: In etwa so könnte man es machen, wenn man die genaue Länge der Werte nicht kennt. Ich geh hier davon aus, das es immer 2 Stellen nach dem Punkt gibt und immer der erste Wert mit der nächstkleineren Anzahl an "Vorkommastellen" gesucht wird.

    Spoiler anzeigen
    [autoit]

    #include <array.au3>
    $string = '237000.01' & @crlf & _
    '248000.02' & @crlf & _
    '249000.03' & @crlf & _
    '250000.04' & @crlf & _
    '252000.05' & @crlf & _
    '91646.21' & @crlf & _
    '90509.32' & @crlf & _
    '90416.54' & @crlf & _
    '90300.12'

    [/autoit] [autoit][/autoit] [autoit]

    ;$firstLineFileReadLine($hFile, 1)
    $firstLine=StringSplit($string, @CRLF, 1)
    $firstLine = $firstLine[1]

    [/autoit] [autoit][/autoit] [autoit]

    $tmp = StringSplit($firstLine, ".", 1)
    $firstGroupLen = StringLen($tmp[1])

    [/autoit] [autoit][/autoit] [autoit]

    For $i = $firstGroupLen To 1 Step -1
    $aResult = StringRegExp($string, "(\b\d{" & $i & "}\.\d{2})", 1, 1)
    If IsArray($aResult) Then
    ConsoleWrite($aResult[0] & @CRLF)
    EndIf
    Next

    [/autoit]
  • Standby verhindern?

    • i2c
    • 22. Oktober 2010 um 19:12

    Der Funktion WM_POWERBROADCAST() musst du keine Parameter übergeben, das macht GuiRegisterMsg().

    GUIRegisterMsg() registrierte eine Funktion die beim auftreten eines Windows Nachrichtencodes ausgeführt wird. In diesem Fall 0x0218. GUIRegisterMsg() ruft dann die Funktion auf und übergibt die 4 Parameter. Die Funktion entscheidet dann nurnoch, welche Aktion bei einem bestimmten Nachrichtenparameter (in diesem Fall 0x0000) augeführt werden soll. Welche Werte wParam annehmen kann ist im MSDN aufgelistet und erklärt. BROADCAST_QUERY_DENY bricht den Vorgang dann einfach ab.

  • Standby verhindern?

    • i2c
    • 22. Oktober 2010 um 17:30
    Spoiler anzeigen
    [autoit]

    ;by rasim
    Global Const $WM_POWERBROADCAST = 0x0218
    Global Const $PBT_APMQUERYSUSPEND = 0x0000
    Global Const $BROADCAST_QUERY_DENY = 0x424D5144

    [/autoit] [autoit][/autoit] [autoit]

    HotKeySet("{Pause}", "_Exit")

    [/autoit] [autoit][/autoit] [autoit]

    $hGUI = GUICreate("Test GUI")

    [/autoit] [autoit][/autoit] [autoit]

    $TestButton = GUICtrlCreateButton("Test", 60, 37, 75, 23)

    [/autoit] [autoit][/autoit] [autoit]

    GUIRegisterMsg($WM_POWERBROADCAST, "WM_POWERBROADCAST")

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(100)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func WM_POWERBROADCAST($hWnd, $Msg, $wParam, $lParam)
    Switch $wParam
    Case $PBT_APMQUERYSUSPEND
    Return $BROADCAST_QUERY_DENY
    EndSwitch
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _Exit()
    Exit
    EndFunc

    [/autoit]
  • Umgebungsvariable SystemDrive auslesen

    • i2c
    • 21. Oktober 2010 um 10:12
    [autoit]

    MsgBox(0, "", @HomeDrive)

    [/autoit]
  • [gelöst]StringRegExp <-> preg_match

    • i2c
    • 21. Oktober 2010 um 07:48

    Den Pattern kann ich leider im Moment nicht testen aber du hast auf jeden Fall ein paar escapes vergessen.

    [/,\d,\w] → .[\/,\d,\w]
    </a> → <\/a>
    </div> → <\/div>

    Code
    "/<a\shref=.[\/,\d,\w]*?.\sstyle=.color\:\s#FFFFFF.>([\d,\w,\-,\(,\),\s,\.,\,,\&,']+)<\/a>|overflow\:hidden.>\n\s*([\d,\w,\-,\(,\),\s,\.,\,,\&,']+)<\/div>/"

    Die Syntax sollte jetzt passen. Ob du damit was findest ist eine andere Frage :)

  • GUISetOnEvent vs. GUIGetMsg

    • i2c
    • 20. Oktober 2010 um 16:13

    [ offen ] GUICtrlSetOnEvent vs. GUIGetMsg

  • Hilfe bei Arrays (mein erstes Mal!)

    • i2c
    • 19. Oktober 2010 um 17:32
    Zitat von x0r

    die mir aus einem programm zeile für zeile ausliest, diese in arrays einliest und zum schluss array für array in einer excelliste einfügt.


    Es ist nur ein Array mit vielen Elementen.

    Zitat von x0r

    dass in diesen arrays beim "report" nichts drin steht,


    Wie gesagt, ein Array. Was report() macht, sieht man nicht.

    Deine FOR-Schleife kann höchstens bis 88 laufen und wenn du $array in copy() deklarierst, dann kennt report() es nicht.
    Ist mir zwar zu theoretisch aber versuch's mal so und schau vor allem, ob in der Konsole überhaupt was ausgegeben wird.

    Spoiler anzeigen
    [autoit]

    #include <array.au3>

    [/autoit] [autoit][/autoit] [autoit]

    _copy()
    Func _copy()
    Dim $array[89]
    ;ins programm klicken
    MouseClick("left", 325, 485)
    Sleep(200)

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 0 To 88
    Send("^c")
    Sleep(300)
    $array[$i] = StringRegExpReplace(ClipGet(), ' ', '_')
    ConsoleWrite($array[$i])
    Sleep(100)
    Send("{down}")
    Sleep(100)
    $balken = _ImageSearch("pics\service_balken.bmp", 1, $r1, $r2, 2)
    If $balken = 1 Then
    _report($array)
    EndIf
    Next
    EndFunc ;==>_copy

    [/autoit] [autoit][/autoit] [autoit]

    Func _report($array)
    _ArrayDisplay($array)
    EndFunc ;==>_report

    [/autoit]
  • [SciTE/Notepad++] Regexp Tester

    • i2c
    • 19. Oktober 2010 um 03:05

    Die schau ich mir auf jeden Fall alle an, danke dir.
    In der Zwischenzeit hab ich selbst nochmal etwas gesucht, sowas lässt mir keine Ruhe.
    PCRE Toolkit 3.0.0.2.6, das war's.
    Bevor ich wieder davon abkomme wurde auch gleich ausgiebiger getestet. Hat einige Bugs z.B. wild in der GUI verteilte Buttons, Probleme beim Löschen in der Bibliothek, Fehler beim resizen und ab und an stürtzt's auch mal ab aber Funktionalität und Aufbau gefallen mir sehr.

  • Autoit Anfänger benötigt Hilfe.

    • i2c
    • 19. Oktober 2010 um 00:13
    Spoiler anzeigen
    [autoit]


    $Zeit2 = InputBox("Zeit", "Minuten:", "", "", "")
    $Zeit3 = InputBox("Zeit", "Sekunden:", "", "", "")

    [/autoit] [autoit][/autoit] [autoit]

    Do
    $Zeit3 = $Zeit3 - 1
    ToolTip("Countdown: " & "Minuten: " & $Zeit2 & ".." & "Sekunden: " & $Zeit3)
    Sleep(1000)

    [/autoit] [autoit][/autoit] [autoit]

    Until $Zeit3 = 0

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    If $Zeit3 = 0 Then
    $Zeit3 = 60
    Do
    $Zeit2 = $Zeit2 - 1
    ToolTip("Countdown: " & "Minuten: " & $Zeit2 & ".." & "Sekunden: " & $Zeit3)
    Sleep(1000)
    Until $Zeit3 = 60
    Do
    $Zeit3 = $Zeit3 - 1
    ToolTip("Countdown: " & "Minuten: " & $Zeit2 & ".." & "Sekunden: " & $Zeit3)
    Sleep(1000)
    Until $Zeit3 = 0

    [/autoit] [autoit][/autoit] [autoit]

    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(100)
    WEnd

    [/autoit]
  • [SciTE/Notepad++] Regexp Tester

    • i2c
    • 19. Oktober 2010 um 00:07

    Nein, Regex Coach war's leider nicht.
    Wie schon oben geschrieben, das Tool war für (und ich wette auch in) Autoit geschrieben.

    -oben das Pattern Input
    -darunter ein Tabcontrol für unterschiedliche Quellen (Datei, Web und ich weiss nicht was sonst noch alles)
    -darunter rechts ein Editcontrol mit der Rückgabe und links Checkboxen zur Auswahl des Rückgabetyps

    Das Programm sah recht umfangreich aus. Ich kam leider nicht dazu es eingehender zu testen und irgendwann hatte ich's dann total verschusselt. Man ist ja auch so ein Gewohnheitstier und startet bei Bedarf immer seinen RegexBuddy oder RegexMagic.

  • [SciTE/Notepad++] Regexp Tester

    • i2c
    • 18. Oktober 2010 um 21:37

    Hallo zusammen,

    hab heut' beim Aufräumen ein verschollen geglaubtes Skript gefunden. Der Code ist wirr aber es scheint, soweit ich das im Moment beurteilen kann, zu funktionieren. Vieleicht findet es ja noch bei jemanden Verwendung.

    [Blockierte Grafik: http://h-2.abload.de/img/regexpha2z.png]

    • markierte Skriptstellen werden beim Start als zu prüfender String übernommen
    • Dateien und Webseiten lassen sich direkt als zu prüfender String importieren
    • kleine Bibliothek für reguläre Ausdrücke
    • für AutoIt formatierter Export des Regexp, des Quellstrings und des Outputs in die Zwischenablage

    SciTE:

    &quot;als c:\Programme\AutoIt3\SciTE\RegexpTester\regexp.au3 speichern&quot;
    [autoit]

    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <ListViewConstants.au3>
    #include <GuiRichEdit.au3>
    #include <GuiListView.au3>
    #include <array.au3>
    Opt('MustDeclareVars', 1)
    Opt("GUIOnEventMode", 1)
    #region DeclareVars
    Global $guiMain, $bRun, $bLibrary, $bFile, $bWeb, $bExport, $bHelp, $aControls[5], $eOutput
    Global $guiLibrary, $lPattern, $bSelect, $bChange, $bNew, $bDel, $bClose, $aIni
    Global $guiNewPattern, $iNewPattern, $iNewDescription, $bSaveNew, $Label1, $Label2
    Global $guiChangePattern, $iChangeDescription, $iChangePattern, $bSaveChange, $label3, $Label4
    Global $guiLoadWebpage, $iUrl, $bLoad
    Global $guiChangePattern, $bAbbort
    Global $aFlag[5] = [0, 1, 2, 3, 4]
    Global $aError[5]
    Global $temp
    Global $outputBkColor = 0x000000
    Global $outputFontColor = 0xffffff
    #endregion DeclareVars
    Global $ini = @ScriptDir & "\data.ini"
    #region guiLibrary
    $guiLibrary = GUICreate("Bibliothek", 539, 438, 254, 124, BitOR($WS_CAPTION, $WS_GROUP), Default, $guiMain)
    $lPattern = GUICtrlCreateListView("", 8, 8, 426, 422)
    $bSelect = GUICtrlCreateButton("auswählen", 440, 8, 91, 25)
    $bChange = GUICtrlCreateButton("ändern", 440, 40, 91, 25)
    $bNew = GUICtrlCreateButton("neu", 440, 72, 91, 25)
    $bDel = GUICtrlCreateButton("löschen", 440, 104, 91, 25)
    $bClose = GUICtrlCreateButton("schließen", 440, 154, 91, 25)
    GUISetState(@SW_HIDE)
    #endregion guiLibrary
    #region guiMain
    $guiMain = GUICreate("", 794, 515)
    $aControls[1] = GUICtrlCreateInput("", 8, 8, 520, 21)
    $aControls[2] = GUICtrlCreateCombo("", 536, 8, 45, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL))
    $aControls[3] = GUICtrlCreateInput("", 584, 8, 41, 21)
    $bRun = GUICtrlCreateButton("", 630, 8, 25, 25, $BS_ICON)
    $bLibrary = GUICtrlCreateButton("", 655, 8, 25, 25, $BS_ICON)
    $bFile = GUICtrlCreateButton("", 680, 8, 25, 25, $BS_ICON)
    $bWeb = GUICtrlCreateButton("", 705, 8, 25, 25, $BS_ICON)
    $bExport = GUICtrlCreateButton("", 730, 8, 25, 25, $BS_ICON)
    $bHelp = GUICtrlCreateButton("", 760, 8, 25, 25, $BS_ICON)
    $aControls[4] = GUICtrlCreateEdit("", 8, 38, 777, 210)
    $eOutput = GUICtrlCreateEdit("### Output ###", 8, 255, 777, 245, BitOR($GUI_SS_DEFAULT_EDIT, $ES_READONLY))
    GUISetState(@SW_SHOW)
    #endregion guiMain

    [/autoit] [autoit][/autoit] [autoit]

    #region Events
    GUISetOnEvent($GUI_EVENT_CLOSE, "_exit")
    GUICtrlSetOnEvent($bRun, "_run")
    GUICtrlSetOnEvent($bLibrary, "_showLibrary")
    GUICtrlSetOnEvent($bSelect, "_selectPattern")
    GUICtrlSetOnEvent($bNew, "_newPattern")
    GUICtrlSetOnEvent($bChange, "_changePattern")
    GUICtrlSetOnEvent($bDel, "_deletePattern")
    GUICtrlSetOnEvent($bClose, "_closeLibrary")
    GUICtrlSetOnEvent($bFile, "_loadFile")
    GUICtrlSetOnEvent($bWeb, "_loadWeb")
    GUICtrlSetOnEvent($bHelp, "_openHelp")
    GUICtrlSetOnEvent($bExport, "_export")
    #endregion Events

    [/autoit] [autoit][/autoit] [autoit]

    #region set Controls
    GUICtrlSetData($aControls[1], "(.+)")
    GUICtrlSetTip($aControls[1], "Pattern")
    For $element In $aFlag
    GUICtrlSetData($aControls[2], $element, $aFlag[0])
    Next
    GUICtrlSetTip($aControls[2], "Flag")
    GUICtrlSetData($aControls[3], "1")
    GUICtrlSetTip($aControls[3], "Offset")
    If IsArray($CMDLINE) And $CMDLINE[0] = 1 And $CMDLINE[1] <> "" Then
    GUICtrlSetData($aControls[4], $CMDLINE[1])
    EndIf
    GUICtrlSetImage($bRun, @SystemDir & "\shell32.dll", 246, 0)
    GUICtrlSetTip($bRun, "ausführen")
    GUICtrlSetImage($bFile, @SystemDir & "\shell32.dll", 2, 0)
    GUICtrlSetTip($bFile, "Datei laden")
    GUICtrlSetImage($bWeb, @SystemDir & "\shell32.dll", 15, 0)
    GUICtrlSetTip($bWeb, "Webseite laden")
    GUICtrlSetImage($bLibrary, @SystemDir & "\shell32.dll", 173, 0)
    GUICtrlSetTip($bLibrary, "Bibliothek öffnen")
    GUICtrlSetImage($bExport, @SystemDir & "\shell32.dll", 16750, 0)
    GUICtrlSetTip($bExport, "in Zwischenablage exportieren")
    GUICtrlSetImage($bHelp, @SystemDir & "\shell32.dll", 24, 0)
    GUICtrlSetTip($bHelp, "Onlinehilfe")
    GUICtrlSetBkColor($eOutput, $outputBkColor)
    GUICtrlSetColor($eOutput, $outputFontColor)
    _GUICtrlListView_InsertColumn($lPattern, 0, "Beschreibung", 220)
    _GUICtrlListView_InsertColumn($lPattern, 1, "Pattern", 200)
    #endregion set Controls

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(100)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _run()
    Local $errorMessage
    Local $outputMessage = "### Output ###"
    Local $result
    Local $sError, $error, $extended
    Local $aResult, $aMatch
    Local $pattern = GUICtrlRead($aControls[1])
    Local $flag = GUICtrlRead($aControls[2])
    Local $offset = GUICtrlRead($aControls[3])
    Local $string = GUICtrlRead($aControls[4])
    For $i = 0 To 4
    $aError[$i] = ""
    Next
    If $pattern = "" Then
    $aError[1] = "- kein Pattern angegeben"
    $aError[0] += 1
    EndIf
    If $flag = "" Then
    $aError[2] = "- kein Flag gewählt"
    $aError[0] += 1
    EndIf
    If $offset = "" Or $offset <= 0 Then
    $aError[3] = "- kein gültiger Offset angegeben"
    $aError[0] += 1
    EndIf
    If $string = "" Then
    $aError[4] = "- ohne String gibt's auch nichts zum durchsuchen"
    $aError[0] += 1
    EndIf
    If $aError[0] > 0 Then
    For $i = 1 To 4 Step 1
    If $aError[$i] <> "" Then
    $errorMessage &= $aError[$i] & @CRLF
    GUICtrlSetBkColor($aControls[$i], 0xF5A9A9)
    Else
    GUICtrlSetBkColor($aControls[$i], Default)
    EndIf
    Next
    GUICtrlSetData($eOutput, $outputMessage & @CRLF & $errorMessage)
    Else
    If $flag = 0 Then
    $result = StringRegExp($string, $pattern, $flag, $offset)
    $sError = _setErrorDescribtion(@error, @extended, $pattern)
    If $result = 0 Then
    $outputMessage &= @CRLF & "False"
    ElseIf $result = 1 Then
    $outputMessage &= @CRLF & "True"
    EndIf
    GUICtrlSetData($eOutput, $outputMessage)
    _resetErrorColors()
    Else
    $aResult = StringRegExp($string, $pattern, $flag, $offset)
    $sError = _setErrorDescribtion(@error, @extended, $pattern)
    If $flag < 4 And $flag > 0 Then
    For $i = 0 To UBound($aResult) - 1
    $outputMessage &= @CRLF & "[" & $i & "] " & $aResult[$i]
    Next
    GUICtrlSetData($eOutput, $outputMessage & @CRLF & @CRLF & $sError)
    ElseIf $flag = 4 Then
    $sError = _setErrorDescribtion(@error, @extended, $pattern)
    For $i = 0 To UBound($aResult) - 1
    $aMatch = $aResult[$i]
    $outputMessage &= @CRLF & "[" & $i & "]" & @CRLF
    For $j = 0 To UBound($aMatch) - 1
    $outputMessage &= " -> [" & $j & ']' & $aMatch[$j] & @CRLF
    Next
    Next
    GUICtrlSetData($eOutput, $outputMessage & @CRLF & @CRLF & $sError)
    _resetErrorColors()
    EndIf
    EndIf
    EndIf
    EndFunc ;==>_run

    [/autoit] [autoit][/autoit] [autoit]

    Func _setErrorDescribtion($error, $extended, $pattern)
    Local $sError
    If $error = 0 Then
    $sError = ""
    ElseIf $error = 1 Then
    $sError = "@error: " & $error & " -> keine Übereinstimmung"
    ElseIf $error = 2 Then
    $sError = "@error: " & $error & " -> fehlerhafter Pattern" & @CRLF & "@extended: " & $extended & " -> " & StringLeft($pattern, $extended - 1) & "^ERROR"
    EndIf
    Return $sError
    EndFunc ;==>_setErrorDescribtion

    [/autoit] [autoit][/autoit] [autoit]

    Func _resetErrorColors()
    For $i = 1 To 4
    GUICtrlSetBkColor($aControls[$i], Default)
    Next
    EndFunc ;==>_resetErrorColors

    [/autoit] [autoit][/autoit] [autoit]

    Func _showLibrary()
    GUISetState(@SW_SHOW, $guiLibrary)
    _listPatternLibrary()
    EndFunc ;==>_showLibrary

    [/autoit] [autoit][/autoit] [autoit]

    Func _selectPattern()
    Local $selected
    Local $get = _GUICtrlListView_GetSelectedIndices($lPattern, True)
    $selected = _GUICtrlListView_GetItemText($lPattern, $get[1], 1)
    GUICtrlSetData($aControls[1], $selected)
    GUISetState(@SW_HIDE, $guiLibrary)
    EndFunc ;==>_selectPattern

    [/autoit] [autoit][/autoit] [autoit]

    Func _newPattern()
    $guiNewPattern = GUICreate("Form1", 520, 61, -1, -1, BitOR($WS_CAPTION, $WS_GROUP), Default, $guiLibrary)
    $iNewDescription = GUICtrlCreateInput("", 88, 8, 329, 21)
    $Label1 = GUICtrlCreateLabel("Beschreibung:", 8, 12, 72, 17)
    $iNewPattern = GUICtrlCreateInput("", 88, 32, 329, 21)
    GUICtrlSetData(-1, GUICtrlRead($aControls[1]))
    $Label2 = GUICtrlCreateLabel("Pattern:", 8, 36, 41, 17)
    $bSaveNew = GUICtrlCreateButton("speichern", 432, 30, 75, 23)
    GUICtrlSetOnEvent(-1, "_checkNewPattern")
    $bAbbort = GUICtrlCreateButton("abbrechen", 432, 8, 75, 23)
    GUICtrlSetOnEvent(-1, "_closeNew")
    GUISetState(@SW_SHOW)
    EndFunc ;==>_newPattern

    [/autoit] [autoit][/autoit] [autoit]

    Func _changePattern()
    Local $getSelected = _GUICtrlListView_GetSelectedIndices($lPattern, True)
    If UBound($getSelected) = 1 Then
    MsgBox(64, "", "Kein Eintrag gewählt")
    Else
    $guiChangePattern = GUICreate("Form1", 520, 61, 254, 124, BitOR($WS_CAPTION, $WS_GROUP), Default, $guiLibrary)
    $iChangeDescription = GUICtrlCreateInput("Input1", 88, 8, 329, 21)
    $label3 = GUICtrlCreateLabel("Beschreibung:", 8, 12, 72, 17)
    $iChangePattern = GUICtrlCreateInput("Input2", 88, 32, 329, 21)
    $Label4 = GUICtrlCreateLabel("Pattern:", 8, 36, 41, 17)
    $bAbbort = GUICtrlCreateButton("abbrechen", 432, 8, 75, 23)
    $bSaveChange = GUICtrlCreateButton("ändern", 432, 30, 75, 23)
    GUICtrlSetOnEvent(-1, "_saveChangedPattern")
    GUICtrlSetOnEvent($bAbbort, "_closeChange")
    GUISetState(@SW_SHOW)
    GUICtrlSetData($iChangeDescription, _GUICtrlListView_GetItemText($lPattern, $getSelected[1]))
    GUICtrlSetData($iChangePattern, _GUICtrlListView_GetItemText($lPattern, $getSelected[1], 1))
    $temp = _GUICtrlListView_GetItemText($lPattern, $getSelected[1])
    EndIf
    EndFunc ;==>_changePattern

    [/autoit] [autoit][/autoit] [autoit]

    Func _checkNewPattern()
    If GUICtrlRead($iNewPattern) <> "" And GUICtrlRead($iNewDescription) <> "" Then
    Local $a = IniRead($ini, "library", GUICtrlRead($iNewDescription), "")
    If $a <> "" Then
    MsgBox(64, "", "Ein Eintrag mit dieser Beschreibung" & @CRLF & "existiert bereits")
    Else
    _saveNewPattern()
    EndIf
    Else
    MsgBox(64, "", "Bitte alle Felder ausfüllen")
    EndIf
    EndFunc ;==>_checkNewPattern

    [/autoit] [autoit][/autoit] [autoit]

    Func _saveNewPattern()
    IniWrite($ini, "library", GUICtrlRead($iNewDescription), GUICtrlRead($iNewPattern))
    GUIDelete($guiNewPattern)
    _listPatternLibrary()
    EndFunc ;==>_saveNewPattern

    [/autoit] [autoit][/autoit] [autoit]

    Func _saveChangedPattern()
    If GUICtrlRead($iChangeDescription) <> $temp Then
    IniDelete($ini, "library", $temp)
    EndIf
    IniWrite($ini, "library", GUICtrlRead($iChangeDescription), GUICtrlRead($iChangePattern))
    GUIDelete($guiChangePattern)
    _listPatternLibrary()
    EndFunc ;==>_saveChangedPattern

    [/autoit] [autoit][/autoit] [autoit]

    Func _deletePattern()
    Local $selected
    Local $get = _GUICtrlListView_GetSelectedIndices($lPattern, True)
    $selected = _GUICtrlListView_GetItemText($lPattern, $get[1])
    IniDelete($ini, "library", $selected)
    _listPatternLibrary()
    EndFunc ;==>_deletePattern

    [/autoit] [autoit][/autoit] [autoit]

    Func _listPatternLibrary()
    Local $aIni
    $aIni = IniReadSection($ini, "library")
    If IsArray($aIni) Then
    _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($lPattern))
    _GUICtrlListView_BeginUpdate($lPattern)
    For $i = 1 To $aIni[0][0]
    _GUICtrlListView_AddItem($lPattern, $aIni[$i][0], 0)
    _GUICtrlListView_AddSubItem($lPattern, $i - 1, $aIni[$i][1], 1)
    Next
    _GUICtrlListView_EndUpdate($lPattern)
    EndIf
    EndFunc ;==>_listPatternLibrary

    [/autoit] [autoit][/autoit] [autoit]

    Func _loadFile()
    Local $file = FileOpenDialog("", @DesktopCommonDir, "Alle Dateien (*.*)", 3, "", $guiMain)
    GUICtrlSetData($aControls[4], FileRead($file))
    EndFunc ;==>_loadFile

    [/autoit] [autoit][/autoit] [autoit]

    Func _loadWeb()
    $guiLoadWebpage = GUICreate("", 440, 40, -1, -1, BitOR($WS_CAPTION, $WS_GROUP), Default, $guiMain)
    $iUrl = GUICtrlCreateInput("", 8, 9, 265, 21)
    $bLoad = GUICtrlCreateButton("laden", 280, 8, 75, 23)
    GUICtrlSetOnEvent(-1, "_getSourceFromWeb")
    $bAbbort = GUICtrlCreateButton("abbrechen", 355, 8, 75, 23)
    GUICtrlSetOnEvent(-1, "_closeWeb")
    GUISetState(@SW_SHOW)
    EndFunc ;==>_loadWeb

    [/autoit] [autoit][/autoit] [autoit]

    Func _getSourceFromWeb()
    Local $sSource
    Local $sURL = GUICtrlRead($iUrl)
    If StringLeft($sURL, 7) <> "http://" Then
    $sURL = "http://" & $sURL
    EndIf
    GUICtrlSetData($aControls[4], BinaryToString(InetRead($sURL, 1)))
    GUIDelete($guiLoadWebpage)
    EndFunc ;==>_getSourceFromWeb

    [/autoit] [autoit][/autoit] [autoit]

    Func _openHelp()
    ShellExecute("http://translation.autoit.de/onlinehilfe/functions/StringRegExp.htm")
    EndFunc ;==>_openHelp

    [/autoit] [autoit][/autoit] [autoit]

    Func _export()
    Local $exportInclude = '#include <array.au3>'
    Local $exportEcho
    Local $exportPattern = GUICtrlRead($aControls[1])
    Local $exportFlag = GUICtrlRead($aControls[2])
    Local $exportOffset = GUICtrlRead($aControls[3])
    Local $exportSource = GUICtrlRead($aControls[4])
    Local $exportOutput = GUICtrlRead($eOutput)
    Local $patternTemplate, $sourceTemplate, $sourceArray, $outputArray, $completeTemplate, $outputTemplate
    $sourceArray = StringSplit($exportSource, @CRLF, 1)
    For $i = 1 To $sourceArray[0]
    If $i <> $sourceArray[0] Then
    $sourceTemplate &= "'" & $sourceArray[$i] & "' & @crlf & _" & @CRLF
    Else
    $sourceTemplate &= "'" & $sourceArray[$i] & "'"
    EndIf
    Next
    If $exportFlag = 0 Then
    $exportInclude = ""
    $exportEcho = 'MsgBox(64, "", $Result)'
    $patternTemplate = '$Result = StringRegExp($string, "' & $exportPattern & '", ' & $exportFlag & ', ' & $exportOffset & ')'
    Else
    $patternTemplate = '$aResult = StringRegExp($string, "' & $exportPattern & '", ' & $exportFlag & ', ' & $exportOffset & ')'
    If $exportFlag > 0 And $exportFlag < 4 Then
    $exportInclude = '#include <array.au3>'
    $exportEcho = '_ArrayDisplay($aResult)'
    Else
    $exportInclude = ''
    $exportEcho = ''
    EndIf
    EndIf
    $outputArray = StringSplit($exportOutput, @CRLF, 1)
    $outputTemplate = '#cs ### Output ###' & @CRLF
    For $i = 1 To $outputArray[0]
    If StringInStr($outputArray[$i], "[") Or StringInStr($outputArray[$i], "True") Or StringInStr($outputArray[$i], "False") Then
    $outputTemplate &= $outputArray[$i]
    EndIf
    Next
    $outputTemplate &= @CRLF & '#ce'
    ClipPut($exportInclude & @CRLF & '$string = ' & $sourceTemplate & @CRLF & @CRLF & $patternTemplate & @CRLF & $exportEcho & @CRLF & @CRLF & $outputTemplate)
    EndFunc ;==>_export

    [/autoit] [autoit][/autoit] [autoit]

    Func _closeLibrary()
    GUISetState(@SW_HIDE, $guiLibrary)
    EndFunc ;==>_closeLibrary

    [/autoit] [autoit][/autoit] [autoit]

    Func _closeChange()
    GUIDelete($guiChangePattern)
    EndFunc ;==>_closeChange

    [/autoit] [autoit][/autoit] [autoit]

    Func _closeNew()
    GUIDelete($guiNewPattern)
    EndFunc ;==>_closeNew

    [/autoit] [autoit][/autoit] [autoit]

    Func _closeWeb()
    GUIDelete($guiLoadWebpage)
    EndFunc ;==>_closeWeb

    [/autoit] [autoit][/autoit] [autoit]

    Func _exit()
    Exit
    EndFunc ;==>_exit

    [/autoit]
    &quot;SciTE -&gt; Options -&gt; Open User Options File&quot;
    Code
    # 42 Regexp Tester
    command.42.*="$(autoit3dir)\autoit3.exe" "$(SciteDefaultHome)\RegexpTester\regexp.au3" "$(CurrentSelection)"
    command.name.42.*=Regexp Tester
    command.shortcut.42.*=Ctrl+Shift+Alt+R

    PS: Ich hatte zum Testen von AutoIt-Regexp mal ein standelone Tool (nicht RegexBuddy). Weiss leider den Namen nichtmehr. Wenn da also jemand eine Idee hat ... :)

    Notepad++:

    • falls noch nicht vorhanden, das Plugin NppExec über Erweiterungen->Plugin Manager installieren
    • folgendes ans Ende von @UserProfileDir\AppData\Roaming\Notepad++\plugins\config\npes_saved.txt einfügen.
      Datei erstellen fall's nicht vorhanden.

      Spoiler anzeigen
      Code
      ::Regexp Tester
      "$(SYS.ProgramFiles)\AutoIt3\SciTE\RegexpTester\regexp.exe" "$(CURRENT_WORD)"


      Die regexp.au3 muss kompiliert werden. Der Pfad zur regexp.exe kann natürlich angepasst werden.
      Notepad++ neu starten.

    • über Erweiterungen->NppExec->Advanced Options in der Combobox Associated script -Regexp Tester- auswählen und mit Add/Modify hinzufügen. Notepad++ neu starten.
    • Der Eintrag ist dann unter Makro zu finden.

    Mehr zum Thema Notepad++ und AutoIt gibt's HIER

  • Tray Icon verstecken

    • i2c
    • 17. Oktober 2010 um 18:53

    Du musst dir die Funktionen in so einem Skript schon anschauen, sonst wird das nichts. Dafür gibt es die Hilfe.

    _GUICtrlToolbar_SetButtonState($toolbar, $commandID, $TBSTATE_HIDDEN) versteckt die Icons. Die Betonung liegt hier auf "versteckt". Das bedeutet nicht, das dadurch Platz in der Toolbar frei wird.

  • Tab hintergrundfarbe

    • i2c
    • 17. Oktober 2010 um 12:45

    https://autoit.de/index.php?page…ntab#post121951

  • Tray Icon verstecken

    • i2c
    • 17. Oktober 2010 um 01:39

    Versteckt alle Icons bis ESC gedrückt wird.

    Spoiler anzeigen
    [autoit]

    #include <GuiToolBar.au3>
    HotKeySet("{ESC}", "_exit")
    Opt("WinTitleMatchMode", 4)
    $tray = WinGetHandle("[CLASS:Shell_TrayWnd]")
    $toolbar = ControlGetHandle($tray, "", "[CLASSNN:ToolbarWindow321]")
    $count = _GUICtrlToolbar_ButtonCount($toolbar)
    ConsoleWrite("Es gibt " & $count & " Icons im Tray" & @CRLF)

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 0 To $count - 1
    $commandID = _GUICtrlToolbar_IndexToCommand($toolbar, $i)
    $title = _GUICtrlToolbar_GetButtonText($toolbar, $commandID)
    ConsoleWrite("Index_" & $i & " " & @TAB & " CommandID_" & $commandID & @TAB & " Titel: " & $title & @CRLF)
    _GUICtrlToolbar_SetButtonState($toolbar, $commandID, $TBSTATE_HIDDEN)
    Next

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(100)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _exit()
    For $i = 0 To $count - 1
    $commandID = _GUICtrlToolbar_IndexToCommand($toolbar, $i)
    $title = _GUICtrlToolbar_GetButtonText($toolbar, $commandID)
    _GUICtrlToolbar_SetButtonState($toolbar, $commandID, $TBSTATE_ENABLED)
    Next
    Exit
    EndFunc ;==>_exit

    [/autoit]
  • Tray Icon verstecken

    • i2c
    • 16. Oktober 2010 um 23:56
    Zitat

    naja nur mit rüberkopieren geht es leider nicht.
    Was brauche ich statt #include "SysTray_UDF.au3" ?

    Hast du mal getan was ich dort beschrieben habe? Scheinbar nicht.
    #include "SysTray_UDF.au3" bindet die Date in dein Skript ein. Steht der Dateiname zwischen " " sucht AutoIt im Skriptordner danach. Benutzt man stattdessen #include <datei.au3>, muss sie im Include Ordner liegen.

    Wenn du dir dann mal die komplette SysTray_UDF.au3 irgendwo ablegst wirst du sehen, das dein Skript ohne Fehlermeldung durchläuft. Ob es das tut was es soll ist eine andere Frage. Auf Win7 klappt das z.B. auf diese Weise nicht.

  • Tray Icon verstecken

    • i2c
    • 16. Oktober 2010 um 22:31

    Du kannst dir nicht einfach ein, zwei Funktionen aus der UDF picken und hoffen, das es dann funktioniert. In diesem Fall geht es schief weil innerhalb der vorhandenen Funktionen andere Funktionen aufgerufen werden die dir schlichtweg fehlen.

    Speicher die gesammte Datei in x:\Programme\Autoit3\Include ab dann klappt's auch mit dem Code im 2ten Block.

  • Programm Checker

    • i2c
    • 16. Oktober 2010 um 22:18

    GUI? Wie wär's mit RegRead().

  • Ein programm als Admin öffnen lassen

    • i2c
    • 16. Oktober 2010 um 18:51

    #RequireAdmin
    "ich kann dem User ja schlecht das Passwort für den Admin geben" -überlesen
    ___________

    Schau dir mal RunAs() an.

    edit: Ich hab jetzt sicherheitshalber nochmal nachgeschaut. Du kannst doch in den Jugendschutzeinstellungen einzelne Spiele manuell freigeben.

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™