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

  • Postleitzahl/Ort - Umkreissuche

    • BugFix
    • 20. Juni 2012 um 21:05

    Nur mal zur Anmerkung:

    Es wäre sinnvoll, wenn du die Quelle deiner Daten angibst. Denn du darfst nur Daten verwenden (bzw. verbreiten), die du selber ermittelt hast ( :rofl: ) oder die vom Ersteller lizenzfrei zur Veröffentlichung angeboten werden. (was bei der Deutschen Post definitiv nicht der Fall ist)
    Soweit ich weiß, könnte OpenStreetMap da eine gute Anlaufstelle sein.

  • ListView - SubItem einzeln färben/formatieren, Finale Version! (v1.3)

    • BugFix
    • 20. Juni 2012 um 20:51

    Was kommt dir in den Sinn beim Funktionsnamen. _GUICtrlListView_Formatting_Startup($GUI, $hLV) ? - Richtig: Die UDF wird initialisiert mit Startwerten, demzufolge darfst du diese Funktion im Skript auch nur einmalig aufrufen und danach nie wieder! :whistling:

  • Windows Surface

    • BugFix
    • 20. Juni 2012 um 09:25

    Hatte die Beiträge dazu gestern auch bei Heise gelesen.
    In Sachen Design, haben die Jungs scheinbar mal so richtig den Griff ins Klo gewagt. :D
    Das Tablet selbst ist recht edel gehalten und macht einen "business-like" Eindruck. Aber dann werden für die Tastaturcover schreiend bunte Farben im Neon-Look der frühen 80-er Jahre verwendet... Einfach nur grottig.

    Die technische Ausstattung scheint recht solide (schnelles USB, WLAN, Kartenslot).
    Aber ganz klar fehlt hier Bluetooth. Das ist m.M. heutzutage ein Muss.
    Was ich als unpassend empfinde ist das spiegelnde Display. Gerade ein Tablet wird immer wieder stark von einfallendem Licht betroffen sein und wenn ich dann auf dem Display mich selbst und meine Umgebung sehe... :thumbdown:
    Da keine Angaben zu gravierenden Punkten (Akkulaufzeiten und möglichen Preisen) gemacht wurden kann man eigentlich gar kein Urteil zu dem Produkt fällen.

  • Array speichern

    • BugFix
    • 19. Juni 2012 um 21:40

    Hier mal ein Bsp.

    [autoit]

    Local $a[5][2][2]
    For $i = 0 To 4
    For $j = 0 To 1
    For $k = 0 To 1
    $a[$i][$j][$k] = $i & '-' & $j & '-' & $k
    Next
    Next
    Next

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

    $sFile = ''
    For $i = 0 To 4
    For $j = 0 To 1
    For $k = 0 To 1
    $sFile &= $a[$i][$j][$k] & ';'
    Next
    Next
    $sFile = StringTrimRight($sFile, 1) & @CRLF
    Next

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

    ;~ FileWrite($Dateipfad, $sFile)
    ConsoleWrite($sFile & @CRLF)

    [/autoit]
  • Array speichern

    • BugFix
    • 19. Juni 2012 um 21:03
    Zitat von Alcros

    so und was ist wenn ich jetzt ein 3D-Array benutze...


    Benutze einfach eine Textdatei zum speichern, in der Form
    Array[0][0];Array[0][1];Array[0][2]
    Array[1][0];Array[1][1];Array[1][2]
    Array[2][0];Array[2][1];Array[2][2]
    usw.

    Geht natürlich analog auch für mehere Dimensionen, einfach unterschiedliche Trenner in der Zeile verwenden.

  • Eigene Autoit EXE in den Focus bringen (alle 10 Minuten)

    • BugFix
    • 19. Juni 2012 um 20:42
    [autoit]

    WinActivate

    [/autoit]

    wird wohl nicht reichen, du willst es doch sicher auch in den Vordergrund setzen:

    [autoit]

    WinSetOnTop

    [/autoit]
  • Imaginäre Zahlen in AutoIt

    • BugFix
    • 18. Juni 2012 um 18:21

    [OT]
    Mathematik ist eine Wissenschaft, die auf Annahmen beruht - in diesem Fall die Annahme, das die Quadratwurzel aus -1 = i ist und schon kann man weiter rechnen.
    Da fällt mir immer ein netter Mathematiker Witz ein:
    Ein Handwerker, ein Physiker und ein Mathematiker werden jeweils mit einer Büchse Nahrung 3 Tage in eine Höhle gesperrt.
    - Handwerker: Wirft die Büchse solange an die Wand, bis sie offen ist - er überlebt.
    - Physiker: Berechnet Winkel, Wurfgeschwindigkeit und Aufschlagskräfte, schleudert die Büchse entsprechend an die Wand - sie ist offen und er überlebt.
    - Mathematiker: Er nimmt an die Büchse sei offen - und verhungert.
    :D
    [/OT]

  • File to Base64 String Code Generator v1.20 Build 2020-06-05

    • BugFix
    • 18. Juni 2012 um 18:11
    Zitat von UEZ

    Wichitg: nicht drüber installieren!


    Ich habe genau die gegenteilige Erfahrung gemacht. Verwendest du den aktuellen Installer und löschst deine alte Installation vorher, dann hast du nur noch Schrott, etliche Dateien fehlen. Deshalb installiere ich immer drüber.

  • Farbe in einem bestimmten Feld erkennen (nicht auf einzelne Pixel bezogen)

    • BugFix
    • 18. Juni 2012 um 17:19

    Es ist nicht schlimm, nichts zu wissen -- aber wenn dir hier schon gesagt wird, wo du was nachlesen sollst (und ausprobieren) dann tu das bitte auch. Anders wirst du nichts lernen.

  • Farbe in einem bestimmten Feld erkennen (nicht auf einzelne Pixel bezogen)

    • BugFix
    • 18. Juni 2012 um 17:08
    Zitat von Pjaanoo

    aber ich weiss trotzdem nicht weiter


    "$coord ist kein Array! Deshalb olltest du vorher immer überprüfen, ob dem so ist. Dazu könntest du dir ja mal die Funktion IsArray() anschauen.."

    Wenn du damit nichts anfangen kannst, frag ich mich was du hier willst.
    Verdammt nochmal: [Blockierte Grafik: http://www.bug-fix.info/rtfm_gun.gif] [Blockierte Grafik: http://www.bug-fix.info/rtfm_book.gif]

  • Bild- (Film-) Dateien umbenennen in Reihenfolge der Erstellung

    • BugFix
    • 18. Juni 2012 um 14:29

    Neue Version v0.5
    Änderungen s. Post #1

  • Invert Mouse input

    • BugFix
    • 17. Juni 2012 um 15:22

    Abfangen kannst du die Mausereignisse, ich hab das mal in mein Demoskript integriert. Hier werden jetzt linke und rechte Maustastenereignisse kpl. verworfen:

    Spoiler anzeigen
    [autoit]

    #include <WinAPI.au3>
    #include <WindowsConstants.au3>
    OnAutoItExitRegister('OnAutoItExit')
    HotKeySet('^+q', '_Exit') ; Strg+Shift+Q

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

    Global Const $HC_ACTION = 0
    Global $hStub_MouseProc = DllCallbackRegister("_MouseProc", "long", "int;wparam;lparam")
    Global $hmod = _WinAPI_GetModuleHandle(0)
    Global $hHook = _WinAPI_SetWindowsHookEx($WH_MOUSE_LL, DllCallbackGetPtr($hStub_MouseProc), $hmod)

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

    While True
    Sleep(50)
    WEnd

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

    Func _MouseProc($nCode, $wParam, $lParam)
    Local $event, $info, $iX, $iY, $mouseData = "", $wheelData = "", $wheelCount
    $info = DllStructCreate("int X;int Y;dword mouseData;dword flags;dword time;ulong_ptr dwExtraInfo", $lParam)
    $iX = DllStructGetData($info, 1)
    $iY = DllStructGetData($info, 2)
    $mouseData = DllStructGetData($info, 3)
    If $nCode < 0 Then Return _WinAPI_CallNextHookEx($hHook, $nCode, $wParam, $lParam)
    If $nCode = $HC_ACTION Then
    Switch $wParam
    Case $WM_MOUSEMOVE
    $event = "Mouse Move"
    Case $WM_MOUSEWHEEL
    $event = "Mouse Wheel"
    If _WinAPI_HiWord($mouseData) > 0 Then
    $wheelData = " Forward"
    Else
    $wheelData = " Backward"
    EndIf
    $wheelCount = _WinAPI_HiWord($mouseData)/120
    Case $WM_LBUTTONDOWN
    $event = "Left Down"
    ConsoleWrite('No LeftDown' & @CRLF)
    Return -1 ; Return -1 verwirft die Nachricht
    Case $WM_LBUTTONUP
    $event = "Left Up"
    ConsoleWrite('No LeftUp' & @CRLF)
    Return -1
    Case $WM_RBUTTONDOWN
    $event = "Right Down"
    ConsoleWrite('No RightDown' & @CRLF)
    Return -1
    Case $WM_RBUTTONUP
    $event = "Right Up"
    ConsoleWrite('No RightUp' & @CRLF)
    Return -1
    Case $WM_MBUTTONDOWN
    $event = "Wheel Down"
    Case $WM_MBUTTONUP
    $event = "Wheel Up"
    EndSwitch
    EndIf
    ConsoleWrite($iX & ', ' & $iY & ' ' & $event & $wheelData & ' count: ' & $wheelCount & @CRLF)
    Return _WinAPI_CallNextHookEx($hHook, $nCode, $wParam, $lParam)
    EndFunc

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

    Func _Exit()
    Exit
    EndFunc

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

    Func OnAutoItExit()
    _WinAPI_UnhookWindowsHookEx($hHook)
    DllCallbackFree($hStub_MouseProc)
    EndFunc ;==>OnAutoItExit

    [/autoit]
  • Vergleichsfehler: 1=4 ?!?

    • BugFix
    • 17. Juni 2012 um 15:05

    Du liest die Checkboxen falsch! GuiCtrlRead ist NICHT ausreichend. Der Status, den du damit erhältst, kann eine Kombination von Werten enthalten.
    Deshalb immer prüfen:

    [autoit]

    If BitAnd(GuiCtrlRead($CheckBox_oder_Radio), $GUI_CHECKED) Then ;== WAHR -- dann gechecked

    [/autoit]

    Edit: tz tz, da war der m-obi schneller... :rolleyes:
    (aber das: "= $GUI_CHECKED" kann man sich schenken, ist doppelt gemoppelt, da BitAnd genau das prüft)

  • Farbe in einem bestimmten Feld erkennen (nicht auf einzelne Pixel bezogen)

    • BugFix
    • 17. Juni 2012 um 14:58
    Zitat von Make-Grafik

    die daten die in den Eckigen klammern steht, die musst du NICHT angeben. Dies ist nur um das ein bischen genauer zu definieren.


    Nein, eckige Klammern geben an, dass diese Funktionsparameter optional und mit Standardwerten vorbelegt sind.

  • Farbe in einem bestimmten Feld erkennen (nicht auf einzelne Pixel bezogen)

    • BugFix
    • 17. Juni 2012 um 12:17

    Auch wenn es hier nicht direkt durchklingt, riecht es doch stark nach Spiele-Bot (Bestand von irgendetwas unter Level -- Nachfüllen/ Nachladen erforderlich).
    Insofern aktiviere ich zwar den Thread, stelle es aber frei darauf überhaupt zu antworten. Sollte sich meine Vermutung bestätigen, wird selbstredend gelöscht.

  • Invert Mouse input

    • BugFix
    • 17. Juni 2012 um 12:11

    Ist doch nur ein simpler Dll-Call:

    [autoit]


    _SwapMouseButton() ; == Wechsel Links zu Rechts
    ;_SwapMouseButton(0) ; == Zurücksetzen

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

    Func _SwapMouseButton($fSwap=True)
    DllCall("user32", "long", "SwapMouseButton", "long", $fSwap)
    EndFunc

    [/autoit]
  • Invert Mouse input

    • BugFix
    • 16. Juni 2012 um 19:42

    Links- zu Rechtsklick machen? Melde die Maus als Linkshändermaus an, dann passiert genau das.
    Mouseevent kannst du abfangen, aber mir entgeht etwas der Sinn. Läuft AutoIt auf Touchscreen-Geräten?

  • _GuiCtrlTreeView_Create -- $tagNMTVCUSTOMDRAW fehlerhaft?

    • BugFix
    • 16. Juni 2012 um 12:42

    Ist das ein Rotz. Wie soll man da allgemeingültige Funktionen schreiben? ;(
    Ich bastel gerade an: _GuiCtrlTreeView_ItemDisable($hWnd, $hItem, $fDisable=True)

    Dazu muß aber die Struktur NMTVCUSTOMDRAW verwendet werden, ansonsten geht das in die Hose.

    Was ich auch nicht verstehe, warum die Zeile:

    [autoit]

    DllStructSetData($tCustDraw, 'ItemState', BitOR($CDIS_GRAYED,$CDIS_DISABLED))

    [/autoit]

    auf das Zeichnen des Item-Text keinen Einfluß hat. Nur wenn ein Image zugeordnet ist, wird dieses dadurch ausgegraut. Nun gut, die Textfarbe läßt sich ja setzen für das Item, aber ein automatisches Setzen in Verbindung mit dem Flag erschiene mir eigentlich logisch. :whistling:

  • _GuiCtrlTreeView_Create -- $tagNMTVCUSTOMDRAW fehlerhaft?

    • BugFix
    • 16. Juni 2012 um 10:41

    Hi,
    da ich normalerweise Treeview mit GuiCtrlCreateTreeView erstelle, ist mir dieses Verhalten noch nie aufgefallen.
    Testet bitte mal das Bsp-Skript, ob ihr dasselbe Verhalten habt.
    - Im ersten Fall wird das Treeview mit _GuiCtrlTreeView_Create erstellt. DrawStage ist dann immer $CDDS_PREPAINT und ein Ändern der Strukturparameter führt zu keiner Reaktion.
    - Im zweiten Fall erstelle ich das Treeview mit GuiCtrlCreateTreeView. Da aus der Struktur $CDDS_ITEMPREPAINT als DrawStage richtig erkannt wird, führt auch das Setzen der Strukturparameter zum gewünschten Ergebnis: "Item_[02]" wird ausgegraut dargestellt.

    Ein weiteres Verhalten ist auffällig: Die Höhe der Item ist bei _GuiCtrlTreeView_Create sichtbar kleiner als bei GuiCtrlCreateTreeView.

    Spoiler anzeigen
    [autoit]

    #Include <GUIConstantsEx.au3>
    #Include <GuiTreeView.au3>
    #Include <WindowsConstants.au3>

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

    Global Const $__TVITEM_DISABLE = 2001
    Global $hTreeView1, $hTreeView2

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

    _Main()

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

    Func _Main()
    Local $hGUI, $aItem[8], $nTreeView
    $hGUI = GUICreate("TreeView Create [_GUICtrlTreeView_Create]", 400, 300)
    $hTreeView1 = _GUICtrlTreeView_Create($hGUI, 2, 2, 396, 268, BitOR($TVS_EDITLABELS, $TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS, $TVS_CHECKBOXES), $WS_EX_CLIENTEDGE)
    GUISetState()

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

    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

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

    _GUICtrlTreeView_BeginUpdate($hTreeView1)
    For $i = 0 To 7
    $aItem[$i] = _GUICtrlTreeView_Add($hTreeView1, 0, StringFormat("Item_[%02d]", $i))
    Next
    _GUICtrlTreeView_EndUpdate($hTreeView1)
    _GUICtrlTreeView_SetItemParam($hTreeView1, $aItem[2], $__TVITEM_DISABLE)

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

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()

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

    ; =========================================================================

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

    $hGUI = GUICreate("TreeView Create [GUICtrlCreateTreeView]", 400, 300)
    $nTreeView = GUICtrlCreateTreeView(2, 2, 396, 268, BitOR($TVS_EDITLABELS, $TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS, $TVS_CHECKBOXES), $WS_EX_CLIENTEDGE)
    $hTreeView2 = GUICtrlGetHandle($nTreeView)
    GUISetState()

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

    _GUICtrlTreeView_BeginUpdate($hTreeView2)
    For $i = 0 To 7
    $aItem[$i] = _GUICtrlTreeView_Add($hTreeView2, 0, StringFormat("Item_[%02d]", $i))
    Next
    _GUICtrlTreeView_EndUpdate($hTreeView2)
    _GUICtrlTreeView_SetItemParam($hTreeView2, $aItem[2], $__TVITEM_DISABLE)

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

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
    EndFunc ;==>_Main

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

    Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg, $iwParam
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR
    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
    Case $hTreeView1, $hTreeView2
    Switch $iCode
    Case $NM_CUSTOMDRAW
    Local $tCustDraw = DllStructCreate($tagNMTVCUSTOMDRAW, $ilParam)
    ConsoleWrite('DrawStage: ' & DllStructGetData($tCustDraw, 'DrawStage') & @TAB & ' 1=$CDDS_PREPAINT / 65537=$CDDS_ITEMPREPAINT' & @CRLF)
    Switch DllStructGetData($tCustDraw, 'DrawStage')
    Case $CDDS_ITEMPREPAINT
    If DllStructGetData($tCustDraw, 'ItemParam') = $__TVITEM_DISABLE Then
    DllStructSetData($tCustDraw, 'ClrText', 0xA0A0A0)
    DllStructSetData($tCustDraw, 'ItemState', BitOR($CDIS_GRAYED,$CDIS_DISABLED))
    Else
    DllStructSetData($tCustDraw, 'ItemState', $CDIS_DEFAULT)
    EndIf
    EndSwitch
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

    [/autoit]


    Ich vermute, dass das $tagNMTVCUSTOMDRAW nur mit nativ erstellten Treeview korrekt funktioniert, obwohl ich keinen sinnvollen Grund sehe, dass es mit der UDF-Funktion nicht geht.

  • Msgbox

    • BugFix
    • 15. Juni 2012 um 18:04

    Drück mal in SciTE: "Alt+W" -- da öffnet sich ein Fenster, wo du das simulieren kannst und fertigen Code kopieren kannst. ;)

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™