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

Beiträge von autoBert

  • ControlSetText Problem (HILFE) !!!

    • autoBert
    • 12. Juli 2010 um 18:50

    Gibt das einen weiteren BOT-Versuch :?:

    3/8 Threads von dir wurden bereits wegen BOTens ge-CLOSED. 1 wegen Spamens/Sinnlosigkeit, die anderen sind anscheinend durchgerutscht.

    Ich votiere dafür auch diesen zu CLOSEn

    mfg (Auto)Bert

  • 2 Inputs und ein Enter

    • autoBert
    • 12. Juli 2010 um 15:10

    wo ist das Problem?

    Spoiler anzeigen
    [autoit]

    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("2 Inputs", 170, 58, 192, 124)
    $Input1 = GUICtrlCreateInput("Input1", 24, 8, 121, 21)
    $Input2 = GUICtrlCreateInput("Input2", 24, 32, 121, 21)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    case $Input1
    MsgBox(0,"","Input1")
    case $Input2
    MsgBox(0,"","Input2")

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

    EndSwitch
    WEnd

    [/autoit]

    mfg (Auto)Bert

  • [Beispiel] BMP-, GIF-, PNG- & JPG-Viewer (Stand: 10.02.2012)

    • autoBert
    • 11. Juli 2010 um 22:56

    Hallo com,

    anbei ein kleines Skript, mit dem ich mir meine eigenen Bilder betrachte. Bilder können

    • über das Menü (FileOpendialog)
    • bzw. Drag und Drop eingefügt werden

    Das Seitenverhältnis der Bilder wird berücksichtigt. Die Bilder werden

    • über Button
    • bzw. Doppelklick angezeigt


    Getestet habe ich das Programm mit

    • BMP
    • GIF
    • JPG
    • PNG
    Spoiler anzeigen

    unter Windows XP SP3

    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Outfile=BMP-Viewer.exe
    #AutoIt3Wrapper_UseUpx=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #cs -----------------------------------------------------------------------------------------------------------------------

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

    AutoIt Version: 3.3.6.1
    Author: AutoBert: http://www.autoit.de/index.php?page=Thread&threadID=21667

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

    Skriptbeispiel für den Umgang mit FileOpenDialog, GUICtrlCreateListView, GUICtrlCreateListViewItem,
    _GUICtrlListView_RegisterSortCallBack, _GUICtrlListView_SortItems
    _PathSplit, FileGetTime, FileGetSize, GUIRegisterMsg speziell für das Event $GUI_EVENT_DROPPED

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

    _GUICtrlPic_Create aus GuiCtrlPic von Großvater https://autoit.de/index.php?page…ICtrlPic_Create
    Dank dieser Funktion können auch PNG -Bilder prblemls angezeigt werden.
    #ce -------------------------------------------------------------------------------------------------------------------------
    #include <ListViewConstants.au3>
    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <GuiListView.au3>
    #include <File.au3>
    #include <array.au3>
    #include "GUICtrlPic.au3"
    #include <GDIPlus.au3>

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

    Opt('MustDeclareVars', 1)

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

    Global $msg, $message, $var, $aFiles, $idfrmMain, $sSourcePath, $aItem, $dtCreated, $dtLast, $iSize
    Global $szDrive, $szDir, $szFName, $szExt, $hPic = -99
    Global $aDropFiles[1], $WM_DROPFILES = 0x233

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

    $idfrmMain = GUICreate("BMP-, GIF- PNG, & JPG-Viewer", 924, 550, -1, -1, -1, $WS_EX_ACCEPTFILES)
    Local $idfilemenu = GUICtrlCreateMenu("&Datei")
    Local $idfileitem = GUICtrlCreateMenuItem("Öffnen", $idfilemenu)
    GUICtrlSetState(-1, $GUI_DEFBUTTON)
    Local $idexititem = GUICtrlCreateMenuItem("Beenden", $idfilemenu)
    Local $idLV_Files = GUICtrlCreateListView("Name: |Pfad |erstellt am |letzte Änderung |Grösse KB", 519, 5, 400, 490, BitOR($LVS_SHOWSELALWAYS, $LVS_REPORT))
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)
    Local $idLblXY =GUICtrlCreateLabel("",5,515,500,20)
    Local $idbtnShow = GUICtrlCreateButton("&Zeige Bild", 519, 500, 140, 25)
    Local $idClearLV = GUICtrlCreateButton("&Listview &leeren", 669, 500, 140, 25)
    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
    GUIRegisterMsg($WM_DROPFILES, "WM_DROPFILES_FUNC")
    _GUICtrlListView_RegisterSortCallBack($idLV_Files)

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

    GUISetState()
    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_DROPPED
    _FilesDropped()
    Case $idfileitem

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

    $message = "Um mehrere Dateien auszuwählen, ist die Strg-Taste oder die Shift-Taste zu drücken."

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

    $var = FileOpenDialog($message, @MyDocumentsDir & "", "Bilder (*.jpg;*.bmp;*.gif;*.png)", 1 + 4)
    If @error Then
    MsgBox(4096, "", "Keine Datei(en) ausgewählt")
    Else
    _GUICtrlListView_BeginUpdate($idLV_Files)
    $aFiles = StringSplit($var, "|")
    If $aFiles[0] > 1 Then ;trifft nur bei Mehrfachauwal zu
    ;$aFiles[0] enthält Anzahl der Strings
    ;$aFiles[1] enthält den Pfad für alle ausgewählten Bilder
    ;$aFiles[2] enthält 1. Bild
    ;$aFiles[n+1] enthält n. Bild

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

    ;Rückgabe des Fileopenialogs in einzzenlne Strings für Array splitten
    ;_ArrayDisplay($aFiles) ;Array anzeigen nur zu Verständnisuwecken evtl. aktivieren

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

    For $i = 2 To $aFiles[0]
    ;ConsoleWrite($aFiles[$i] & @CRLF)
    $dtCreated = FileGetTime($aFiles[1] & "\" & $aFiles[$i], 1, 1)
    $dtLast = FileGetTime($aFiles[1] & "\" & $aFiles[$i], 2, 1)
    $iSize = Round(FileGetSize($aFiles[1] & "\" & $aFiles[$i]) / 1024, 0)
    GUICtrlCreateListViewItem($aFiles[$i] & "|" & $aFiles[1] & "|" & _FormatDate($dtCreated) & "|" & _FormatDate($dtLast) & "|" & $iSize, $idLV_Files)
    Next
    Else ;nur eine Datei ausgewählt
    ;ConsoleWrite($aFiles[1] & @CRLF)
    _PathSplit($aFiles[1], $szDrive, $szDir, $szFName, $szExt)
    $dtCreated = FileGetTime($aFiles[1], 1, 1)
    $dtLast = FileGetTime($aFiles[1], 2, 1)
    $iSize = Round(FileGetSize($aFiles[1] / 1024), 0)
    GUICtrlCreateListViewItem($szFName & $szExt & "|" & $szDrive & $szDir & "|" & _FormatDate($dtCreated) & "|" & _FormatDate($dtLast) & "|" & $iSize, $idLV_Files)
    EndIf
    _GUICtrlListView_SetColumnWidth($idLV_Files, 0, $LVSCW_AUTOSIZE)
    ;setzt die 1 Spalte auf die benötigte Breite des längsten Eintrags
    _GUICtrlListView_SetColumnWidth($idLV_Files, 1, 0) ;zweite Spalte versteckt
    _GUICtrlListView_EndUpdate($idLV_Files)
    EndIf
    Case $idClearLV
    _GUICtrlListView_DeleteAllItems($idLV_Files)
    Case $idbtnShow
    $aItem = _GUICtrlListView_GetItemTextArray($idLV_Files)
    _ShowPic($aItem)
    Case $GUI_EVENT_CLOSE, $idexititem
    _GUICtrlListView_UnRegisterSortCallBack($idLV_Files)
    Exit
    EndSwitch
    WEnd

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

    Func _FormatDate($sDT)
    ;ConsoleWrite($sDT & @CRLF)
    Return StringMid($sDT, 7, 2) & "." & StringMid($sDT, 5, 2) & "." & StringLeft($sDT, 4) & " " & StringMid($sDT, 9, 2) & ":" & StringMid($sDT, 11, 2)
    EndFunc ;==>_FormatDate

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

    Func _ShowPic($aItem)
    Local $sImageName = $aItem[2] & "\" & $aItem[1]
    ;$aItem[0] enthält Anzahl der Spalten [$aIem[1] die 1. Spalte usw.
    ;_ArrayDisplay($aItem) nur zu Verständnisuwecken evtl. aktivieren
    ;ConsoleWrite("Pfad zur Datei:" & $aItem[2] & "\" & $aItem[1] & @CRLF) ;nur zu Verständnisuwecken evtl. deaktivieren
    _GDIPlus_Startup()
    Local $hImage = _GDIPlus_ImageLoadFromFile($sImageName)
    Local $iX = _GDIPlus_ImageGetWidth($hImage)
    Local $iY = _GDIPlus_ImageGetHeight($hImage)
    _GDIPlus_ImageDispose($hImage)
    _GDIPlus_Shutdown()
    Local $iRatio = $iX / $iY
    GUICtrlSetData($idLblXY,StringFormat("Original-Grösse Breite: %6s Höhe: %6s ", $iX, $iY))
    ;ConsoleWrite("Orig.: " & $iX & " " & $iY & " " & $iRatio & @CRLF)
    If $iRatio >= 1 Then
    $iX = 500
    $iY = $iX / $iRatio
    Else
    $iY = 300
    $iX = $iY * $iRatio
    EndIf
    ;ConsoleWrite("Neu: " & $iX & " " & $iY & " " & $iRatio & @CRLF)
    If $hPic <> -99 Then GUICtrlDelete($hPic)
    $hPic = _GUICtrlPic_Create($sImageName, 5, 5, $iX, $iY, $SS_CENTERIMAGE, Default)
    EndFunc ;==>_ShowPic

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

    #Region ;Drag and Drop und Doppelklick
    Func WM_DROPFILES_FUNC($hWnd, $msgID, $wParam, $lParam)
    ;ConsoleWrite("WM_DropFiles_Func " & @CRLF)
    Local $nSize, $pFileName
    Local $nAmt = DllCall("shell32.dll", "int", "DragQueryFile", "hwnd", $wParam, "int", 0xFFFFFFFF, "ptr", 0, "int", 255)
    For $i = 0 To $nAmt[0] - 1
    $nSize = DllCall("shell32.dll", "int", "DragQueryFile", "hwnd", $wParam, "int", $i, "ptr", 0, "int", 0)
    $nSize = $nSize[0] + 1
    $pFileName = DllStructCreate("char[" & $nSize & "]")
    DllCall("shell32.dll", "int", "DragQueryFile", "hwnd", $wParam, "int", $i, "ptr", DllStructGetPtr($pFileName), "int", $nSize)
    ReDim $aDropFiles[$i + 1]
    $aDropFiles[$i] = DllStructGetData($pFileName, 1)
    $pFileName = 0
    Next
    EndFunc ;==>WM_DROPFILES_FUNC

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

    Func _FilesDropped()
    Local $szDrive, $szDir, $szFName, $szExt, $split, $sImageName, $sPath
    _GUICtrlListView_BeginUpdate($idLV_Files)
    ;_ArrayDisplay($aDropFiles)
    For $i = 0 To UBound($aDropFiles) - 1
    $split = _PathSplit($aDropFiles[$i], $szDrive, $szDir, $szFName, $szExt)
    $szExt = StringUpper($szExt)
    ;;;Consolewrite($aDropFiles[$i] & ", " & $szExt & @CRLF)
    Switch $szExt
    Case ".JPG", ".BMP", ".GIF", ".PNG"
    $sImageName = $szFName & $szExt
    $sPath = $szDrive & $szDir
    ;;ConsoleWrite($sPath & $sImageName & @CRLF)
    $dtCreated = FileGetTime($sPath & $sImageName, 1, 1)
    $dtLast = FileGetTime($sPath & $sImageName, 2, 1)
    $iSize = Round(FileGetSize($sPath & $sImageName) / 1024, 0)
    GUICtrlCreateListViewItem($sImageName & "|" & $sPath & "|" & _FormatDate($dtCreated) & " |" & _FormatDate($dtLast) & " |" & $iSize, $idLV_Files)
    EndSwitch
    Next
    _GUICtrlListView_SetColumnWidth($idLV_Files, 0, $LVSCW_AUTOSIZE)
    ;setzt die 1 Spalte auf die benötigte Breite des längsten Eintrags
    _GUICtrlListView_SetColumnWidth($idLV_Files, 1, 0) ;zweite Spalte versteckt
    _GUICtrlListView_EndUpdate($idLV_Files)
    EndFunc ;==>_FilesDropped

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

    Func WM_NOTIFY($hWnd, $msgID, $wParam, $lParam)
    Local $tagNMHDR, $event, $hwndFrom, $code, $aItem
    $tagNMHDR = DllStructCreate("int;int;int", $lParam)
    If @error Then Return 0
    $code = DllStructGetData($tagNMHDR, 3)
    ConsoleWrite($code & @TAB & $LVN_COLUMNCLICK & @CRLF)
    If $wParam = $idLV_Files Then
    Switch $code
    Case - 3
    If _GUICtrlListView_GetSelectedCount($idLV_Files) > 0 Then
    $aItem = _GUICtrlListView_GetItemTextArray($idLV_Files)
    ;Consolewrite($aItem[1] & ", " & $aItem[3] & @CRLF)
    _ShowPic($aItem)
    EndIf
    Case $LVN_COLUMNCLICK
    _GUICtrlListView_SortItems($idLV_Files, GUICtrlGetState($idLV_Files))
    EndSwitch
    EndIf
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY
    #EndRegion ;Drag and Drop und Doppelklick

    [/autoit]

    da es aus Beispielen der Hilfe zusammenkopiert ist, könnt ihr es selbstverständlich komplett oder in Teile benutzen,

    Hir noch ein ScreenShot:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Edit: Erweitert mit Datei-Infos zu Erstellung,Änderung und Grösse
    Edit2: PNG werden jetzt auch mit angezeigt, ausserdem sind die Listvieweinträge jetzt sortierbar durch Spaltenklick

    mfg (Auto)Bert

  • [CF[*Gaming*] sagt hallo>D

    • autoBert
    • 11. Juli 2010 um 16:11

    Herzlich willkommen im Forum und viel Spass mit/auf AutoIt(.de).

    Hier kannst du dir die Hilfe herunterladen.
    Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee

    mfg (Auto)Bert

  • PixeL und email hilfe

    • autoBert
    • 11. Juli 2010 um 14:48
    Zitat von DuDeLSack

    Zu 1) ich will erreichen das wenn sich in ein pixel in einem fenster veraendert bestimmte tasten gedrueckt werden oder woerter

    Das hört sich doch nach einem BOT-Versuch an und widerspricht den Forenregeln.

    MoD bitte closen

    danke (Auto)Bert

  • GUI füllen

    • autoBert
    • 9. Juli 2010 um 19:42

    Hallo Schumi,

    stell doch bitte dein aktuelles komplette Skript und die INI dazu ein,

    mfg (Auto)Bert

  • Listview Registry

    • autoBert
    • 8. Juli 2010 um 00:40

    Hallo Sora White Dragon,

    mir ist keine andere Methode als

    [autoit]

    regdelete

    [/autoit]

    bekannt. Vielleicht hattest du ja einen Tippfehler?

    mfg (Auto)Bert

  • Listview Registry

    • autoBert
    • 7. Juli 2010 um 21:46
    Zitat von Sora White Dragon

    Während es in der Registry den Eintrag löscht, soll es auch den Zeile in der Listview löschen (dazu viel mir auch noch nichts ein.)

    Zitat von Hilfe

    _GUICtrlListView_DeleteItem

    Löscht ein Item eines ListView-Controls

    #Include <GuiListView.au3>
    _GUICtrlListView_DeleteItem($hWnd, $iIndex)


    Parameter

    $hWnd ID/Handle des Controls
    $iIndex 0-basierender Index des zu löschenden ListView Items


    Rückgabewert

    Erfolg: True
    Fehler: False


    Bemerkungen

    Falls diese Funktion mit einem Listview, welches durch die Funktion GUICtrlCreateListView erstellt wurde, angewendet wird, muss der Befehl _GUICtrlListView_DeleteItem(GUICtrlGetHandle($ListView), iIndex) heißen, da sonst eine Fehlermeldung erscheint. ($ListView ist die Variable wie das Listview heißt)

    Alles anzeigen


    oder auch

    [autoit]

    _GUICtrlListView_DeleteItemsSelected

    [/autoit]
    Zitat von Sora White Dragon

    Noch ein Problem wäre: Ich weiss nicht wie ich nur 2 Zellen machen kann (Name, Pfad). Pfad ist einfach zu kurz und man sieht ihn nicht vollständig außer wenn man ihn länger zieht.

    [autoit]

    _GUICtrlListView_SetColumnWidth

    [/autoit]

    mfg (Auto)Bert

  • Begrenzung einstellen

    • autoBert
    • 7. Juli 2010 um 19:09
    Zitat von EpicWorld

    Ja aber wo bau ich die variable bei for ein?

    und ich wollte noch fragen wie ich per Iniwrite eine checkbox mache mit passwort speicher

    Tut mir leid das ich so viel frage ^^ Bin noch am lernen


    Du solltest vor allem lernen die Hilfe zu lesen:

    Zitat

    For <variable> = <start> To <stop> [Step <stepval>]
    statements
    ...
    Next

    mfg (Auto)Bert

  • PixelGetColor Problem

    • autoBert
    • 7. Juli 2010 um 16:38

    Gibt das einen weiteren BOT-Versuch :?:

    3. Threads von dir wurden bereits ge-CLOSED und ich votiere dafür auch diesen zu CLOSEn

  • Transperentes Gif wird nicht transperent angezeigt

    • autoBert
    • 7. Juli 2010 um 16:23
    Zitat von Antispeed


    Aber die GUI ist noch an den Rändern zusehen, wo es transperent ist.

    das ist doch Sinn und Zweck, dass die darunterliegende Gui zu sehen ist :!:

    Zitat von Antispeed

    Sry.. So jetzt habe ich in GIF geändert und es hat so weit funkt.

    schön, dann ist dein Problem ja gelöst, schön wäre es allerdings auch wenn du den Thread auf gelöst setzt. Einfach 1. Beitrag bearbeiten, Präfix (nähe Überschrift) ändern und speichern (absenden)

    mfg (Auto)Bert

  • bestimmte wertel in combo, bei auswahl zur weiterverarbeitung zugewiesener anderer wert

    • autoBert
    • 6. Juli 2010 um 03:46

    Hallo inferior,

    schau dir https://autoit.de/index.php?page…4341#post164341 an, ich denke dass er dir weiterhilft.

    mfg (Auto)Bert

  • BB-Code Verhalten simulieren (gelöst mit _GUICtrlEdit_ReplaceSel)

    • autoBert
    • 6. Juli 2010 um 02:17

    Hallo miile86,

    schau dir Chatbox-UDF von Oscar an,

    mfg (Auto)Bert

  • Listview "flackern" und Farbenbug

    • autoBert
    • 6. Juli 2010 um 02:09
    Zitat von sumsum

    Auch weil ich die Funktion
    _GUICtrlListView_AddArray
    Nicht richtig verstehe, jedenfalls nicht in dem Zusammenhang.


    ich habe einmal ein Beispiel von mir umgeschrieben (Laden klicken)

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>
    #include <ListViewConstants.au3>
    #include <File.au3>

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

    ;#include <array.au3>

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

    Local $tZeit, $s1, $s2

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

    $main = GUICreate("Test Drag & Drop from LV1 to LV2 DblClick in LV1 with ContextMenu in LV1 (copies to ClipBoard", 600, 400)
    $listview = GUICtrlCreateListView("Gruppe1| BlubText", 10, 10, 200, 100, BitOR($LVS_REPORT, $LVS_SHOWSELALWAYS), BitOR($LVS_EX_FULLROWSELECT, $WS_EX_CLIENTEDGE))
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_LV_ALTERNATE) ; legt fest, dass Hintergrundfarbe wechselt
    GUICtrlSetBkColor(-1, 0xE6E6FA) ; Hintergrundfarbe 1

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

    $listview2 = GUICtrlCreateListView("Gruppe2 | BlubText", 230, 10, 200, 100, BitOR($LVS_REPORT, $LVS_SHOWSELALWAYS), BitOR($LVS_EX_FULLROWSELECT, $WS_EX_CLIENTEDGE))
    GUICtrlSetState($listview2, $GUI_DROPACCEPTED)
    $hbtnInfo = GUICtrlCreateButton("Info", 10, 120, 100, 20)
    $hbtnSave = GUICtrlCreateButton("&Speichern", 230, 120, 100, 20)
    $hbtnLoad = GUICtrlCreateButton("&Laden", 230, 150, 100, 20)

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

    For $i = 1 To 9
    $listitem = GUICtrlCreateListViewItem("test" & $i & " |Blub " & Random(1, 9), $listview)
    If $i = 5 Then GUICtrlSetFont($listitem, 14, 800)
    GUICtrlSetBkColor(-1, 0xcccccc) ; Hintergrundfarbe 2
    Next
    $idContextmenu = GUICtrlCreateContextMenu($listview)
    $idClipmenu = GUICtrlCreateMenuItem("Selektierte ins ClipBoard", $idContextmenu)
    $idAllClipmenu = GUICtrlCreateMenuItem("Alle aus Splate 2 ins ClipBoard", $idContextmenu)
    $idDragmenu = GUICtrlCreateMenuItem("In LV 2", $idContextmenu)

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

    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY") ;<=========================================== Bemachrichtigung Doppelklick
    GUISetState()
    $first = True
    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_DROPPED, $idDragmenu
    $ar = _GUICtrlListView_GetSelectedIndices($listview, True)
    ;_ArrayDisplay($ar)
    For $i = 1 To $ar[0]
    $sItem = _GUICtrlListView_GetItemTextString($listview, $ar[$i])
    GUICtrlCreateListViewItem($sItem, $listview2)
    Next
    Case $hbtnInfo
    $Wert = _GUICtrlListView_GetItemTextArray($listview)
    If $Wert[2] <> "" Then
    MsgBox(0, "Eintrag für " & $Wert[1], "ist: " & $Wert[2])
    Else
    MsgBox(0, "", "Kein Eintrag ausgewählt")
    EndIf
    Case $hbtnSave
    SaveLV(@ScriptDir & "\LV2.TXT")
    Case $hbtnLoad
    LoadLV(@ScriptDir & "\LV2.TXT")
    Case $idClipmenu
    $aItems = _GUICtrlListView_GetSelectedIndices($listview, True)
    $sItemText = ""
    For $i = 1 To $aItems[0]
    ;Schleifenbeginn 1 da $aItem[0] die Anzahl enhält
    $sItemText &= _GUICtrlListView_GetItemTextString($listview, $aItems[$i]) & @CRLF
    ConsoleWrite($sItemText & @CRLF)
    Next ;= > weiter mit For
    ;ClipPut($sItemText & @CRLF)
    Case $idAllClipmenu
    $sToClip = ""
    For $i = 0 To _GUICtrlListView_GetItemCount($listview)
    $aItem = _GUICtrlListView_GetItemTextArray($listview, $i)
    $sToClip &= $aItem[2] & @CRLF
    Next
    ClipPut($sToClip)
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

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

    Func SaveLV($sFile)
    Local $hFileOut, $aItem
    $hFileOut = FileOpen($sFile, 2)
    For $j = 0 To _GUICtrlListView_GetItemCount($listview2) - 1
    $aItem = _GUICtrlListView_GetItemTextString($listview2, $j)
    FileWriteLine($hFileOut, $aItem)
    Next
    FileClose($hFileOut)
    EndFunc ;==>SaveLV

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

    #cs
    Func LoadLV($sFile)
    Local $aItems
    If FileExists($sFile) Then
    _FileReadToArray($sFile, $aItems)
    If IsArray($aItems) Then
    _GUICtrlListView_DeleteAllItems($listview2)
    ;_ArrayDisplay($aItems)
    For $j = 1 To $aItems[0]
    GUICtrlCreateListViewItem($aItems[$j], $listview2)
    Next
    EndIf
    EndIf
    EndFunc ;==>LoadLV
    #ce

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

    Func LoadLV($sFile) ;zur Demo von _GUICtrlListView_AddArray
    Local $aItems, $aItem, $aItemsNew
    If FileExists($sFile) Then
    _FileReadToArray($sFile, $aItems)
    If IsArray($aItems) Then
    _ArrayDelete($aItems, 0)
    If IsArray($aItems) Then; könnte nach löschen von Eintrag 0 ja leer sein
    Dim $aItemsNew[UBound($aItems)][2]
    _GUICtrlListView_DeleteAllItems($listview2)
    ;_ArrayDisplay($aItems)
    For $i = 0 to UBound($aItems) -1 ;Array mit Daten füllen
    $aItem = StringSplit($aItems[$i],"|",2)
    ;ConsoleWrite($i & @CRLF)
    $aItemsNew[$i][0] = $aItem[0]
    $aItemsNew[$i][1] = $aItem[1]
    Next
    _ArrayDisplay($aItemsNew)
    _GUICtrlListView_AddArray($listview2, $aItemsNew) ;<===== Array ins LV einfügen
    EndIf
    EndIf
    EndIf
    EndFunc ;==>LoadLV

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

    Func WM_NOTIFY($hWnd, $MsgID, $wParam, $lParam)
    Local $tagNMHDR, $event, $hwndFrom, $code
    $tagNMHDR = DllStructCreate("int;int;int", $lParam)
    If @error Then Return 0
    $code = DllStructGetData($tagNMHDR, 3)
    If $wParam = $listview Then
    ConsoleWrite($code & @CRLF)
    Switch $code
    ;case -2 ;Klick
    Case -3 ;Doppelklick
    If _GUICtrlListView_GetSelectedCount($listview) > 0 Then
    For $i = 0 To _GUICtrlListView_GetItemCount($listview)
    If _GUICtrlListView_GetItemSelected($listview, $i) Then
    $aItem = _GUICtrlListView_GetItemTextArray($listview, $i)
    MsgBox(0, "Doppel-Klick auf ", $aItem[1] & @CRLF & @CRLF & $aItem[2])
    EndIf
    Next
    EndIf
    EndSwitch
    EndIf
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

    [/autoit]

    Die dazu gehörige Textdatei: Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    mfg (Auto)Bert

    Dateien

    LV2.TXT 269 Byte – 357 Downloads
  • Rollover Bilder

    • autoBert
    • 6. Juli 2010 um 01:06

    Hallo XXlolimanxx,

    zu 1.: hier ein Beispiel das du zu deinem Zweck umbauen kannst:

    Spoiler anzeigen
    [autoit]

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

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

    Global $pic = @SystemDir & '\oobe\images\nextover.jpg'
    Global $pic2 = @SystemDir & '\oobe\images\nextdown.jpg'

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

    $gui = GUICreate("Test", Default, Default, -1, -1)
    $btnPic = GUICtrlCreatePic($pic, 30, 40, 24, 24,$SS_NOTIFY)
    $btnPic2 = GUICtrlCreateButton("OK",-100,-100,1,1)
    GUICtrlSetState($btnPic2,$GUI_FOCUS)
    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $btnPic
    If _AnimButton($gui, $btnPic) Then MsgBox(0, '', 'click Pic')
    GUICtrlSetState($btnPic2,$GUI_FOCUS)
    Case $msg = $btnPic2
    _AnimButton($gui, $btnPic)
    MsgBox(0, '', 'auch ein click')
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    EndSelect
    WEnd

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

    ;==================================================================================================
    ; Function Name: _AnimButton($IDgui, $IDbtn [, $delay=150])
    ; Description: animiert ein Pic, wie einen geklickten Button
    ; Parameter(s): $IDgui ID der GUI
    ; $IDbtn ID des Picture als Button
    ;==================================================================================================
    Func _AnimButton($IDgui, $IDbtn)
    Local $pos = ControlGetPos($IDgui, '', $IDbtn)
    Local $pWin = WinGetPos(GUICtrlGetHandle($IDbtn))
    ControlMove($IDgui, '', $IDbtn, $pos[0], $pos[1] + 1, $pos[2] - 1, $pos[3] - 1)
    Sleep(10)
    ControlMove($IDgui, '', $IDbtn, $pos[0], $pos[1] + 2, $pos[2] - 2, $pos[3] - 2)
    Sleep(10)
    ControlMove($IDgui, '', $IDbtn, $pos[0], $pos[1] + 3, $pos[2] - 3, $pos[3] - 3)
    GUICtrlSetImage($IDbtn, $pic2)
    ;Local $tmpGui = GUICreate('', $pos[2], $pos[3], $pWin[0], $pWin[1], $WS_POPUP, $WS_EX_TOOLWINDOW)
    ;WinSetTrans($tmpGui, '', 120)
    ;GUISetState(@SW_SHOWNOACTIVATE, $tmpGui)
    $return = 1
    Do
    $x = GUIGetCursorInfo($IDgui)
    If $x[4] <> $IDbtn Then $return = 0
    Sleep(10)
    Until $x[2] = 0
    ;GUIDelete($tmpGui)
    ControlMove($IDgui, '', $IDbtn, $pos[0], $pos[1] + 2, $pos[2] - 2, $pos[3] - 2)
    Sleep(10)
    ControlMove($IDgui, '', $IDbtn, $pos[0], $pos[1] + 1, $pos[2] - 1, $pos[3] - 1)
    Sleep(10)
    ControlMove($IDgui, '', $IDbtn, $pos[0], $pos[1], $pos[2], $pos[3])
    GUICtrlSetImage($IDbtn, $pic)
    Return $return
    EndFunc ;==>_AnimButton

    [/autoit]

    ist AFAIR von BugFix

    zu 2.: mach es doch so:

    Spoiler anzeigen
    [autoit]

    >#include <GUIConstantsEx.au3>
    #include <SliderConstants.au3>
    #include <WindowsConstants.au3>
    $Form1 = GUICreate("Test", 196, 65, 192, 124)
    $Slider1 = GUICtrlCreateSlider(16, 16, 161, 25)
    GUICtrlSetData(-1,50)
    $iOldSlider = 50
    $Label = GUICtrlCreateLabel("50",16,50,160)
    GUISetState(@SW_SHOW)

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

    While 1
    $iSlider = GUICtrlRead($Slider1)
    if $iSlider <> $iOldSlider Then
    Test($iSlider)
    $iOldSlider = $iSlider
    EndIf
    $nmsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

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

    Func Test ($iPos)
    GUICtrlSetData($Label,$iPos) ;nervt nicht so wie eine MsgBox
    EndFunc

    [/autoit]

    mfg (Auto)Bert

  • Dll Problem

    • autoBert
    • 6. Juli 2010 um 00:07

    Hallo Bladerunner85,

    teste es mal so:

    Spoiler anzeigen
    [autoit]

    $sdlinit = SDL_Init("SDL_INIT_VIDEO")

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

    MsgBox(0, "SDL_Init", $sdlinit)
    Exit

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

    Func SDL_Init($flag)
    $sdl = DllOpen("SDL.dll")
    $result=DllCall($sdl, "int", "SDL_Init", "uint32", $flag)
    return $result
    EndFunc

    [/autoit]

    mfg (Auto)Bert

  • button zuweisen

    • autoBert
    • 5. Juli 2010 um 22:24
    Zitat von spaki

    ja genau danke schön autobert :) das ist genau das was ich meinte :) .wenn ich noch weitere fragen habe zu dem script kann ich ddie dann hier posten oder soll ich dann immer ein neues thema eröffnen?


    Wenn ein Thema erledigt/gelöst ist sollte dieses auf gelöst gesetzt werden. Einfach 1. Beitrag bearbeiten, Präfix (nähe Überschrift) ändern und speichern (absenden). Für neue Probleme/Fragen eröffnest du dann einfach ein neues Thema, wobei die Hilfe zu AutoIt sehr gut ist (natürlich auch das Tut und das Buch) so dass man nach einer gewissen Ein-/Umgewöhnung sehr gut damit zurecht kommt. Das Board hat auch eine eingebaute SUchFUnktion (fast ganz oben rechts) die man auch sehr hilfreich zur Problemlösung einsetzen kann,

    mfg (Auto)Bert

  • button zuweisen

    • autoBert
    • 5. Juli 2010 um 21:54

    Hallo spaki,

    ich denke du wolltest dieses Ergebnis erreichen:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    #region ### START Koda GUI section ### Form=das is der pfad zu den bildern(gehts vllt auch ohne pfad)?
    $Form2 = GUICreate("Form1", 383, 258, 497, 219)
    $Button1 = GUICtrlCreateButton("Starten", 304, 16, 57, 25, 0)
    $Button2 = GUICtrlCreateButton("Ende", 304, 56, 57, 25, 0)
    $Pic1 = GUICtrlCreatePic("C:\Users\m\Desktop\hier is nen bild", 0, 0, 281, 257, 0)
    $Pic2 = GUICtrlCreatePic("C:\Users\m\Desktop\und noch eins", 288, 136, 92, 121, 0)

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

    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    case $Button1
    MsgBox(0, "", "Start")
    case $Button2
    MsgBox(0, "", "Ende")
    EndSwitch
    WEnd

    [/autoit]

    Hier kannst du dir die Hilfe herunterladen.
    Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee .

    clezZ & ProblemUser solltet ihr vielleicht auch hinneinschauen, denn in einer Func kann jede Art von Schleife vorkommen. Bei Func' s die auf eine Nachricht des Programms (Button-Click) aufgerufen wurden sollte man "Endlos-Schleifen" auf jeden Fall vermeiden, da während der Ausführung der Func die Nachrichten zwar entgegengenommen (in eine Art Warteschlange gestellt) aber nicht abgearbeitet werden. Eine Ausnahme bildet hier GuiRegisterMsg diese werden sofort ausgeführt. Ist die blockierende Func zu Ende läuft das Skript normal weiter und alle Nachrichten werden der Reihe nach abgearbeitet

    mfg (Auto)Bert

  • FileWrite

    • autoBert
    • 5. Juli 2010 um 20:59
    Zitat von Baaam

    ja die datei ist ja im prinzip schon auf meinem server
    ich führe das aus stoppe es dann nach 10 sek
    lade die datei runter und sie ist leer

    Dann führe einmal das von mir gepostete Skript (mit AutoIt.de ....) aus, Fehlendes & vorher ersetzen, danach musst du folgendes in der Konsole stehen haben

    Code
    Letzte Zeile (InetGet) </html>
    </html>Das ist angehängter Text.

    Danach änderst du das Skript auf deine INet-Seite und startest es. Das File darf auch jetzt nicht leer sein, ausser falsche URL oder Seite verlangt Authentifizierung

    Zitat von Baaam

    also ja die soll online sein

    nach InetGet ist sie erst einmal lokal bei dir,

    Spoiler anzeigen

    falls der Server auf dem gleichen Rechner läuft kannst du ja auch

    [autoit]

    FileCopy;oder
    FileMove

    [/autoit]

    verwenden um sie ins richtige Verzeichnis zu stellen. Dann ist aber InetGet überflüssig.

    Das heist du musst die Datei wieder online stellen. Dazu kann man Funktionen aus der FTPEx.au3 verwenden, übrigens gibt es dort auch ein Funktionen zum Downloaden von Dateien. Da ich aber keinen (FTP-)Server habe kenne ich mich damit auch nicht aus.

    mfg (Auto)Bert

  • Listview "flackern" und Farbenbug

    • autoBert
    • 5. Juli 2010 um 20:38

    Hallo sumsum,

    ganz sicher bekommst du das flackern weg, indem du dein Array so manipulierst, dass du danach mit

    [autoit]

    _GUICtrlListView_AddArray

    [/autoit]

    dieses einfügen kannst. Danach benutzt du eine Funktion con BugFix aus FormatSubItemLVex.au3 in ListView - SubItem einzeln färben/formatieren, Finale Version! um deine Items zu färben,

    mfg (Auto)Bert

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™