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

Beiträge von BugFix

  • GUI: Wenn x ausgewählt wird dann führe y aus!

    • BugFix
    • 28. Januar 2009 um 22:20
    Zitat von Lazkopatdragon

    Ihr braucht Mozilla Firefox und eine Bildschrimauflösung von 1280x1024


    :D Ich würde versuchen Programme so zu schreiben, dass sie auch einer breiter Nutzerschicht zugänglich sind. Und da sind Restriktionen in Sachen Browser und Auflösung nicht sehr dienlich.

  • Darstellungsfehler im GUI

    • BugFix
    • 28. Januar 2009 um 15:06
    Zitat von s0urce

    Und dann nochmal ne Frage am Rande, wenn ich schon grad so kompetente Leute um mich hab: Kann man in AutoIt eigtl. wirklick nicht einen Array einem Array zuweisen?
    Ein Beispiel:
    Dim $array[10]
    $array[1] = StringSplit("x,x,x",",")
    MsgBox(0,"any",$array[1][2])
    Gibt bei mir einen Fehler zurück, von wegen "Dimension exceeded oder so".
    Bin das halt aus anderen Skirptsprachen gewohnt wie PHP oder Javascript.

    Alles anzeigen


    Das ist für AutoIt kein Problem, du kannst einem Array als Element wiederum ein Array zuweisen. ABER: Das Auslesen ist dann zweistufig.
    Dein Bsp.:

    [autoit]


    Dim $array[10]
    $array[1] = StringSplit("x,x,x",",")
    Local $tmp = $array[1]
    MsgBox(0,$tmp[0] & "Elemente",$tmp[1] & ', ' & $tmp[2] & ', ' & $tmp[3])

    [/autoit]

    Ich habe für diesen Fall eigene Funktionen erstellt, findest du hier: https://autoit.de/index.php?page…21161#post21161
    _SubArray2DGetEntry()
    _SubArray2DSetEntry() und
    _ArrayMultiDisplay() --> in Post 24

  • Darstellungsfehler im GUI

    • BugFix
    • 28. Januar 2009 um 10:10

    Ohne weiter in den Code zu schauen fällt mir auf, dass du alle Ereignisse (des ListView) per DebugPrint ausgeben läßt. Das ist zur Fehlersuche sinnvoll, führt möglicherweise aber zu dem von dir skizzierten Problem. Da du nur $NM_DBLCLK auswertest, kommentiere doch alle anderen Ereignisse in WM_NOTIFY mal aus.

  • Smileys im RichEdit

    • BugFix
    • 28. Januar 2009 um 09:27

    Nicht nur Kein RichEdit, sondern überhaupt kein Edit...

  • µit - Dezember

    • BugFix
    • 28. Januar 2009 um 09:24

    Ich werde wohl im Februar keine Zeit dafür haben, aber knifflig klingt auf jeden Fall gut.

  • AD Passwort ändern

    • BugFix
    • 26. Januar 2009 um 19:55

    Probier mal, weiß nur nicht genau, ob erst PW-alt und dann PW-neu benötigt wird oder umgekehrt. ;)

    [autoit]

    Local $user = 'user'
    Local $ou = 'buero'
    Local $domain = 'meier_soehne'
    Local $com = 'de'
    Local $pw_old = 'bla'
    Local $pw_new = 'blub'

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

    $objUser = ObjGet("LDAP://cn=" & $user & ",ou=" & $ou & ",dc=" & $domain & ",dc=" & $com)
    $objUser.ChangePassword($pw_old, $pw_new)

    [/autoit]
  • Drag & Drop: Listview Einträge zwischen LVs herumschieben

    • BugFix
    • 25. Januar 2009 um 20:54

    Schau mal hier: http://www.autoitscript.com/forum/index.php?showtopic=84028&hl=listview++Drag++&++Drop

  • GUI unsichtbar button sochtbar

    • BugFix
    • 25. Januar 2009 um 20:26

    Du willst nur die Button? - Das Bsp. ist doch (fast so) in der Hilfe:

    Spoiler anzeigen
    [autoit]

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

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

    ; get height of window title and width of window frame - may be different when XP theme is ON/OFF
    Global $htit = _WinAPI_GetSystemMetrics($SM_CYCAPTION)
    Global $frame = _WinAPI_GetSystemMetrics($SM_CXDLGFRAME)

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

    $gui = GUICreate("Test Windows regions", 350, 210)
    $btn_1 = GUICtrlCreateButton("Button 1", 100, 30, 150)
    $btn_2 = GUICtrlCreateButton("Button 2", 100, 60, 150)
    $btn_3 = GUICtrlCreateButton("Button 3", 100, 90, 150)
    $btn_4 = GUICtrlCreateButton("Button 4", 100, 120, 150)
    $btn_exit = GUICtrlCreateButton("Exit", 100, 150, 150)
    GUISetState(@SW_SHOW)

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

    _GuiHole($gui, 0, 0, 350, 210)

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE Or $msg = $btn_exit
    ExitLoop
    Case $msg = $btn_1
    MsgBox(0, 'Klick', 'Button 1')
    Case $msg = $btn_2
    MsgBox(0, 'Klick', 'Button 2')
    Case $msg = $btn_3
    MsgBox(0, 'Klick', 'Button 3')
    Case $msg = $btn_4
    MsgBox(0, 'Klick', 'Button 4')
    EndSelect
    WEnd

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

    Func _GuiHole($h_win, $i_x, $i_y, $i_sizew, $i_sizeh)
    Local $combined_rgn = _WinAPI_CreateRectRgn(0, 0, 0, 0)
    _AddCtrlRegion($combined_rgn, $btn_1)
    _AddCtrlRegion($combined_rgn, $btn_2)
    _AddCtrlRegion($combined_rgn, $btn_3)
    _AddCtrlRegion($combined_rgn, $btn_4)
    _AddCtrlRegion($combined_rgn, $btn_exit)
    _WinAPI_SetWindowRgn($h_win, $combined_rgn)
    EndFunc ;==>_GuiHole

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

    Func _AddCtrlRegion($full_rgn, $ctrl_id)
    Local $ctrl_pos, $ctrl_rgn
    $ctrl_pos = ControlGetPos($gui, "", $ctrl_id)
    $ctrl_rgn = _WinAPI_CreateRectRgn($ctrl_pos[0] + $frame, $ctrl_pos[1] + $htit + $frame, _
    $ctrl_pos[0] + $ctrl_pos[2] + $frame, $ctrl_pos[1] + $ctrl_pos[3] + $htit + $frame)
    _WinAPI_CombineRgn($full_rgn, $full_rgn, $ctrl_rgn, $RGN_OR)
    _WinAPI_DeleteObject($ctrl_rgn)
    EndFunc ;==>_AddCtrlRegion

    [/autoit]
  • winwaitactive und eingabefeld einer internetseite

    • BugFix
    • 25. Januar 2009 um 16:47
    Zitat von dominiksobacki

    je weniger installierte software auf dem pc, desto weniger


    Du mußt doch keinen Mail-Client installieren. Ich verwende z.B. Thunderbird Portabel.

  • Kann mir mal jemand erklären was GUIRegisterMsg bewirk?, hife kapier ich nicht:-(

    • BugFix
    • 25. Januar 2009 um 14:51

    Du mußt dir nur selbst die richtigen Fragen stellen und dann gezielt Antworten suchen.
    Was sind MessageCodes?
    Wo und Wann treten sie auf?
    Welche Nachrichten werden transportiert?
    Was ist notwendig um die Nachrichten abzufragen/auszuwerten?
    Die Antworten darauf findest du in der AutoIt-Hilfe, MSDN oder auch beim Googeln. Denn besser können wir es auch nicht erklären.

  • Edit transparent

    • BugFix
    • 25. Januar 2009 um 14:35

    :D OK, dann schreibs einfach mit rein. Denn ich probier nicht jeden Code der hier steht.
    Rein formal ist das Vorgehen identisch, hab mal kurz nachgelesen - soweit ich das verstanden hab, ist für Editfelder die Definition von HBRUSH erforderlich um Transparenz zu erzeugen. Mußt du mal selber in diversen Foren stöbern.

  • Edit transparent

    • BugFix
    • 25. Januar 2009 um 14:08

    Wie ich sehe hast du es noch nicht mal probiert!
    Auch das Editfeld ist ein statisches Control, die Herangehensweise ist identisch. Du verwendest halt nur das Edit statt der Checkbox.

  • PNG

    • BugFix
    • 25. Januar 2009 um 14:00
    Zitat von Jam00

    wenn ich mein bild unter gif schpeicher ist die transparenz weg


    Da hast du wohl den falschen Bild-Editor oder wählst nicht Transparenz an (Das geht nicht von allein, du mußt es festlegen).
    Ansonsten hilft (wie immer) Hilfe lesen.
    Zu GUICtrlCreatePic() findest du dort als Bsp.: ;----- example 3 PNG work araund by Zedna!

  • Befehle mit Variablen auslesen und ausführen.

    • BugFix
    • 25. Januar 2009 um 12:16

    Hab nochmal den ganzen Thread durchgeschaut, du hast also alle Skriptzeilen als Text und möchtest diese ausführen.
    Dann mußt du Returns auch auffangen bevor du sie ausgibst. So z.B. geht es:

    [autoit]

    Global $1 = Execute('Inputbox("Test","Gib bitte irgendwas ein^^")')
    Execute('MsgBox(64,"Info",$1)')

    [/autoit]


    Oder, wenn du den Variablennamen (hier $1) auch aus dem Text beziehst:

    [autoit]

    Assign('1',Execute('Inputbox("Test","Gib bitte irgendwas ein^^")'))
    Execute('MsgBox(64,"Info",$1)')

    [/autoit]
  • Befehle mit Variablen auslesen und ausführen.

    • BugFix
    • 25. Januar 2009 um 12:01
    Zitat von Deepred

    Variablen aus einer Textdatei


    ?( Textdatei...Variablen...total confused.

  • Doppelklick

    • BugFix
    • 25. Januar 2009 um 11:59

    Noch ein Hinweis:
    Wenn die Listbox mit GUICtrlCreateList() erstellt wurde, solltest du sicherheitshalber für die UDF das Handle verwenden. Dann ist gesichert, dass die Func's aus der UDF auch wirksam sind.

    [autoit]

    $ListBox = GUICtrlCreateList()
    $hListBox = GUICtrlGetHandle($ListBox)

    [/autoit]
  • winwaitactive und eingabefeld einer internetseite

    • BugFix
    • 25. Januar 2009 um 10:01

    Welchen Sinn soll das haben? Um den 1&1-Webmailer zu öffnen, willst du die Zugangsdaten in einem Skript hinterlegen und den Browser starten, der dann in die Webmail-Seite die Daten einträgt. Das macht doch jeder Browser sowieso, wenn du sagst: PW für diese Seite speichern.
    Alternativ kannst du doch den Zugriff ohne Browser machen, indem du über einen lokalen Mailclient zugreifst. Konfigurationshinweise findest du hier: http://hilfe-center.1und1.de/hosting/email/clients/

  • StringRegExp vorletzte Zeile

    • BugFix
    • 24. Januar 2009 um 23:52

    Daher auch meine Bemerkung: Wenn die Struktur immer so ist,... ;)
    Die Gruppen sind beabsichtigt um die Ziffern in einer Gruppe zu selektieren.

  • Doppelklick

    • BugFix
    • 24. Januar 2009 um 23:45

    Und warum guckst du dann nicht in die Hilfe zu ListBox? Steht dort genauso - hier mal ohne die DebugPrint-Aufrufe:

    Spoiler anzeigen
    [autoit]

    #include <GUIListBox.au3>
    #include <GuiConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <Constants.au3>

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

    Opt('MustDeclareVars', 1)

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

    $Debug_LB = False ; Check ClassName being passed to ListBox functions, set to True and use a handle to another control to see it work

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

    Global $hListBox

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

    _Main()

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

    Func _Main()
    Local $hGUI

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

    ; Create GUI
    $hGUI = GUICreate("(UDF Created) List Box Create", 400, 296)
    $hListBox = _GUICtrlListBox_Create($hGUI, "String upon creation", 2, 2, 396, 296)
    GUISetState()

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


    GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")

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

    ; Add files
    _GUICtrlListBox_BeginUpdate($hListBox)
    _GUICtrlListBox_ResetContent($hListBox)
    _GUICtrlListBox_InitStorage($hListBox, 100, 4096)
    _GUICtrlListBox_Dir($hListBox, @WindowsDir & "\win*.exe")
    _GUICtrlListBox_AddFile($hListBox, @WindowsDir & "\Notepad.exe")
    _GUICtrlListBox_Dir($hListBox, "", $DDL_DRIVES)
    _GUICtrlListBox_Dir($hListBox, "", $DDL_DRIVES, False)
    _GUICtrlListBox_EndUpdate($hListBox)

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

    ; Loop until user exits
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    EndFunc ;==>_Main

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

    Func _ListDblClick()
    Local $indx = _GUICtrlListBox_GetCurSel($hListBox)
    MsgBox(0, 'Doppelklick auf:', _GUICtrlListBox_GetText($hListBox, $indx))
    EndFunc

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

    Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg
    Local $hWndFrom, $iIDFrom, $iCode, $hWndListBox
    If Not IsHWnd($hListBox) Then $hWndListBox = GUICtrlGetHandle($hListBox)
    $hWndFrom = $ilParam
    $iIDFrom = BitAND($iwParam, 0xFFFF) ; Low Word
    $iCode = BitShift($iwParam, 16) ; Hi Word

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

    Switch $hWndFrom
    Case $hListBox, $hWndListBox
    Switch $iCode
    Case $LBN_DBLCLK ; Sent when the user double-clicks a string in a list box
    Return _ListDblClick()
    Case $LBN_ERRSPACE ; Sent when a list box cannot allocate enough memory to meet a specific request
    ;~ Return _ListErrSpace()
    Case $LBN_KILLFOCUS ; Sent when a list box loses the keyboard focus
    ;~ Return _ListKillFocus()
    Case $LBN_SELCANCEL ; Sent when the user cancels the selection in a list box
    ;~ Return _ListSelCancel()
    Case $LBN_SELCHANGE ; Sent when the selection in a list box has changed
    ;~ Return _ListSelChange()
    Case $LBN_SETFOCUS ; Sent when a list box receives the keyboard focus
    ;~ Return _ListSetFocus()
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_COMMAND

    [/autoit]
  • StringRegExp vorletzte Zeile

    • BugFix
    • 24. Januar 2009 um 23:14

    Wenn die Struktur immer so ist, sollte dieses Pattern passen:

    [autoit]

    $str = "abcd= 29876 xyz= 0 irgendwas" _
    & @CRLF & "abcd= 123 xyz= 945" _
    & @CRLF & "abcd= 4567 xyz= 345 und noch was" _
    & @CRLF & "abcd= 8902 xy"

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

    $re = StringRegExp($str, '(abcd=\s+)(\d+)([w= ]+.*)\r\n', 3)
    MsgBox(0, 'Gesuchter Wert', $re[UBound($re)-2])

    [/autoit]

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™