Mehrere Ordner auslesen und bearbeiten

  • Hallo zusammen ,

    Ich habe ein frage.
    Wie mach ich es , wenn ich ein button drücke das ein bestimmter ordner angezeigt wird in der listbox und diese text datein in der eingabe ändern kann
    Ich steh da völlig aufm schlauch
    Mein kleiner ansatz ist woll müll...
    Eventuell könnt ihr mich auf dem richtigen weg bringen.

    Gruß Jack

    Spoiler anzeigen
    [autoit]

    include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <File.au3>
    #include <Array.au3>

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

    #Region ### START Koda GUI section ### Form=C:\Users\Jack\Desktop\Neuer Ordner (2)\Koda Vorlagen\com.kxf
    $Form1 = GUICreate("test", 602, 447, 196, 113)
    GUISetBkColor(0x013300)
    $List1 = GUICtrlCreateList("", 144, 4, 185, 409)
    $Edit1 = GUICtrlCreateEdit("", 336, 48, 265, 365)
    GUICtrlSetData(-1, "")
    $Button1 = GUICtrlCreateButton("test", 4, 364, 137, 25, 0)
    $Button2 = GUICtrlCreateButton("test", 4, 28, 137, 25, 0)
    $Button3 = GUICtrlCreateButton("test", 4, 4, 137, 25, 0)
    $Button4 = GUICtrlCreateButton("test", 4, 52, 137, 25, 0)
    $Button5 = GUICtrlCreateButton("test", 4, 100, 137, 25, 0)
    $Button6 = GUICtrlCreateButton("test", 4, 76, 137, 25, 0)
    $Button7 = GUICtrlCreateButton("test", 4, 172, 137, 25, 0)
    $Button8 = GUICtrlCreateButton("test", 4, 148, 137, 25, 0)
    $Button9 = GUICtrlCreateButton("test", 4, 124, 137, 25, 0)
    $Button10 = GUICtrlCreateButton("test", 4, 196, 137, 25, 0)
    $Button11 = GUICtrlCreateButton("test", 4, 244, 137, 25, 0)
    $Button12 = GUICtrlCreateButton("test", 4, 220, 137, 25, 0)
    $Button13 = GUICtrlCreateButton("test", 4, 268, 137, 25, 0)
    $Button14 = GUICtrlCreateButton("test", 4, 316, 137, 25, 0)
    $Button15 = GUICtrlCreateButton("test", 4, 292, 137, 25, 0)
    $Button16 = GUICtrlCreateButton("test", 4, 340, 137, 25, 0)
    $Button17 = GUICtrlCreateButton("test", 4, 388, 137, 25, 0)
    $Button18 = GUICtrlCreateButton("test", 4, 412, 137, 25, 0)
    $Button19 = GUICtrlCreateButton("Änderung Speichern", 452, 416, 149, 29, 0)
    $Button20 = GUICtrlCreateButton("test", 300, 416, 149, 29, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    $textfiles = _FileListToArray(@ScriptDir & "\test",'*.txt')
    $listfiles = ''
    For $i = 1 To UBound($textfiles) -1
    $listfiles &= $textfiles[$i]
    If $i <> UBound($textfiles) -1 Then $listfiles &= "|"
    Next

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

    GUICtrlSetData($List1, $listfiles)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $f = FileOpen(@ScriptDir & '\test\' & GUICtrlRead($List1),0)
    GUICtrlSetData($Edit1,FileRead($f))

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

    Case $Button2
    Case $Button3
    Case $Button4
    Case $Button5
    Case $Button6
    Case $Button7
    Case $Button8
    Case $Button9
    Case $Button10
    Case $Button11
    Case $Button12
    Case $Button13
    Case $Button14
    Case $Button15
    Case $Button16
    Case $Button17
    Case $Button18
    Case $Button19
    Case $Button20
    EndSwitch
    WEnd

    [/autoit]

    Einmal editiert, zuletzt von jackunder (2. Oktober 2010 um 18:27)

  • Hallo jackunder,

    herzlich willkommen im Forum und viel Spass mit 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

    und jetzt zu deinem Problem: Mit

    [autoit]

    FileSelectFolder

    [/autoit]

    kannst du dir einen Ordner auswählen. Die Dateien dieses Ordner liest du dann mit

    [autoit]

    _FileListToArray

    [/autoit]

    in ein Array ein. Da _FileListToArray nur den Namen ohne Pfad zurückgibt musst du diesen beim einfügen der Daten dieses Arrays in einer Combobox, Listbox oder noch besser Listview im Skript selbst mit einfügen. Für das Anzeigen benötigst du ein Edit-Control.

    [autoit]

    FileOpen,FileRead,FileWrite,FileClose

    [/autoit]

    solltest du dir hierfür auch in der Hilfe anschauen.

    mfg autoBert

  • Hi autoBert ,

    danke für die vielen guten links.

    Bin auch schon ein gutes stück weiter gekommen , die einzelne ordner werden in der listbox angezeigt nur wenn ich drauf klicke kommt nix im eingabefeld bzw. es geht nur mit einen ordner

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <File.au3>
    #include <Array.au3>

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

    Dim $array_1
    Global $List1

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

    #Region ### START Koda GUI section ### Form=C:\Users\Jack\Desktop\Neuer Ordner (2)\Koda Vorlagen\com.kxf
    $Form1 = GUICreate("test " & IniRead(@ScriptDir & '\version.ini','Allgemein','Version',''), 602, 466, 203, 163)
    GUISetBkColor(0x013300)
    $List1 = GUICtrlCreateList("", 144, 4, 185, 409)
    $Edit1 = GUICtrlCreateEdit("", 336, 48, 265, 365)
    GUICtrlSetData(-1, "")
    $Button3 = GUICtrlCreateButton("test3", 4, 52, 137, 25, 0)
    $Button2 = GUICtrlCreateButton("test2", 4, 28, 137, 25, 0)
    $Button1 = GUICtrlCreateButton("test", 4, 4, 137, 25, 0)
    $Button19 = GUICtrlCreateButton("Änderung Speichern", 452, 416, 149, 29, 0)
    $Button21 = GUICtrlCreateButton("Ausgabe Löschen", 148, 416, 149, 29, 0)
    $MenuItem1 = GUICtrlCreateMenu("Hilfe")
    $MenuItem3 = GUICtrlCreateMenuItem("FAQ", $MenuItem1)
    $MenuItem2 = GUICtrlCreateMenuItem("Info...", $MenuItem1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    case $List1
    $f = FileOpen(@ScriptDir & 'test' & GUICtrlRead($List1),0)
    GUICtrlSetData($Edit1,FileRead($f))
    FileClose($f)

    Case $Button1 ; test1
    $textfiles = _FileListToArray (@ScriptDir & "\test",'*.txt')
    $listfiles = ''
    For $i = 1 To UBound($textfiles) -1
    $listfiles &= $textfiles[$i]
    If $i <> UBound($textfiles) -1 Then $listfiles &= "|"
    Next
    GUICtrlSetData($List1, $listfiles)

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

    Case $Button2 ; test2
    $textfiles = _FileListToArray (@ScriptDir & "\test2",'*.txt')
    $listfiles = ''
    For $i = 1 To UBound($textfiles) -1
    $listfiles &= $textfiles[$i]
    If $i <> UBound($textfiles) -1 Then $listfiles &= "|"
    Next
    GUICtrlSetData($List1, $listfiles)

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

    Case $Button3 ; test3
    $textfiles = _FileListToArray (@ScriptDir & "\test3",'*.txt')
    $listfiles = ''
    For $i = 1 To UBound($textfiles) -1
    $listfiles &= $textfiles[$i]
    If $i <> UBound($textfiles) -1 Then $listfiles &= "|"
    Next
    GUICtrlSetData($List1, $listfiles)

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

    Case $Button19 ; Änderung Speichern

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

    Case $Button21 ; ListBox löschen
    While _GUICtrlListBox_GetCount($List1) <> 0
    _GUICtrlListBox_DeleteString($List1, 0)
    wend

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

    EndSwitch
    WEnd

    [/autoit]
  • Hallo Jackunder,

    das liegt daran dass der Pfad zur Datei nicht stimmt, wenn du es so machst stimmt der Pfad:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <File.au3>
    #include <Array.au3>

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

    Dim $array_1
    Global $List1

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

    #region ### START Koda GUI section ### Form=C:\Users\Jack\Desktop\Neuer Ordner (2)\Koda Vorlagen\com.kxf
    $Form1 = GUICreate("test " & IniRead(@ScriptDir & '\version.ini', 'Allgemein', 'Version', ''), 602, 466, 203, 163)
    GUISetBkColor(0x013300)
    $List1 = GUICtrlCreateList("", 144, 4, 185, 409)
    $Edit1 = GUICtrlCreateEdit("", 336, 48, 265, 365)
    GUICtrlSetData(-1, "")
    $Button3 = GUICtrlCreateButton("test3", 4, 52, 137, 25, 0)
    $Button2 = GUICtrlCreateButton("test2", 4, 28, 137, 25, 0)
    $Button1 = GUICtrlCreateButton("test", 4, 4, 137, 25, 0)
    $Button19 = GUICtrlCreateButton("Änderung Speichern", 452, 416, 149, 29, 0)
    $Button21 = GUICtrlCreateButton("Ausgabe Löschen", 148, 416, 149, 29, 0)
    $MenuItem1 = GUICtrlCreateMenu("Hilfe")
    $MenuItem3 = GUICtrlCreateMenuItem("FAQ", $MenuItem1)
    $MenuItem2 = GUICtrlCreateMenuItem("Info...", $MenuItem1)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $List1
    $f = FileOpen(GUICtrlRead($List1), 0)
    GUICtrlSetData($Edit1, FileRead($f))
    FileClose($f)

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

    Case $Button1 ; test1
    $textfiles = _FileListToArray(@ScriptDir & "\test", '*.txt')
    $listfiles = ''
    For $i = 1 To UBound($textfiles) - 1
    $listfiles &= @ScriptDir & "\test\" & $textfiles[$i]
    If $i <> UBound($textfiles) - 1 Then $listfiles &= "|"
    Next
    GUICtrlSetData($List1, $listfiles)

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

    Case $Button2 ; test2
    $textfiles = _FileListToArray(@ScriptDir & "\test2", '*.txt')
    $listfiles = ''
    For $i = 1 To UBound($textfiles) - 1
    $listfiles &= @ScriptDir & "\test2\" & $textfiles[$i]
    If $i <> UBound($textfiles) - 1 Then $listfiles &= "|"
    Next
    GUICtrlSetData($List1, $listfiles)

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

    Case $Button3 ; test3
    $textfiles = _FileListToArray(@ScriptDir & "\test3", '*.txt')
    $listfiles = ''
    For $i = 1 To UBound($textfiles) - 1
    $listfiles &= @ScriptDir & "\test3\" & $textfiles[$i]
    If $i <> UBound($textfiles) - 1 Then $listfiles &= "|"
    Next
    GUICtrlSetData($List1, $listfiles)

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

    Case $Button19 ; Änderung Speichern

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

    Case $Button21 ; ListBox löschen
    While _GUICtrlListBox_GetCount($List1) <> 0
    _GUICtrlListBox_DeleteString($List1, 0)
    WEnd

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

    EndSwitch
    WEnd

    [/autoit]

    Ich weiss dass dies nicht unbedingt schön aussieht, deshalb benutze ich für soetwas eine Listview, da kann man die Daten auf mehrere Spalten verteilen und wenn man eine Spalte auf die Breite 0 setzt ist sie für den Anwender nicht zu sehen. So mache ich es z.B. in NeMP3-P (Link siehe Signatur),

    mfg autoBert

  • hey ,

    soweit klappt alles danke, nur sieht es wie du schon sagtest nicht toll aus werd mal das mit listview versuchen ist das vom auf bau her gleich oder ändert sich viel ?

    gruß jack

  • Hallo jackunder,

    eine Listview kannst du mit

    [autoit]

    $idDesListViews=GUICtrlCreateListView("Dateiname|InOrdner",$left, $top)

    [/autoit]


    zum einfügen der Daten verwendest du am besten

    [autoit]

    GUICtrlCreateListViewItem"Test.txt|c:\programme\autoit3\test\",$idDesListViews)

    [/autoit]


    Eine Spalte verstecken kannst du indem du die Breite auf 0 setzt:

    [autoit]

    _GUICtrlListView_SetColumnWidth($idDesListViews, $Spalte, 0);1. Spalte =0, 2.Spalte =1 für S$Splate also 1 verwenden für obiges Codeschnipsel

    [/autoit]


    beim auslesen ermittelst du mit

    [autoit]

    $aItem = _GUICtrlListView_GetItemTextArray($idDesListviews)

    [/autoit]

    die Einträge des ausgewählten Items. Achtung $aItem[0] enthält die Anzahl der Spalten, hier also bei 1 anfangen zu zählen,
    Danach kannst du ganz normal mit den Werten aus dem Array $aItem weiter arbeiten, also

    [autoit]

    $f = FileOpen($aItem[2]&$aItem[1], 0)

    [/autoit]

    Ist relativ easy, schau dir die Erklärungen zu den genannten Funktionen in der Hilfe an,

    mfg autoBert

  • hey ,

    ich hab dazu ein eine fragen

    [autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 625, 443, 193, 141)
    $Button1 = GUICtrlCreateButton("Button1", 4, 416, 75, 25, 0)
    $Button5 = GUICtrlCreateButton("list löschen", 322, 416, 75, 25, 0)
    $ListView1 = GUICtrlCreateListView("name|pos.|mw", 8, 4, 289, 393)
    $Edit1 = GUICtrlCreateEdit("", 304, 12, 281, 377)
    GUICtrlSetData(-1, "Edit1")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $Button1
    GUICtrlCreateListViewItem("blub1|mittelfeld|1 mio.", $ListView1)
    GUICtrlCreateListViewItem("blub2|mittelfeld2|2 mio.", $ListView1)
    GUICtrlCreateListViewItem("blub3|mittelfeld3|3 mio.", $ListView1)
    GUICtrlCreateListViewItem("blub4|mittelfeld4|4 mio.", $ListView1)
    GUICtrlCreateListViewItem("blub5|mittelfeld5|5 mio.", $ListView1)

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

    Case $Button5
    _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView1))

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

    Case $Edit1
    EndSwitch
    WEnd

    [/autoit]

    zur zeit sieht es jetzt so aus nur frag ich mich ob ich jetzt z.B bei jeder einzelner

    [autoit]

    GUICtrlCreateListViewItem("blub1|mittelfeld|1 mio.", $ListView1)

    [/autoit]

    datei öffnen im eingabefeld, und die dies vom aufbau her wäre?

    Gruß Jack

  • Hallo JackUnder,

    hier einmal ein kleines Beispiel, um *.TXT und *.INI Dateien in eine Listview aufzunehmen. Es sind 2 Möglichkeiten eingebaut:

    • über Button mit FileOPenDialog
    • über Drag and Drop, das heist du kannst Dazeinamen aus dem Explorer einfach auf die Listview ziehen

    Für das öffnen einer Datei im Editor benutze ich Doppelklick auf einen Dateinamen. Einen Button oder Menüpunkt zum anzeigen kannst du dir ja selbst einbauen.

    Spoiler anzeigen
    [autoit]

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

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

    #cs -----------------------------------------------------------------------------------------------------------------------

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

    AutoIt Version: 3.3.6.1
    Author: AutoBert: http://www.autoit.de/index.php?page…6909#post186909

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

    Skriptbeispiel für den Umgang mit FileOpenDialog, GUICtrlCreateListView, GUICtrlCreateListViewItem,
    GUIRegisterMsg speziell für das Event $GUI_EVENT_DROPPED
    #ce -------------------------------------------------------------------------------------------------------------------------

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

    Global $szDrive, $szDir, $szFName, $szExt
    Global $aDropFiles[1], $WM_DROPFILES = 0x233

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

    #region ### START Koda GUI section ### Form=
    $hGui = GUICreate("Form1", 625, 443, -1, -1, -1, $WS_EX_ACCEPTFILES)
    $idLVFiles = GUICtrlCreateListView("Dateiname|In Ordner", 8, 4, 289, 393, BitOR($LVS_SHOWSELALWAYS, $LVS_REPORT))
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)
    $Edit1 = GUICtrlCreateEdit("", 304, 12, 281, 377)
    GUICtrlSetData(-1, "Edit1")
    $idbtnaAdd = GUICtrlCreateButton("&Dateinname in Listview aufnehmen", 4, 416, 200, 25, 0)
    $idbtnClearLV = GUICtrlCreateButton("Listview &öschen", 322, 416, 200, 25, 0)
    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY") ;reistriert eine eigene WM_Notify-Routine, die bei Doppelklich das lesen der Datei einleitet
    GUIRegisterMsg($WM_DROPFILES, "WM_DROPFILES_FUNC") ;reistriert die W;_DropFiles_Func
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE ;prüft auf Schliessen
    Exit
    Case $GUI_EVENT_DROPPED ;Wenn Files gedroppt werden
    _FilesDropped()

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

    Case $idbtnaAdd

    [/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 & "", "Textdateien (*.txt;*.ini)", 1 + 4)
    If @error Then
    MsgBox(4096, "", "Keine Datei(en) ausgewählt")
    Else
    _GUICtrlListView_BeginUpdate($idLVFiles)
    $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 Texte
    ;$aFiles[2] enthält 1. Dateiname
    ;$aFiles[n+1] enthält n. Dateiname

    [/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]
    GUICtrlCreateListViewItem($aFiles[$i] & "|" & $aFiles[1], $idLVFiles)
    Next
    Else ;nur eine Datei ausgewählt
    ConsoleWrite($aFiles[1] & @CRLF)
    _PathSplit($aFiles[1], $szDrive, $szDir, $szFName, $szExt)
    GUICtrlCreateListViewItem($szFName & $szExt & "|" & $szDrive & $szDir, $idLVFiles)
    EndIf
    _GUICtrlListView_SetColumnWidth($idLVFiles, 0, $LVSCW_AUTOSIZE)
    ;setzt die 1 Spalte auf die benötigte Breite des längsten Eintrags
    _GUICtrlListView_SetColumnWidth($idLVFiles, 1, 0) ;zweite Spalte versteckt
    _GUICtrlListView_EndUpdate($idLVFiles)
    EndIf
    ; Case $idBtnShow
    ;$aItem = _GUICtrlListView_GetItemTextArray
    ; _ShowEdit($aItem)
    Case $idbtnClearLV
    _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($idLVFiles))

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

    Case $Edit1
    EndSwitch
    WEnd

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

    Func _ShowEdit($aItem)
    $sFileName = $aItem[2] & "\" & $aItem[1]
    $hFile = FileOpen($sFileName)
    $sEditText = FileRead($hFile)
    FileClose($hFile)
    GUICtrlSetData($Edit1, $sEditText)
    EndFunc ;==>_ShowEdit

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

    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
    _ArrayDisplay($aDropFiles)
    EndFunc ;==>WM_DROPFILES_FUNC

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

    Func _FilesDropped()
    ConsoleWrite("Bin da " & @CRLF)
    Local $szDrive, $szDir, $szFName, $szExt, $split
    _GUICtrlListView_BeginUpdate($idLVFiles)
    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 ".TXT", ".INI"
    GUICtrlCreateListViewItem($szFName & $szExt & "|" & $szDrive & $szDir, $idLVFiles)
    EndSwitch
    Next
    _GUICtrlListView_SetColumnWidth($idLVFiles, 0, $LVSCW_AUTOSIZE)
    ;setzt die 1 Spalte auf die benötigte Breite des längsten Eintrags
    _GUICtrlListView_SetColumnWidth($idLVFiles, 1, 0) ;zweite Spalte versteckt
    _GUICtrlListView_EndUpdate($idLVFiles)
    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)
    If $wParam = $idLVFiles And $code = -3 And _GUICtrlListView_GetSelectedCount($idLVFiles) > 0 Then
    $aItem = _GUICtrlListView_GetItemTextArray($idLVFiles)
    ;;consolewrite($aItem[1] & ", " & $aItem[3] & @CRLF)
    _ShowEdit($aItem)
    EndIf
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

    [/autoit]

    viel Spass damit autoBert

  • Moin Moin,

    Ich hatte letzte woche leider keine zeit weiter zumachen. Nun hab ich mal weiter geamcht mit Listview aber da sind noch ein paar fragen offen

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    Dim $aKaiserslauter[28][3]
    $aKaiserslauter[0][0] = "Knaller"
    $aKaiserslauter[1][0] = "Sippel"
    $aKaiserslauter[2][0] = "Trapp"
    $aKaiserslauter[3][0] = "Abel"
    $aKaiserslauter[4][0] = "Amedick"
    $aKaiserslauter[5][0] = "Bugera"
    $aKaiserslauter[6][0] = "Correia"
    $aKaiserslauter[7][0] = "Dick"
    $aKaiserslauter[8][0] = "Jessen"
    $aKaiserslauter[9][0] = "Petsos"
    $aKaiserslauter[10][0] = "Rodnei"
    $aKaiserslauter[11][0] = "Simunek"
    $aKaiserslauter[12][0] = "B. Schulz"
    $aKaiserslauter[13][0] = "Bilek"
    $aKaiserslauter[14][0] = "D. Fuchs"
    $aKaiserslauter[15][0] = "de Wit"
    $aKaiserslauter[16][0] = "Ilicevic"
    $aKaiserslauter[17][0] = "Kirch"
    $aKaiserslauter[18][0] = "Moravek"
    $aKaiserslauter[19][0] = "Rivic"
    $aKaiserslauter[20][0] = "Stulin"
    $aKaiserslauter[21][0] = "Tiffert"
    $aKaiserslauter[22][0] = "Walch"
    $aKaiserslauter[23][0] = "Amri"
    $aKaiserslauter[24][0] = "Hoffer"
    $aKaiserslauter[25][0] = "Lakic"
    $aKaiserslauter[26][0] = "Micanski"
    $aKaiserslauter[27][0] = "Nemec"
    Dim $aItems[28]

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

    Dim $aKaiserslauterpos[28][3]
    $aKaiserslauterpos[0][1] = "Tor"
    $aKaiserslauterpos[1][1] = "Tor"
    $aKaiserslauterpos[2][1] = "Tor"
    $aKaiserslauterpos[3][1] = "Abwehr"
    $aKaiserslauterpos[4][1] = "Abwehr"
    $aKaiserslauterpos[5][1] = "Abwehr"
    $aKaiserslauterpos[6][1] = "Abwehr"
    $aKaiserslauterpos[7][1] = "Abwehr"
    $aKaiserslauterpos[8][1] = "Abwehr"
    $aKaiserslauterpos[9][1] = "Abwehr"
    $aKaiserslauterpos[10][1] = "Abwehr"
    $aKaiserslauterpos[11][1] = "Abwehr"
    $aKaiserslauterpos[12][1] = "Mittelfeld"
    $aKaiserslauterpos[13][1] = "Mittelfeld"
    $aKaiserslauterpos[14][1] = "Mittelfeld"
    $aKaiserslauterpos[15][1] = "Mittelfeld"
    $aKaiserslauterpos[16][1] = "Mittelfeld"
    $aKaiserslauterpos[17][1] = "Mittelfeld"
    $aKaiserslauterpos[18][1] = "Mittelfeld"
    $aKaiserslauterpos[19][1] = "Mittelfeld"
    $aKaiserslauterpos[20][1] = "Mittelfeld"
    $aKaiserslauterpos[21][1] = "Mittelfeld"
    $aKaiserslauterpos[22][1] = "Mittelfeld"
    $aKaiserslauterpos[23][1] = "Sturm"
    $aKaiserslauterpos[24][1] = "Sturm"
    $aKaiserslauterpos[25][1] = "Sturm"
    $aKaiserslauterpos[26][1] = "Sturm"
    $aKaiserslauterpos[27][1] = "Sturm"
    Dim $aItems[28]

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

    Dim $aKaiserslauterbs[28][3]
    $aKaiserslauterbs[0][2] = "Computer"
    $aKaiserslauterbs[1][2] = "Computer"
    $aKaiserslauterbs[2][2] = "Computer"
    $aKaiserslauterbs[3][2] = "Computer"
    $aKaiserslauterbs[4][2] = "Computer"
    $aKaiserslauterbs[5][2] = "Computer"
    $aKaiserslauterbs[6][2] = "Computer"
    $aKaiserslauterbs[7][2] = "Computer"
    $aKaiserslauterbs[8][2] = "Computer"
    $aKaiserslauterbs[9][2] = "Computer"
    $aKaiserslauterbs[10][2] = "Computer"
    $aKaiserslauterbs[11][2] = "Computer"
    $aKaiserslauterbs[12][2] = "Computer"
    $aKaiserslauterbs[13][2] = "Computer"
    $aKaiserslauterbs[14][2] = "Computer"
    $aKaiserslauterbs[15][2] = "Computer"
    $aKaiserslauterbs[16][2] = "Computer"
    $aKaiserslauterbs[17][2] = "Computer"
    $aKaiserslauterbs[18][2] = "Computer"
    $aKaiserslauterbs[19][2] = "Computer"
    $aKaiserslauterbs[20][2] = "Computer"
    $aKaiserslauterbs[21][2] = "Computer"
    $aKaiserslauterbs[22][2] = "Computer"
    $aKaiserslauterbs[23][2] = "Computer"
    $aKaiserslauterbs[24][2] = "Computer"
    $aKaiserslauterbs[25][2] = "Computer"
    $aKaiserslauterbs[26][2] = "Computer"
    $aKaiserslauterbs[27][2] = "Computer"
    Dim $aItems[28]

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

    Dim $aKaiserslauterp[28][4]
    $aKaiserslauterp[0][3] = "0"
    $aKaiserslauterp[1][3] = "6"
    $aKaiserslauterp[2][3] = "0"
    $aKaiserslauterp[3][3] = "0"
    $aKaiserslauterp[4][3] = "2"
    $aKaiserslauterp[5][3] = "0"
    $aKaiserslauterp[6][3] = "0"
    $aKaiserslauterp[7][3] = "8"
    $aKaiserslauterp[8][3] = "-2"
    $aKaiserslauterp[9][3] = "0"
    $aKaiserslauterp[10][3] = "18"
    $aKaiserslauterp[11][3] = "0"
    $aKaiserslauterp[12][3] = "0"
    $aKaiserslauterp[13][3] = "8"
    $aKaiserslauterp[14][3] = "0"
    $aKaiserslauterp[15][3] = "0"
    $aKaiserslauterp[16][3] = "23"
    $aKaiserslauterp[17][3] = "-8"
    $aKaiserslauterp[18][3] = "4"
    $aKaiserslauterp[19][3] = "-2"
    $aKaiserslauterp[20][3] = "0"
    $aKaiserslauterp[21][3] = "16"
    $aKaiserslauterp[22][3] = "0"
    $aKaiserslauterp[23][3] = "-2"
    $aKaiserslauterp[24][3] = "16"
    $aKaiserslauterp[25][3] = "36"
    $aKaiserslauterp[26][3] = "-2"
    $aKaiserslauterp[27][3] = "0"
    Dim $aItems[28]

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

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>
    #include <File.au3>
    #include <Array.au3>

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

    Opt("TrayMenuMode",1) ; Default tray menu items (Script Paused/Exit) will not be shown.
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Comunio Plus (BETA) " & IniRead(@ScriptDir & '\version.ini', 'Allgemein', 'Version', ''), 809, 530, -1, -1)
    GUISetFont(8, 400, 0, "Verdana")
    GUISetBkColor(0x013300)
    $Button1 = GUICtrlCreateButton("1. FC Kaiserslauter", 4, 4, 131, 29, 0)
    $Button2 = GUICtrlCreateButton("1. FC Nürnberg", 4, 32, 131, 29, 0)
    $Button3 = GUICtrlCreateButton("1. FC Köln", 4, 60, 131, 29, 0)
    $Button4 = GUICtrlCreateButton("1. FSV Mainz 05", 4, 88, 131, 29, 0)
    $Button5 = GUICtrlCreateButton("Bayer 04 Leverkusen", 4, 116, 131, 29, 0)
    $Button6 = GUICtrlCreateButton("1899 Hoffenheim", 4, 144, 131, 29, 0)
    $Button7 = GUICtrlCreateButton("Eintracht Frankfurt", 4, 172, 131, 29, 0)
    $Button8 = GUICtrlCreateButton("Borussia M'gladbach", 4, 200, 131, 29, 0)
    $Button9 = GUICtrlCreateButton("Borussia Dortmund", 4, 228, 131, 29, 0)
    $Button10 = GUICtrlCreateButton("FC Bayern München", 4, 256, 131, 29, 0)
    $Button11 = GUICtrlCreateButton("FC St. Pauli", 4, 284, 131, 29, 0)
    $Button12 = GUICtrlCreateButton("FC Schalke 04", 4, 312, 131, 29, 0)
    $Button13 = GUICtrlCreateButton("Hamburger SV", 4, 340, 131, 29, 0)
    $Button14 = GUICtrlCreateButton("SC Freiburg", 4, 368, 131, 29, 0)
    $Button15 = GUICtrlCreateButton("Hannover 96", 4, 396, 131, 29, 0)
    $Button16 = GUICtrlCreateButton("SV Werder Bremen", 4, 424, 131, 29, 0)
    $Button17 = GUICtrlCreateButton("VfL Wolfsburg", 4, 452, 131, 29, 0)
    $Button18 = GUICtrlCreateButton("VfB Stuttgart", 4, 480, 131, 29, 0)
    $ListView1 = GUICtrlCreateListView("", 136, 4, 321, 505)
    _GUICtrlListView_InsertColumn($ListView1, 0, "Name", 100)
    _GUICtrlListView_InsertColumn($ListView1, 1, "Position", 100)
    _GUICtrlListView_InsertColumn($ListView1, 2, "Besitzer", 100)
    _GUICtrlListView_InsertColumn($ListView1, 3, "Punkte", 100)
    _GUICtrlListView_SetColumnWidth($ListView1, 0, 90)
    _GUICtrlListView_SetColumnWidth($ListView1, 1, 75)
    _GUICtrlListView_SetColumnWidth($ListView1, 2, 80)
    _GUICtrlListView_SetColumnWidth($ListView1, 3, 53)
    $Edit1 = GUICtrlCreateEdit("", 460, 52, 341, 421)
    GUICtrlSetData(-1, "Edit1")
    $Button19 = GUICtrlCreateButton("Ausgabe Löschen", 460, 476, 109, 33, 0)
    $Button20 = GUICtrlCreateButton("Meine Team", 568, 476, 109, 33, 0)
    $Button21 = GUICtrlCreateButton("Speichern", 676, 476, 103, 33, 0)
    $Menudatei = GUICtrlCreateMenu("Datei")
    $Menubeenden = GUICtrlCreateMenuItem("Beenden", $Menudatei)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE ; Exit
    $close = MsgBox(36, "Schließen", "Wollen Sie das Pogramm wirklich beenden?")
    If $close = 6 Then Exit

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

    Case $Button1 ; 1. FC Kaiserslauter
    For $i = 0 To 27
    $aItems[$i] = GUICtrlCreateListViewItem($aKaiserslauter[$i][0] & "|" & $aKaiserslauterpos[$i][1] & "|" & $aKaiserslauterbs[$i][2] & "|" & $aKaiserslauterp[$i][3], $listview1)
    Next

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

    Case $Button2

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

    Case $Button3

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

    Case $Button4

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

    Case $Button5

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

    Case $Button6

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

    Case $Button7

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

    Case $Button8

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

    Case $Button9

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

    Case $Button10

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

    Case $Button11

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

    Case $Button12

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

    Case $Button13

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

    Case $Button14

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

    Case $Button15

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

    Case $Button16

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

    Case $Button17

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

    Case $Button18

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

    Case $Button19 ; Ausgabe Löschen
    _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView1))
    Case $Button20

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

    Case $Button21

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

    EndSwitch
    WEnd

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

    so nun hätte ich, gerne das wenn ein spieler angeklickt wird das sich dazu ein txt öffnet im eingabefeld für jeden ein andere.
    Ob ihr mir da helfen könntet ?

    Gruß jack

  • Hiho ,

    Keiner eine idee oder ist dies nicht machbar wenn ich ein item habe im listview und diese anklicke das dann eine txt im edit geöffnet wird ?

    gruß jack

  • Könnte dir nur Theoretisch sagen wie du das machen könntest ..

    Glaube da musste "If und Then" benutzen etc.

    Also "

    [autoit]

    $Variable1 = ?
    $Variable2 = ShellExecute("notepad.exe", "","")

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

    If $Variable1 Then $Variable2 EndIf

    [/autoit]

    Halt für Variable1 musst du halt das eingeben was du vorher wolltest fals du da hast.

    Meine Projekte :

    Taschenrechner [X]
    JamLegend Auto-Player [Canceld]
    Launcher [X]
    Multi-Game-Quest-Viewer [Canceld]


    [autoit]

    If $goffy or not $brain Then $DeleteInetCable

    [/autoit]
    • Offizieller Beitrag

    @jackunder: Meinst Du so:

    Spoiler anzeigen
    [autoit]


    Dim $aKaiserslauter[28][3]
    $aKaiserslauter[0][0] = "Knaller"
    $aKaiserslauter[1][0] = "Sippel"
    $aKaiserslauter[2][0] = "Trapp"
    $aKaiserslauter[3][0] = "Abel"
    $aKaiserslauter[4][0] = "Amedick"
    $aKaiserslauter[5][0] = "Bugera"
    $aKaiserslauter[6][0] = "Correia"
    $aKaiserslauter[7][0] = "Dick"
    $aKaiserslauter[8][0] = "Jessen"
    $aKaiserslauter[9][0] = "Petsos"
    $aKaiserslauter[10][0] = "Rodnei"
    $aKaiserslauter[11][0] = "Simunek"
    $aKaiserslauter[12][0] = "B. Schulz"
    $aKaiserslauter[13][0] = "Bilek"
    $aKaiserslauter[14][0] = "D. Fuchs"
    $aKaiserslauter[15][0] = "de Wit"
    $aKaiserslauter[16][0] = "Ilicevic"
    $aKaiserslauter[17][0] = "Kirch"
    $aKaiserslauter[18][0] = "Moravek"
    $aKaiserslauter[19][0] = "Rivic"
    $aKaiserslauter[20][0] = "Stulin"
    $aKaiserslauter[21][0] = "Tiffert"
    $aKaiserslauter[22][0] = "Walch"
    $aKaiserslauter[23][0] = "Amri"
    $aKaiserslauter[24][0] = "Hoffer"
    $aKaiserslauter[25][0] = "Lakic"
    $aKaiserslauter[26][0] = "Micanski"
    $aKaiserslauter[27][0] = "Nemec"
    Dim $aItems[28]

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

    Dim $aKaiserslauterpos[28][3]
    $aKaiserslauterpos[0][1] = "Tor"
    $aKaiserslauterpos[1][1] = "Tor"
    $aKaiserslauterpos[2][1] = "Tor"
    $aKaiserslauterpos[3][1] = "Abwehr"
    $aKaiserslauterpos[4][1] = "Abwehr"
    $aKaiserslauterpos[5][1] = "Abwehr"
    $aKaiserslauterpos[6][1] = "Abwehr"
    $aKaiserslauterpos[7][1] = "Abwehr"
    $aKaiserslauterpos[8][1] = "Abwehr"
    $aKaiserslauterpos[9][1] = "Abwehr"
    $aKaiserslauterpos[10][1] = "Abwehr"
    $aKaiserslauterpos[11][1] = "Abwehr"
    $aKaiserslauterpos[12][1] = "Mittelfeld"
    $aKaiserslauterpos[13][1] = "Mittelfeld"
    $aKaiserslauterpos[14][1] = "Mittelfeld"
    $aKaiserslauterpos[15][1] = "Mittelfeld"
    $aKaiserslauterpos[16][1] = "Mittelfeld"
    $aKaiserslauterpos[17][1] = "Mittelfeld"
    $aKaiserslauterpos[18][1] = "Mittelfeld"
    $aKaiserslauterpos[19][1] = "Mittelfeld"
    $aKaiserslauterpos[20][1] = "Mittelfeld"
    $aKaiserslauterpos[21][1] = "Mittelfeld"
    $aKaiserslauterpos[22][1] = "Mittelfeld"
    $aKaiserslauterpos[23][1] = "Sturm"
    $aKaiserslauterpos[24][1] = "Sturm"
    $aKaiserslauterpos[25][1] = "Sturm"
    $aKaiserslauterpos[26][1] = "Sturm"
    $aKaiserslauterpos[27][1] = "Sturm"
    Dim $aItems[28]

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

    Dim $aKaiserslauterbs[28][3]
    $aKaiserslauterbs[0][2] = "Computer"
    $aKaiserslauterbs[1][2] = "Computer"
    $aKaiserslauterbs[2][2] = "Computer"
    $aKaiserslauterbs[3][2] = "Computer"
    $aKaiserslauterbs[4][2] = "Computer"
    $aKaiserslauterbs[5][2] = "Computer"
    $aKaiserslauterbs[6][2] = "Computer"
    $aKaiserslauterbs[7][2] = "Computer"
    $aKaiserslauterbs[8][2] = "Computer"
    $aKaiserslauterbs[9][2] = "Computer"
    $aKaiserslauterbs[10][2] = "Computer"
    $aKaiserslauterbs[11][2] = "Computer"
    $aKaiserslauterbs[12][2] = "Computer"
    $aKaiserslauterbs[13][2] = "Computer"
    $aKaiserslauterbs[14][2] = "Computer"
    $aKaiserslauterbs[15][2] = "Computer"
    $aKaiserslauterbs[16][2] = "Computer"
    $aKaiserslauterbs[17][2] = "Computer"
    $aKaiserslauterbs[18][2] = "Computer"
    $aKaiserslauterbs[19][2] = "Computer"
    $aKaiserslauterbs[20][2] = "Computer"
    $aKaiserslauterbs[21][2] = "Computer"
    $aKaiserslauterbs[22][2] = "Computer"
    $aKaiserslauterbs[23][2] = "Computer"
    $aKaiserslauterbs[24][2] = "Computer"
    $aKaiserslauterbs[25][2] = "Computer"
    $aKaiserslauterbs[26][2] = "Computer"
    $aKaiserslauterbs[27][2] = "Computer"
    Dim $aItems[28]

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

    Dim $aKaiserslauterp[28][4]
    $aKaiserslauterp[0][3] = "0"
    $aKaiserslauterp[1][3] = "6"
    $aKaiserslauterp[2][3] = "0"
    $aKaiserslauterp[3][3] = "0"
    $aKaiserslauterp[4][3] = "2"
    $aKaiserslauterp[5][3] = "0"
    $aKaiserslauterp[6][3] = "0"
    $aKaiserslauterp[7][3] = "8"
    $aKaiserslauterp[8][3] = "-2"
    $aKaiserslauterp[9][3] = "0"
    $aKaiserslauterp[10][3] = "18"
    $aKaiserslauterp[11][3] = "0"
    $aKaiserslauterp[12][3] = "0"
    $aKaiserslauterp[13][3] = "8"
    $aKaiserslauterp[14][3] = "0"
    $aKaiserslauterp[15][3] = "0"
    $aKaiserslauterp[16][3] = "23"
    $aKaiserslauterp[17][3] = "-8"
    $aKaiserslauterp[18][3] = "4"
    $aKaiserslauterp[19][3] = "-2"
    $aKaiserslauterp[20][3] = "0"
    $aKaiserslauterp[21][3] = "16"
    $aKaiserslauterp[22][3] = "0"
    $aKaiserslauterp[23][3] = "-2"
    $aKaiserslauterp[24][3] = "16"
    $aKaiserslauterp[25][3] = "36"
    $aKaiserslauterp[26][3] = "-2"
    $aKaiserslauterp[27][3] = "0"
    Dim $aItems[28]

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

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>
    #include <File.au3>
    #include <Array.au3>

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

    Opt("TrayMenuMode", 1) ; Default tray menu items (Script Paused/Exit) will not be shown.
    #region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Comunio Plus (BETA) " & IniRead(@ScriptDir & '\version.ini', 'Allgemein', 'Version', ''), 809, 530, -1, -1)
    GUISetFont(8, 400, 0, "Verdana")
    GUISetBkColor(0x013300)
    $Button1 = GUICtrlCreateButton("1. FC Kaiserslauter", 4, 4, 131, 29, 0)
    $Button2 = GUICtrlCreateButton("1. FC Nürnberg", 4, 32, 131, 29, 0)
    $Button3 = GUICtrlCreateButton("1. FC Köln", 4, 60, 131, 29, 0)
    $Button4 = GUICtrlCreateButton("1. FSV Mainz 05", 4, 88, 131, 29, 0)
    $Button5 = GUICtrlCreateButton("Bayer 04 Leverkusen", 4, 116, 131, 29, 0)
    $Button6 = GUICtrlCreateButton("1899 Hoffenheim", 4, 144, 131, 29, 0)
    $Button7 = GUICtrlCreateButton("Eintracht Frankfurt", 4, 172, 131, 29, 0)
    $Button8 = GUICtrlCreateButton("Borussia M'gladbach", 4, 200, 131, 29, 0)
    $Button9 = GUICtrlCreateButton("Borussia Dortmund", 4, 228, 131, 29, 0)
    $Button10 = GUICtrlCreateButton("FC Bayern München", 4, 256, 131, 29, 0)
    $Button11 = GUICtrlCreateButton("FC St. Pauli", 4, 284, 131, 29, 0)
    $Button12 = GUICtrlCreateButton("FC Schalke 04", 4, 312, 131, 29, 0)
    $Button13 = GUICtrlCreateButton("Hamburger SV", 4, 340, 131, 29, 0)
    $Button14 = GUICtrlCreateButton("SC Freiburg", 4, 368, 131, 29, 0)
    $Button15 = GUICtrlCreateButton("Hannover 96", 4, 396, 131, 29, 0)
    $Button16 = GUICtrlCreateButton("SV Werder Bremen", 4, 424, 131, 29, 0)
    $Button17 = GUICtrlCreateButton("VfL Wolfsburg", 4, 452, 131, 29, 0)
    $Button18 = GUICtrlCreateButton("VfB Stuttgart", 4, 480, 131, 29, 0)
    $ListView1 = GUICtrlCreateListView("", 136, 4, 321, 505)
    _GUICtrlListView_InsertColumn($ListView1, 0, "Name", 100)
    _GUICtrlListView_InsertColumn($ListView1, 1, "Position", 100)
    _GUICtrlListView_InsertColumn($ListView1, 2, "Besitzer", 100)
    _GUICtrlListView_InsertColumn($ListView1, 3, "Punkte", 100)
    _GUICtrlListView_SetColumnWidth($ListView1, 0, 90)
    _GUICtrlListView_SetColumnWidth($ListView1, 1, 75)
    _GUICtrlListView_SetColumnWidth($ListView1, 2, 80)
    _GUICtrlListView_SetColumnWidth($ListView1, 3, 53)
    $Edit1 = GUICtrlCreateEdit("", 460, 52, 341, 421)
    GUICtrlSetData(-1, "Edit1")
    $Button19 = GUICtrlCreateButton("Ausgabe Löschen", 460, 476, 109, 33, 0)
    $Button20 = GUICtrlCreateButton("Meine Team", 568, 476, 109, 33, 0)
    $Button21 = GUICtrlCreateButton("Speichern", 676, 476, 103, 33, 0)
    $Menudatei = GUICtrlCreateMenu("Datei")
    $Menubeenden = GUICtrlCreateMenuItem("Beenden", $Menudatei)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE ; Exit
    $close = MsgBox(36, "Schließen", "Wollen Sie das Pogramm wirklich beenden?")
    If $close = 6 Then Exit
    Case $GUI_EVENT_PRIMARYUP
    $aInfo = GUIGetCursorInfo($Form1)
    If $aInfo[4] = $ListView1 Then
    $iItem = GUICtrlRead($ListView1)-$aItems[0]
    $sItemText = _GUICtrlListView_GetItemTextString($ListView1, $iItem) ; als Beispiel
    GUICtrlSetData($Edit1, $sItemText) ; als Beispiel
    EndIf

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

    Case $Button1 ; 1. FC Kaiserslauter
    For $i = 0 To 27
    $aItems[$i] = GUICtrlCreateListViewItem($aKaiserslauter[$i][0] & "|" & $aKaiserslauterpos[$i][1] & "|" & $aKaiserslauterbs[$i][2] & "|" & $aKaiserslauterp[$i][3], $ListView1)
    Next

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

    Case $Button2

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

    Case $Button3

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

    Case $Button4

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

    Case $Button5

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

    Case $Button6

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

    Case $Button7

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

    Case $Button8

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

    Case $Button9

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

    Case $Button10

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

    Case $Button11

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

    Case $Button12

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

    Case $Button13

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

    Case $Button14

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

    Case $Button15

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

    Case $Button16

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

    Case $Button17

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

    Case $Button18

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

    Case $Button19 ; Ausgabe Löschen
    _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView1))
    Case $Button20

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

    Case $Button21

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

    EndSwitch
    WEnd

    [/autoit]

    BTW: Die Daten der Mannschaften/Spieler solltest Du vielleicht in eine externe Datei auslagern und dann einlesen. Alles ins Skript zu schreiben ist doch viel aufwendiger und macht das Skript unübersichtlich.

  • hiho ,

    Danke so hätte ich es gerne , nur wie schaffe ich jetzt für jeden spieler was anderes anzuzeigen ?
    Das mit dem auslagern hab ich mir schon gedacht ,wenn alle mannschaften drin sind wird es schon unübersichtlich
    Und da stellt dich wieder ein frage wie ich dies machen hab in der hilfe dazu nicht gefunden oder ich suche verkehrt.

    Gruß jack

  • Hatte gerade langeweile, deshalb hab ich dir ein Schema erstellt wie man es lösen könnte.
    Die ini dateien hab ich natürlich nicht vollständig ausgefüllt weil ich keine Lust hab für alle Teams die Spieler rauszusuchen ^^
    Die Arbeit überlass ich dir ;)

    Ansonsten hier die 3 dateien: autoit.de/wcf/attachment/11375/

    Für alle zum ansehen:

    Clubs.ini

    [1. FC Kaiserslauter]
    0=Knaller|Tor|Computer|0
    1=Sippel|Tor|Computer|6
    2=Trapp|Tor|Computer|0
    3=Abel|Abwehr|Computer|0
    4=Amedick|Abwehr|Computer|2
    5=Bugera|Abwehr|Computer|0
    6=Correia|Abwehr|Computer|0
    7=Dick|Abwehr|Computer|8
    8=Jessen|Abwehr|Computer|-2
    9=Petsos|Abwehr|Computer|0
    10=Rodnei|Abwehr|Computer|18
    11=Simunek|Abwehr|Computer|0
    12=B. Schulz|Mittelfeld|Computer|0
    13=Bilek|Mittelfeld|Computer|8
    14=D. Fuchs|Mittelfeld|Computer|0
    15=de Wit|Mittelfeld|Computer|0
    16=Ilicevic|Mittelfeld|Computer|23
    17=Kirch|Mittelfeld|Computer|-8
    18=Moravek|Mittelfeld|Computer|4
    19=Rivic|Mittelfeld|Computer|-2
    20=Stulin|Mittelfeld|Computer|0
    21=Tiffert|Mittelfeld|Computer|16
    22=Walch|Mittelfeld|Computer|0
    23=Amri|Sturm|Computer|-2
    24=Hoffer|Sturm|Computer|16
    25=Lakic|Sturm|Computer|36
    26=Micanski|Sturm|Computer|-2
    27=Nemec|Sturm|Computer|0
    [1. FC Nürnberg]
    [1. FC Köln]
    [1. FSV Mainz 05]
    [Bayer 04 Leverkusen]
    [1899 Hoffenheim]
    [Eintracht Frankfurt]
    [Borussia M'gladbach]
    [Borussia Dortmund]
    [FC Bayern München]
    [FC St. Pauli]
    [FC Schalke 04]
    [Hamburger SV]
    [SC Freiburg]
    [Hannover 96]
    [SV Werder Bremen]
    [VfL Wolfsburg]
    [VfB Stuttgart]

    Spieler.ini


    [Spielertext]
    Knaller=Der Text von Knaller
    Sippel=Auch Sippel Hat nen Text
    Trapp=Trapp genauso

    Das Script
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>
    Opt("TrayMenuMode", 1) ; Default tray menu items (Script Paused/Exit) will not be shown.

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

    $aClubs = IniReadSectionNames(@ScriptDir & "\Clubs.ini")
    Dim $aButtons[$aClubs[0]]
    Dim $aClubAktuell[1][1]

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

    $Form1 = GUICreate("Comunio Plus (BETA) " & IniRead(@ScriptDir & '\version.ini', 'Allgemein', 'Version', ''), 809, 530, -1, -1)
    GUISetFont(8, 400, 0, "Verdana")
    GUISetBkColor(0x013300)
    For $i = 0 To $aClubs[0]-1
    $aButtons[$i] = GUICtrlCreateButton($aClubs[$i+1], 4, 4+$i*28, 131, 29, 0)
    Next
    $ListView1 = GUICtrlCreateListView("", 136, 4, 321, 505)
    _GUICtrlListView_InsertColumn($ListView1, 0, "Name", 100)
    _GUICtrlListView_InsertColumn($ListView1, 1, "Position", 100)
    _GUICtrlListView_InsertColumn($ListView1, 2, "Besitzer", 100)
    _GUICtrlListView_InsertColumn($ListView1, 3, "Punkte", 100)
    _GUICtrlListView_SetColumnWidth($ListView1, 0, 90)
    _GUICtrlListView_SetColumnWidth($ListView1, 1, 75)
    _GUICtrlListView_SetColumnWidth($ListView1, 2, 80)
    _GUICtrlListView_SetColumnWidth($ListView1, 3, 53)
    $Edit1 = GUICtrlCreateEdit("", 460, 52, 341, 421)
    $Button19 = GUICtrlCreateButton("Ausgabe Löschen", 460, 476, 109, 33, 0)
    $Button20 = GUICtrlCreateButton("Meine Team", 568, 476, 109, 33, 0)
    $Button21 = GUICtrlCreateButton("Speichern", 676, 476, 103, 33, 0)
    $Menudatei = GUICtrlCreateMenu("Datei")
    $Menubeenden = GUICtrlCreateMenuItem("Beenden", $Menudatei)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE ; Exit
    $close = MsgBox(36, "Schließen", "Wollen Sie das Pogramm wirklich beenden?")
    If $close = 6 Then Exit
    Case $GUI_EVENT_PRIMARYUP
    $aInfo = GUIGetCursorInfo($Form1)
    If $aInfo[4] = $ListView1 Then
    $sItem = GUICtrlRead(GUICtrlRead($ListView1))
    If $sItem Then
    $sSpieler = StringLeft($sItem, StringInStr($sItem, "|") - 1 )
    $sSpielertext = IniRead(@ScriptDir & "\Spieler.ini", "Spielertext", $sSpieler, "Kein Text vorhanden")
    GUICtrlSetData($Edit1, $sSpielertext)
    EndIf
    EndIf
    Case $aButtons[0] To $aButtons[UBound($aButtons)-1]
    _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView1))
    $iClubId = $nMsg - $aButtons[0] + 1
    $aClubAktuell = IniReadSection(@ScriptDir & "\Clubs.ini", $aClubs[$iClubId])
    If IsArray($aClubAktuell) Then
    For $i = 1 To $aClubAktuell[0][0]
    $aClubAktuell[$i][0] = GUICtrlCreateListViewItem($aClubAktuell[$i][1], $ListView1)
    Next
    EndIf
    EndSwitch
    WEnd

    [/autoit]
  • Hiho ,

    Das ist ja mal der knaller weiß garnicht was ich sagen soll ^^
    ausser ein fettes danke schön.

    Edit : kleine frage noch ich hätte gerne das edit1 weg und dafür ein listview
    da ich bei der Spieler.ini immer nur ein zeile für jeden spieler verwenden kann ist das etwas ungünstig.

    [autoit]

    $ListView2 = GUICtrlCreateListView("", 460, 52, 341, 421)
    _GUICtrlListView_InsertColumn($ListView2, 0, "Spieltag", 100)
    _GUICtrlListView_InsertColumn($ListView2, 1, "Punkte", 100)
    _GUICtrlListView_InsertColumn($ListView2, 2, "Tore", 100)
    _GUICtrlListView_InsertColumn($ListView2, 3, "Karten", 100)
    _GUICtrlListView_SetColumnWidth($ListView2, 0, 90)
    _GUICtrlListView_SetColumnWidth($ListView2, 1, 75)
    _GUICtrlListView_SetColumnWidth($ListView2, 2, 80)
    _GUICtrlListView_SetColumnWidth($ListView2, 3, 53)

    [/autoit]


    Spieler.ini

    gruß jack

    Einmal editiert, zuletzt von jackunder (30. September 2010 um 16:08)

  • Alles kein Problem:

    Wobei ich dazusagen muss dass der Quellcode nicht perfekt ist.
    Ist eher auf die schnelle gemacht. Kann gut sein dass sich manche Sachen noch verbessern lassen

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>
    Opt("TrayMenuMode", 1) ; Default tray menu items (Script Paused/Exit) will not be shown.

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

    $aClubs = IniReadSectionNames(@ScriptDir & "\Clubs.ini")
    Dim $aButtons[$aClubs[0]]
    Dim $aClubAktuell[1][1]

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

    $Form1 = GUICreate("Comunio Plus (BETA) " & IniRead(@ScriptDir & '\version.ini', 'Allgemein', 'Version', ''), 809, 530, -1, -1)
    GUISetFont(8, 400, 0, "Verdana")
    GUISetBkColor(0x013300)
    For $i = 0 To $aClubs[0]-1
    $aButtons[$i] = GUICtrlCreateButton($aClubs[$i+1], 4, 4+$i*28, 131, 29, 0)
    Next
    $ListView1 = GUICtrlCreateListView("", 136, 4, 321, 505)
    _GUICtrlListView_InsertColumn($ListView1, 0, "Name", 90); _GUICtrlListView_SetColumnWidth brauchst du nicht weil du hier auch die breite angeben kannst ;->)
    _GUICtrlListView_InsertColumn($ListView1, 1, "Position", 70)
    _GUICtrlListView_InsertColumn($ListView1, 2, "Besitzer", 90)
    _GUICtrlListView_InsertColumn($ListView1, 3, "Punkte", 58)
    $ListView2 = GUICtrlCreateListView("", 460, 52, 345, 420)
    _GUICtrlListView_InsertColumn($ListView2, 0, "Spalte 1", 75)
    _GUICtrlListView_InsertColumn($ListView2, 1, "Spalte 2", 75)
    _GUICtrlListView_InsertColumn($ListView2, 2, "Spalte 3", 75)
    _GUICtrlListView_InsertColumn($ListView2, 3, "Spalte 4", 95)
    $Button19 = GUICtrlCreateButton("Ausgabe Löschen", 460, 476, 109, 33, 0)
    $Button20 = GUICtrlCreateButton("Meine Team", 568, 476, 109, 33, 0)
    $Button21 = GUICtrlCreateButton("Speichern", 676, 476, 103, 33, 0)
    $Menudatei = GUICtrlCreateMenu("Datei")
    $Menubeenden = GUICtrlCreateMenuItem("Beenden", $Menudatei)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE, $Menubeenden ; Exit
    $close = MsgBox(36, "Schließen", "Wollen Sie das Pogramm wirklich beenden?")
    If $close = 6 Then Exit
    Case $GUI_EVENT_PRIMARYUP
    $aInfo = GUIGetCursorInfo($Form1)
    If $aInfo[4] = $ListView1 Then
    $sItem = GUICtrlRead(GUICtrlRead($ListView1))
    If $sItem Then
    _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView2))
    $sSpieler = StringLeft($sItem, StringInStr($sItem, "|") - 1 )
    $sSpielerInfo = IniReadSection(@ScriptDir & "\Spieler.ini", $sSpieler)
    If IsArray($sSpielerInfo) Then
    For $i = 1 To $sSpielerInfo[0][0]
    GUICtrlCreateListViewItem($sSpielerInfo[$i][1], $ListView2)
    Next
    EndIf
    EndIf
    EndIf
    Case $aButtons[0] To $aButtons[UBound($aButtons)-1]
    _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView1))
    $iClubId = $nMsg - $aButtons[0] + 1
    $aClubAktuell = IniReadSection(@ScriptDir & "\Clubs.ini", $aClubs[$iClubId])
    If IsArray($aClubAktuell) Then
    For $i = 1 To $aClubAktuell[0][0]
    $aClubAktuell[$i][0] = GUICtrlCreateListViewItem($aClubAktuell[$i][1], $ListView1)
    Next
    EndIf
    EndSwitch
    WEnd

    [/autoit]