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. bernd670

Beiträge von bernd670

  • Erneut Problem mit StrinRegExpReplace

    • bernd670
    • 9. März 2008 um 12:10

    Der ganze Thread behandelt genau dieses Problem, nur das dort 2 Werte geändert werden sollen und hier nur einer!

  • Neuling hat einige Fragen

    • bernd670
    • 9. März 2008 um 11:53

    Hallo,

    die Trägheit kann eingentlich nur durch dieses ständige _MemoryOpen und _MemoryClose kommen,
    probiers mal so:

    [autoit]

    #include <GUIConstants.au3>
    #include <NomadMemory.au3>
    #include <String.au3>
    #NoTrayIcon

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

    Local $processList, $comboList, $i, $pid, $quitButton

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

    $varName = IniRead("Watch.ini", "Address", "Name", "NotFound")
    $varGeld = IniRead("Watch.ini", "Address", "Geld", "NotFound")

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

    Opt("TrayAutoPause", 0)
    Opt("TrayMenuMode", 1)

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

    $Gui = GUICreate("Watch", 200, 104)
    $quitButton = GUICtrlCreateButton("Cancel", 148, 76, 50)
    GUICtrlCreateLabel("Name: ", 5, 10)
    GUICtrlCreateLabel("Geld: ", 5, 30)
    GUICtrlCreateLabel("Prozess: ", 5, 60)
    $text = GUICtrlCreateLabel("", 55, 60, 50)
    $comboBox = GUICtrlCreateCombo("", 5, 80, 110, 200, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL))
    $controlName = GUICtrlCreateLabel("abc", 45, 10, 200)
    $controlGeld = GUICtrlCreateLabel("", 45, 30, 200)
    GUISetState(@SW_SHOW)

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

    MsgBox(0, "", GUICtrlRead($controlName))

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

    $processList = ProcessList("...")

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

    For $i = 1 To $processList[0][0]
    $comboList &= "|" & $processList[$i][1]
    Next

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

    GUICtrlSetData($comboBox, $comboList)

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

    $pid = WinGetProcess("...")
    GUICtrlSetData($text, $pid)
    $info = _MemoryOpen($pid)

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

    While 1
    $Msg = GUIGetMsg()
    Switch $Msg
    Case $GUI_EVENT_CLOSE, $quitButton
    Exit
    Case $comboBox
    _MemoryClose($info)
    $pid = GUICtrlRead($comboBox)
    GUICtrlSetData($text, $pid)
    $info = _MemoryOpen($pid)
    EndSwitch

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

    ;~ $info = _MemoryOpen($pid)
    $varName_read = _MemoryRead("0x" & $varName, $info)
    $varGeld_read = _MemoryRead_dword("0x" & $varGeld, $info)
    $varGeld_format = _StringAddComma($varGeld_read)
    ;~ _MemoryClose($info)

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

    If GUICtrlRead($controlName) <> $varName_read Then GUICtrlSetData($controlName, $varName_read)
    If GUICtrlRead($controlGeld) <> $varGeld_format Then GUICtrlSetData($controlGeld, $varGeld_format)

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

    Sleep(100)
    WEnd

    [/autoit]
  • Erneut Problem mit StrinRegExpReplace

    • bernd670
    • 9. März 2008 um 11:06

    @WoW-Unit, keine gedanken weil die vorhandene Lösung vor wenigen Tagen erst erarbeite wurde bestimmte stelle aus txt auslesen, da sollte es ja kein Problem sein das Programm entsprechend zu ändern!

    McPoldy, da das money (200 300) ja nur ein Beispiel war hätte die Änderung in Zeile 30 genügt!

  • Neuling hat einige Fragen

    • bernd670
    • 9. März 2008 um 05:19

    Hallo,

    Du musst dich schon entscheiden ob Du im MessageLoop-Modus oder im OnEvent-Modus arbeiten willst. Im moment Arbeit dein Programm im MessageLoop-Modus da kann der Cancel-Button nicht funktionieren weil er nicht abgefragt wird.

    einfach die Zeile:

    [autoit]

    Case $GUI_EVENT_CLOSE

    [/autoit]

    ersetzen durch

    [autoit]

    Case $GUI_EVENT_CLOSE, $quitButton

    [/autoit]

    dann sollte der Cancel Button auch funktionieren. Die Zeilen mit GUISetOnEvent(.....) und die Funktion Close_Or_Quit_Clicked kannst Du dann löschen, die werden nur im OnEvent-Modus benötigt.

    Was soll ein Sleep(5000) bringen?

  • Erneut Problem mit StrinRegExpReplace

    • bernd670
    • 9. März 2008 um 04:48

    Machst Du dir überhaupt ein paar gedanken bevor Du eine Frage postest? Du brauchst doch nur die Zeile 30 anzupassen!

  • AdlibEnable() funktioniert nicht wie es soll...

    • bernd670
    • 8. März 2008 um 20:54

    Hallo,

    mit der aktuellen Beta kann man es so machen!


    Spoiler anzeigen
    [autoit]

    ; Läuft nur mit der aktuellen Beta

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

    #Include <Timers.au3>

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

    Run("notepad.exe")
    WinWait("Unbenannt")

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

    $hGUI = GUICreate("", 400, 320) ; Windows-Handle für Timer erzeugen
    GUISetState(@SW_HIDE)

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

    _Timer_SetTimer($hGUI, 2000, "Print1") ; Timer für Print1
    _Timer_SetTimer($hGUI, 1750, "Print2") ; Timer für Print2
    _Timer_SetTimer($hGUI, 250, "Print3") ; Timer für Print3

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

    while 1
    sleep(10000) ; Auch 10 Sekunden schlaf stört die Timer nicht
    WEnd

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

    Func Print1($hWnd, $Msg, $iIDTimer, $dwTime)
    #forceref $hWnd, $Msg, $iIDTimer, $dwTime
    ControlSend("Unbenannt", "", "Edit1", "1")
    EndFunc

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

    Func Print2($hWnd, $Msg, $iIDTimer, $dwTime)
    #forceref $hWnd, $Msg, $iIDTimer, $dwTime
    ControlSend("Unbenannt", "", "Edit1", "2")
    EndFunc

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

    Func Print3($hWnd, $Msg, $iIDTimer, $dwTime)
    #forceref $hWnd, $Msg, $iIDTimer, $dwTime
    ControlSend("Unbenannt", "", "Edit1", "3")
    EndFunc

    [/autoit]
  • Kopiergeschwindigkeit beeinflussen

    • bernd670
    • 8. März 2008 um 18:17

    Hallo,

    das Programm XXCOPY hat unter seinen 200 möglichen Parametern auch folgende.

    Zitat


    /NI Becomes nice to other tasks by idling (1000 msec) between actions.

    /NI<n> Same as /NI. Specifies n msec as the idle time (0 to disable it).

    Vllt. geht es ja damit!

  • Überwachen eines Prozesses und rebooten des Rechners zu einer bestimmten Zeit

    • bernd670
    • 3. März 2008 um 13:16

    Hallo,

    wenn man sich das Beispiel von ContinueCase anschaut sollte es eigentlich deutlich sein was der Befehl macht, er überspringt quasi die nächste Case-Zeile und arbeitet den Code in der Case-Anweisung ab.

  • FileCopy, FileMove-Bug??? oder ein ganz besonderer Ordner Internet-Tmp.-Verz

    • bernd670
    • 26. Februar 2008 um 18:10

    Hallo,

    bei FileMove darf der Pfad nicht in Anführungszeichen eingeschlossen werden, der Befehl kommt auch so mit Leerzeichen im Pfad zurecht!

    [autoit]

    FileMove($sPfad, $sZiel1 & "\", 8)

    [/autoit]
  • Ausgabe in CMD mittlerweile möglich ?

    • bernd670
    • 24. Februar 2008 um 19:53

    Ja funktioniert, wenn es kompiliert ist!

    Nicht schlecht @progandy, mich hätte nur interessiert ob @maycontainnuts es auch hinbekommen hätte, es gehört ja etwas mehr dazu wie nur _WinAPI_AttachConsole aufzurufen.

  • Ausgabe in CMD mittlerweile möglich ?

    • bernd670
    • 24. Februar 2008 um 19:19

    Hallo,

    jetzt würde mich mal interessieren wie Du mit _WinAPI_AttachConsole einen Text in einer DosBox ausgibst!?

  • Programm minimiert starten

    • bernd670
    • 24. Februar 2008 um 16:37

    Hallo,

    es sollte eingentlich mit Run oder Shellexecute direkt möglich sein!

    [autoit]


    Run(@ComSpec & " /c programm.exe", "", @SW_MINIMIZE)

    [/autoit][autoit]


    ShellExecute("programm.exe", "", "", "open", @SW_MINIMIZE)

    [/autoit]
  • TAN - Verwaltung

    • bernd670
    • 24. Februar 2008 um 00:41

    Hallo,

    ich habe das Programm mal an die Version 3.2.11.1 angepasst!

    Tan-Verwaltung
    [autoit]


    #include <file.au3>
    #include <array.au3>
    #include <String.au3>
    #include <GUIConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <EditConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>
    #Include <GuiListBox.au3>

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

    Opt("GUIOnEventMode", 1)

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

    ;~ Global Const $WM_COMMAND = 0x0111
    ;~ Global Const $WM_NOTIFY = 0x004E
    ;~ Global Const $NM_FIRST = 0
    ;~ Global Const $NM_LAST = (-99)
    ;~ Global Const $NM_CLICK = ($NM_FIRST - 2)
    ;~ Global Const $NM_DBLCLK = ($NM_FIRST - 3)
    ;~ Global Const $NM_RCLICK = ($NM_FIRST - 5)
    ;~ Global Const $NM_RDBLCLK = ($NM_FIRST - 6)

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

    Dim $listPath = 'trans_list.txt', $arTAN, $arErfass[1]
    Dim $neu = 0, $Salmon = 0xFA8072, $PaleGreen = 0x98FB98

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

    ; TAN-Erfassung GUI
    $TanErfass = GUICreate("TAN - Liste erfassen", 257, 424, -1, -1)
    GUISetOnEvent($GUI_EVENT_CLOSE, "TanErfassClose")
    $Label1 = GUICtrlCreateLabel("TAN - Listen - Nr.:", 16, 16, 89, 17)
    $inListNr = GUICtrlCreateInput("", 109, 13, 121, 21, BitOR($ES_RIGHT, $ES_AUTOHSCROLL))
    $Group1 = GUICtrlCreateGroup(" TAN ", 16, 44, 217, 329)
    $lstTAN = GUICtrlCreateList('0', 25, 59, 200, 305, BitOR($WS_VSCROLL, $WS_BORDER))
    $mnu = GUICtrlCreateContextMenu($lstTAN)
    $itemChange = GUICtrlCreateMenuItem('Ändern', $mnu)
    GUICtrlSetOnEvent(-1, 'changeTAN')
    $itemDelete = GUICtrlCreateMenuItem('Löschen', $mnu)
    GUICtrlSetOnEvent(-1, 'deleteTAN')
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $bSave = GUICtrlCreateButton("Verschlüsseln && Speichern", 16, 390, 217, 22, 0)
    GUICtrlSetOnEvent(-1, 'bSaveClick')
    ; /TAN-Erfassung GUI
    ; Main GUI
    $Form1 = GUICreate("TAN - Verwaltung", 667, 363, -1, -1)
    GUISetOnEvent($GUI_EVENT_CLOSE, "AForm1Close")
    $ListView1 = GUICtrlCreateListView("lfd. Nr.|TAN|Datum|Verwendungszweck", 16, 34, 636, 289, $LVS_NOSORTHEADER, _
    BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT))
    _GUICtrlListView_SetColumnWidth(-1, 0, 50)
    _GUICtrlListView_SetColumnWidth(-1, 1, 190)
    _GUICtrlListView_SetColumnWidth(-1, 2, 100)
    _GUICtrlListView_SetColumnWidth(-1, 3, 290)
    _GUICtrlListView_JustifyColumn(-1, 0, 1)
    _GUICtrlListView_JustifyColumn(-1, 1, 2)
    _GUICtrlListView_JustifyColumn(-1, 2, 2)
    _GUICtrlListView_JustifyColumn(-1, 3, 0)
    $Label1 = GUICtrlCreateLabel("TAN - Listen - Nr.:", 220, 9, 89, 17)
    $ListenNr = GUICtrlCreateInput("", 316, 6, 129, 21, BitOR($ES_RIGHT, $ES_AUTOHSCROLL, $ES_READONLY))
    $Label2 = GUICtrlCreateLabel("Anzahl freier TAN:", 16, 9, 90, 17)
    $freeTAN = GUICtrlCreateInput("", 110, 6, 33, 21, BitOR($ES_RIGHT, $ES_AUTOHSCROLL, $ES_READONLY))
    $bTANneu = GUICtrlCreateButton('TAN - Liste erfassen', 502, 6, 150, 21)
    GUICtrlSetOnEvent(-1, "bTANneuClick")
    $Label3 = GUICtrlCreateLabel("TAN auswählen mit Doppelklick - Dechiffrierung und Übergabe an Zwischenablage nach Paßwort-Abfrage", 16, 336, 636, 17, $SS_CENTER)
    ; /Main GUI

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

    If _FileReadToArray($listPath, $arTAN) = 0 Then
    If MsgBox(262180, 'FEHLER!', 'TAN - Liste konnte nicht geladen werden.' & @LF & 'Datei: ' & $listPath & ' nicht gefunden.' & @LF & _
    'Wenn die TAN - Liste bereits angelegt wurde,' & @LF & _
    'muß die Datei sich im selben Verzeichnis,' & @LF & _
    'wie dieses Programm befinden.' & @LF & @LF & _
    'Wollen Sie jetzt eine TAN - Liste erfassen?') = 6 Then
    bTANneuClick()
    $neu = 1
    Else
    Exit
    EndIf
    EndIf

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

    If $neu = 0 Then
    _ArrayDelete($arTAN, 0)
    GUISetState(@SW_SHOW, $Form1)
    _writeListView()
    EndIf
    GUIRegisterMsg($WM_COMMAND, "MY_WM_COMMAND")
    GUIRegisterMsg($WM_NOTIFY, "WM_Notify_Events")

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

    While 1
    Sleep(100)
    WEnd

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

    Func AForm1Close()
    Exit
    EndFunc ;==>AForm1Close

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

    Func TanErfassClose()
    If (Not FileExists($listPath)) Then
    MsgBox(0, 'FEHLER!', 'Es wurde noch keine TAN-Liste angelegt!' & @LF & 'Das Programm wird beendet.')
    Exit
    EndIf
    GUISetState(@SW_SHOW, $Form1)
    GUISetState(@SW_HIDE, $TanErfass)
    EndFunc ;==>TanErfassClose

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

    Func ListViewDoubleClick()
    $idx = _GUICtrlListView_GetSelectedIndices($ListView1)

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

    If String(_GUICtrlListView_GetItemText($ListView1, int($idx), 2)) <> '0' Then
    MsgBox(0, 'ACHTUNG!', 'Diese TAN wurde bereits verwendet.')
    Return
    EndIf
    If MsgBox(262180, 'TAN abrufen', 'Wollen Sie die TAN mit der' & @LF & 'lfd. Nr.: ' & $idx + 1 & @LF & 'jetzt verwenden ?') = 7 Then Return
    Local $arReplace[4] = [3, _GUICtrlListView_GetItemText($ListView1, int($idx), 1), @MDAY & '.' & @MON & '.' & @YEAR, _
    InputBox('Verwendungszweck', 'Bitte geben Sie den Verwendungszweck ein')]
    $arTAN[$idx + 2] = $arReplace
    _writeFromArrayTAN()
    ClipPut(_StringEncrypt(0, _GUICtrlListView_GetItemText($ListView1, int($idx), 1), _
    InputBox('Paßwort Entschlüsselung', 'Bitte jetzt das Paßwort zur Entschlüsselung eingeben.', '', '•')))
    MsgBox(0, 'Zwischenablage', 'Die TAN wurde in die Zwischenablage eingefügt.')
    _GUICtrlListView_DeleteAllItems($ListView1)
    _FileReadToArray($listPath, $arTAN)
    _ArrayDelete($arTAN, 0)
    _writeListView()
    EndFunc ;==>ListViewDoubleClick

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

    Func _writeFromArrayTAN()
    Local $arTmp[UBound($arTAN)]
    $arTmp[0] = $arTAN[0]
    $arTmp[1] = $arTAN[1]
    For $i = 2 To UBound($arTAN) - 1
    $arTmp[$i] = _SubArrayGetEntry($arTAN, 1, $i) & ';' & _
    _SubArrayGetEntry($arTAN, 2, $i) & ';' & _
    _SubArrayGetEntry($arTAN, 3, $i)
    Next
    If FileExists($listPath) Then FileMove($listPath, $listPath & '.BAK')
    _FileWriteFromArray($listPath, $arTmp)
    EndFunc ;==>_writeFromArrayTAN

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

    Func bTANneuClick()
    If FileExists($listPath) Then MsgBox(0, 'HINWEIS', 'Nach dem Erfassen einer neuen TAN - Liste' & @LF & _
    'kann auf die bisherige Liste nicht mehr zugegriffen werden.' & @LF & _
    'Sie wird unter dem Namen: ' & $listPath & '.BAK im Programmverzeichnis abgelegt.')
    GUISetState(@SW_HIDE, $Form1)
    GUISetState(@SW_SHOW, $TanErfass)
    SplashTextOn('TAN - Nummern eingeben', @LF & ' Um die Erfassung der TAN - Nummern zu aktivieren,' & @LF & _
    ' bitte einen Doppelklick in die Liste ausführen' & @LF & _
    ' Um das Eingabefenster zu schließen, bei leerem Eingabefeld OK klicken.' & @LF & _
    ' Per Rechtsklick auf einen markierten Eintrag kann dieser:' & @LF & _
    ' - geändert oder' & @LF & _
    ' - gelöscht werden.', 550, 150, -1, -1, 4)
    Sleep(12000)
    SplashOff()
    EndFunc ;==>bTANneuClick

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

    Func _writeListView()
    Local $free = 0, $arLV[UBound($arTAN) - 2]
    GUICtrlSetData($ListenNr, $arTAN[0])
    For $i = 2 To UBound($arTAN) - 1
    $arTAN[$i] = StringSplit($arTAN[$i], ';')
    $arLV[$i - 2] = GUICtrlCreateListViewItem($i - 1 & '|' & _SubArrayGetEntry($arTAN, 1, $i) _
    & '|' & _SubArrayGetEntry($arTAN, 2, $i) _
    & '|' & _SubArrayGetEntry($arTAN, 3, $i), $ListView1)
    If _SubArrayGetEntry($arTAN, 2, $i) = 0 Then
    $free += 1
    GUICtrlSetBkColor($arLV[$i - 2], $PaleGreen)
    Else
    GUICtrlSetBkColor($arLV[$i - 2], $Salmon)
    EndIf
    Next
    GUICtrlSetData($freeTAN, $free)
    EndFunc ;==>_writeListView

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

    Func List_DoubleClick()
    $TAN = InputBox('TAN - Erfassung', 'Bitte hier die TAN eingeben')
    If $TAN <> '' Then
    _GUICtrlListBox_AddString($lstTAN, $TAN)
    _GUICtrlListBox_ReplaceString($lstTAN, 0, String(_GUICtrlListBox_GetCount($lstTAN) - 1))
    Else
    Return
    EndIf
    List_DoubleClick()
    EndFunc ;==>List_DoubleClick

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

    Func changeTAN()
    $idx = _GUICtrlListBox_GetCaretIndex($lstTAN)
    $new = InputBox('TAN - Erfassung', 'Bitte korrigieren', _GUICtrlListBox_GetText($lstTAN, $idx))
    If $new <> '' Then _GUICtrlListBox_ReplaceString($lstTAN, $idx, String($new))
    EndFunc ;==>changeTAN

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

    Func deleteTAN()
    $idx = _GUICtrlListBox_GetCaretIndex($lstTAN)
    If MsgBox(262180, 'Löschen', 'Soll:' & @LF & _GUICtrlListBox_GetText($lstTAN, $idx) & @LF & 'wirklich gelöscht werden?') = 6 Then
    _GUICtrlListBox_DeleteString($lstTAN, $idx)
    _GUICtrlListBox_ReplaceString($lstTAN, 0, String(_GUICtrlListBox_GetCount($lstTAN) - 1))
    EndIf
    EndFunc ;==>deleteTAN

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

    Func bSaveClick()
    $listNr = GUICtrlRead($inListNr)
    If $listNr = '' Then
    MsgBox(0, '', 'Listen-Nr. wurde nicht erfaßt!')
    Return
    EndIf
    $anz = _GUICtrlListBox_GetCount($lstTAN)
    If $anz < 2 Then
    MsgBox(0, '', 'Keine TAN-Nr. erfaßt!')
    Return
    EndIf
    ReDim $arErfass[$anz + 1]
    $arErfass[0] = $listNr
    $arErfass[1] = $anz
    $KEY = InputBox('Paßwort Verschlüsselung', 'Bitte jetzt das Paßwort zur Verschlüsselung eingeben.', '', '•')
    For $i = 1 To $anz - 1
    $arErfass[$i + 1] = _StringEncrypt(1, _GUICtrlListBox_GetText($lstTAN, $i), $KEY) & ';0;'
    Next
    If FileExists($listPath) Then FileMove($listPath, $listPath & '.BAK', 1)
    _FileWriteFromArray($listPath, $arErfass)
    _GUICtrlListView_DeleteAllItems($ListView1)
    _FileReadToArray($listPath, $arTAN)
    _ArrayDelete($arTAN, 0)
    TanErfassClose()
    _writeListView()
    EndFunc ;==>bSaveClick

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

    Func _SubArrayGetEntry($ARRAY, $SubIdx, $iDim1, $iDim2 = -1)
    If (Not IsArray($ARRAY)) Then
    SetError(1)
    Return 0
    EndIf
    If ($iDim1 < 0) Or ($iDim1 > UBound($ARRAY) - 1) Then
    SetError(2)
    Return 0
    EndIf
    Local $UbSecond = UBound($ARRAY, 2)
    If @error Then
    If $iDim2 <> -1 Then
    SetError(3)
    Return 0
    EndIf
    ElseIf ($iDim2 < -1) Or ($iDim2 > $UbSecond - 1) Then
    SetError(2)
    Return 0
    EndIf
    Local $sub
    Switch $iDim2
    Case - 1
    $arSub = $ARRAY[$iDim1]
    Case Else
    $arSub = $ARRAY[$iDim1][$iDim2]
    EndSwitch
    If ($SubIdx < 0) Or ($SubIdx > UBound($arSub) - 1) Then
    SetError(4)
    Return 0
    Else
    Return $arSub[$SubIdx]
    EndIf
    EndFunc ;==>_SubArrayGetEntry

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

    Func MY_WM_COMMAND($hWnd, $msg, $wParam, $lParam)
    Local $nNotifyCode = BitShift($wParam, 16)
    Local $nID = BitAND($wParam, 0xFFFF)
    Local $hCtrl = $lParam
    Local Const $LBN_ERRSPACE = (-2);
    Local Const $LBN_SELCHANGE = 1;
    Local Const $LBN_DBLCLK = 2;
    Local Const $LBN_SELCANCEL = 3;
    Local Const $LBN_SETFOCUS = 4;
    Local Const $LBN_KILLFOCUS = 5;

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

    Switch $nID
    Case $lstTAN
    Switch $nNotifyCode
    Case $LBN_ERRSPACE
    ;~ _DebugPrint("$LBN_ERRSPACE")
    Case $LBN_SELCHANGE
    ;~ _DebugPrint("$LBN_SELCHANGE")
    Case $LBN_SELCANCEL
    ;~ _DebugPrint("$LBN_SELCANCEL")
    Case $LBN_SETFOCUS
    ;~ _DebugPrint("$LBN_SETFOCUS")
    Case $LBN_KILLFOCUS
    ;~ _DebugPrint("$LBN_KILLFOCUS")
    Case $LBN_DBLCLK
    List_DoubleClick()
    EndSwitch
    EndSwitch
    ; Proceed the default Autoit3 internal message commands.
    ; You also can complete let the line out.
    ; !!! But only 'Return' (without any value) will not proceed
    ; the default Autoit3-message in the future !!!
    Return $GUI_RUNDEFMSG
    EndFunc ;==>MY_WM_COMMAND

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

    Func WM_Notify_Events($hWndGUI, $MsgID, $wParam, $lParam)
    ;#forceref $hWndGUI, $MsgID, $wParam
    Local $tagNMHDR, $event, $hwndFrom, $code
    $tagNMHDR = DllStructCreate("int;int;int", $lParam);NMHDR (hwndFrom, idFrom, code)
    If @error Then Return
    $event = DllStructGetData($tagNMHDR, 3)
    Select
    Case $wParam = $ListView1
    Select
    Case $event = $NM_CLICK
    ;~ ListView_Click ()
    Case $event = $NM_DBLCLK
    ListViewDoubleClick()
    Case $event = $NM_RCLICK
    ;~ ListView_RightClick ()
    Case $event = $NM_RDBLCLK
    ;~ ListView_RightDblClick ()
    EndSelect
    EndSelect
    $tagNMHDR = 0
    $event = 0
    $lParam = 0
    EndFunc ;==>WM_Notify_Events

    [/autoit]
  • PC für X Minuten sperren nach AutoLogin

    • bernd670
    • 22. Februar 2008 um 17:33

    Hallo,

    ich kenne die Simantic-Software nicht, aber vllt. kann Du sie über Computerrichtline->Windows-Einstellungen->Scripts->Starten (wenn die Software lokal gestartet werden kann) oder über Benutzerrichtlinie->Windows->Einstellungen->Scripts->Anmelden (wenn Netzzugriff für die Software benötigt wird) starten. Dann kann der User erst arbeiten wenn das Programm gestartet ist.

  • Überlegungen

    • bernd670
    • 19. Februar 2008 um 20:49

    Hallo,

    es geht auch ohne Registry und Datei.

    [autoit]

    Const $cnAnzahlNeustarts = 5

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

    If $CmdLine[0] = 0 Then
    MsgBox(0, "", "1. Start")
    Run(@ScriptFullPath & " 1", @ScriptDir, @SW_HIDE)
    Else
    if $CmdLine[1] <= $cnAnzahlNeustarts Then
    MsgBox(0, "", $CmdLine[1] & ". neustart")
    Run(@ScriptFullPath & " " & $CmdLine[1] + 1, @ScriptDir, @SW_HIDE)
    EndIf
    EndIf

    [/autoit]
  • Form to Script

    • bernd670
    • 17. Februar 2008 um 19:06

    Hallo,

    mit Navigate kann das so nicht funktionieren, für Navigate muss die Zeile in etwa so aussehen:

    Code
    https://www.paypal.de/de/cgi-bin/webscr"?cmd=_xclick&business=muster@gmx.de&item_name=Programmname&....

    Vllt geht aber auch so:

    [autoit]

    #include <GUIConstantsEx.au3>
    #include <IE.au3>
    #include <WindowsConstants.au3>

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

    $oIE = _IECreateEmbedded ()

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

    GUICreate("Embedded Web control Test", 640, 580, (@DesktopWidth - 640) / 2, (@DesktopHeight - 580) / 2, $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS)
    $GUIActiveX = GUICtrlCreateObj($oIE, 10, 40, 600, 360)
    $GUI_Button_Back = GUICtrlCreateButton("Zurück", 10, 420, 100, 30)
    $GUI_Button_Forward = GUICtrlCreateButton("Vor", 120, 420, 100, 30)
    $GUI_Button_Home = GUICtrlCreateButton("Home", 230, 420, 100, 30)
    $GUI_Button_Stop = GUICtrlCreateButton("Stop", 330, 420, 100, 30)
    GUISetState()
    $oIE.navigate("http://autoit.aufwaerts.de/portal.php")
    While 1
    $msg = GUIGetMsg()

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

    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case $msg = $GUI_Button_Home
    _IEDocWriteHTML($oIE,'<form action="https://www.paypal.de/de/cgi-bin/webscr" method="post"><input type="hidden" name="cmd" value="_xclick"><input type="hidden" name="business" value="muster@gmx.de"><input type="hidden" name="item_name" value="Programmname"><input type="hidden" name="item_number" value="Bestellnummer"><input type="hidden" name="amount" value="0.50"><input type="hidden" name="return" value="www.muster.de"><input type="hidden" name="cancel_return" value="www.muster.de"><input type="image" src="https://www.paypal.com/images/x-click-but23.gif" border="0" name="submit" alt="paypalzahlung"><input type="hidden" name="no_shipping§§38"Shell.Explorer.2"39§§hidden" name="currency_code" value="EUR"><input type="hidden" name="undefined_quantity" value="0"><input type="hidden" name="cn" value=""><input type="hidden" name="cs" value="0"></form>')
    _IEAction ($oIE, "refresh")
    Case $msg = $GUI_Button_Back
    $oIE.GoBack
    Case $msg = $GUI_Button_Forward
    $oIE.GoForward
    Case $msg = $GUI_Button_Stop
    $oIE.Stop
    EndSelect

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

    WEnd

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

    GUIDelete()

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

    Exit

    [/autoit][autoit][/autoit][autoit][/autoit]
  • Icons in shell32.dll

    • bernd670
    • 16. Februar 2008 um 10:17

    Hallo,

    einer der besten Freeware Icon-Editoren die ich kenne ist IcoFX.

  • Frage zu Registry

    • bernd670
    • 16. Februar 2008 um 01:31

    Hallo,

    zum erzeugen von GUID's kann man folgende Funktion verwenden.

    [autoit]

    #Include <WinAPI.au3>

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

    MsgBox(0, "", _WinAPI_CreateGUID())

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

    ;===============================================================================
    ; Name: _WinAPI_CreateGUID
    ; Description: Erzeugt eine neue GUID
    ; Parameter(s): keine
    ; Requirement(s): _WinAPI_StringFromGUID aus WinAPI.au3
    ; Return Value(s): GUID als String
    ; Author(s): bernd670
    ;===============================================================================
    Func _WinAPI_CreateGUID()
    Local $tGUID, $aResult

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

    $tGUID = DllStructCreate($tagGUID)
    $aResult = DllCall("OLE32.DLL", "long", "CoCreateGuid", "ptr", DllStructGetPtr($tGUID))

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

    Return SetError($aResult[0] <> 0, 0, _WinAPI_StringFromGUID(DllStructGetPtr($tGUID)))
    EndFunc

    [/autoit]
  • Probleme mit neuem Forum? Hierrein schreiben!

    • bernd670
    • 21. Dezember 2007 um 17:45

    Hallo,

    was mir in letzter Zeit immer wieder auffällt ist das die Include-Zeilen im Quellcode nicht korrekt angezeigt werden. Damit die Include-Zeilen richtig eingetragen werden muss der Editor in den Quellcode-Modus geschalten werden bevor der Quellcode eingefügt wird.

    Toolbox.au3

    Ansonsten wird die spitze Klammer als HTML-Tag interpretiert und wird nicht korrekt angezeigt!

    Dateien

    Quellcodemodus.png 33,06 kB – 0 Downloads
  • nslookup Auswerten

    • bernd670
    • 18. Dezember 2007 um 14:05
    Zitat von Xenobiologist

    Hi,

    ...

    Includes
    #include <Constants.au3>
    #include <GUIConstants.au3>

    So long,

    Mega</GUIConstants.au3></Constants.au3>

    Hi Mega,

    wenn Du den Editor in den Quellcodemodus schaltest bevor Du einen Quellcode einfügst werden auch die Includes richtig eingefügt! Ansonsten werden die spitzen Klammern anscheinend als HTML-Tags angesehen!

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™