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. Derpy Hooves

Beiträge von Derpy Hooves

  • Script wirft Probleme mit MessageLoop und mit OnEvent Modus auf

    • Derpy Hooves
    • 17. Januar 2010 um 00:05

    sorry für dopo aber damit das keiner übersieht neues Problem:
    wenn das erste ListView Item markiert ist und man macht rechtsklick auf nen anderes dann gibt er mit _GUICtrlTreeView_GetSelection trotzdem die ID dessen aus, welches markiert war... wie kann ich machen dass bei rechtsklick auch dieses ListVIew Item direkt markiert wird

  • Script wirft Probleme mit MessageLoop und mit OnEvent Modus auf

    • Derpy Hooves
    • 16. Januar 2010 um 23:40

    argh verdammt danke.... der befehl war ja wieder anders xD

  • Script wirft Probleme mit MessageLoop und mit OnEvent Modus auf

    • Derpy Hooves
    • 16. Januar 2010 um 23:21

    Kann mir ma bitte einer sagen warum das so jetz nich klappt? also das is jetz im OnEvent Modus... das $GUI_EVENT_CLOSE klappt soweit auch aber warum klappen die MenuItems nicht? wenn ich das so ausführe kommt dabei keine MsgBox im fRename und fDetails...

    Spoiler anzeigen
    [autoit]

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

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

    AutoIt Version: 3.3.2.0
    Author: Karill Endusa

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

    Script Function:
    Kundendatenbank für kleine bis mittelgroße Geschäfte.

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

    #ce ----------------------------------------------------------------------------

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

    ; Script Start - Add your code below here

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

    ;[includes]
    #include <GuiStatusBar.au3>
    #include <GUIConstantsEx.au3>
    #include <TreeViewConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiTreeView.au3>

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

    Opt("GUIOnEventMode", 1)

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

    ;----------------------------------------Variables-------------------------Start
    ;=> Globale Deklarationen verschoben in die For Schleifen der entsprechenden Abschnitte (ListView, LVMenu)
    ;----------------------------------------Variables---------------------------End

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

    ;----------------------------------------GUI-------------------------------Start
    $GUI_mainWindow = GUICreate("Kundendatenbank", 1000, 750, -1, -1)
    GUISetOnEvent($GUI_EVENT_CLOSE, "fClose")

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

    ;------Ini-------Start
    If FileExists(@ScriptDir&"\kudaba\") = 0 Then
    DirCreate(@ScriptDir&"\kudaba\")
    EndIf
    If FileExists(@ScriptDir&"\kudaba\structure.ini") = 0 Then
    IniWrite(@ScriptDir&"\kudaba\structure.ini", "Ordnernamen", "Ordner1", "Ordner1")
    IniWrite(@ScriptDir&"\kudaba\structure.ini", "Ordnernamen", "Ordner2", "Ordner2")
    IniWrite(@ScriptDir&"\kudaba\structure.ini", "Ordnernamen", "Ordner3", "Ordner3")
    IniWrite(@ScriptDir&"\kudaba\structure.ini", "Ordnerorder", "Ordner1", "1")
    IniWrite(@ScriptDir&"\kudaba\structure.ini", "Ordnerorder", "Ordner2", "2")
    IniWrite(@ScriptDir&"\kudaba\structure.ini", "Ordnerorder", "Ordner3", "3")
    EndIf
    ;------Ini---------End

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

    ;------Menu------Start
    $M_datei = GUICtrlCreateMenu("Datei")
    $MI_beenden = GUICtrlCreateMenuItem("Beenden", $M_datei)
    ;------Menu--------End

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

    ;-----ListView---Start
    GUICtrlCreateGroup("Kunden", 5, 0, 160, 330)
    $TreeView = GUICtrlCreateTreeView(10, 20, 150, 300, BitOR($TVS_HASBUTTONS,$TVS_HASLINES,$TVS_LINESATROOT,$TVS_DISABLEDRAGDROP,$TVS_SHOWSELALWAYS,$WS_GROUP,$WS_TABSTOP,$WS_HSCROLL,$WS_VSCROLL,$WS_BORDER))
    Global $IRS_structure_ONamen = IniReadSection(@ScriptDir&"\kudaba\structure.ini", "Ordnernamen")
    Global $TV_O[$IRS_structure_ONamen[0][0]]
    Global $CM_TV_O[$IRS_structure_ONamen[0][0]]
    For $i = 0 To $IRS_structure_ONamen[0][0]-1
    $TV_O[$i] = GUICtrlCreateTreeViewItem($IRS_structure_ONamen[$i+1][1], $TreeView)
    If FileExists(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini") = 0 Then
    IniWrite(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde1", "Name", "Mustermann")
    IniWrite(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde1", "Forename", "Max")
    IniWrite(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde1", "StreetAndNumber", "Weißwurststraße 1337")
    IniWrite(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde1", "PLZ", "99999")
    IniWrite(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde1", "Ort", "Musterhausen")
    IniWrite(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde1", "Tel", "12345/6788")
    IniWrite(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde1", "Fax", "12345/6789")
    EndIf
    Global $IRS_KundenO = IniReadSectionNames(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini")
    Global $TV_K[$IRS_structure_ONamen[0][0]][$IRS_KundenO[0]]
    Global $CM_TV_K[$IRS_structure_ONamen[0][0]][$IRS_KundenO[0]]
    Global $CM_TV_K_details[$IRS_structure_ONamen[0][0]][$IRS_KundenO[0]]
    For $x = 0 To $IRS_KundenO[0]-1
    IniReadSection(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde"&$x+1)
    $name = IniRead(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde"&$x+1, "Name", "not found")
    $forename = IniRead(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde"&$x+1, "Forename", "not found")
    $TV_K[$i][$x] = GUICtrlCreateTreeViewItem($name&", "&$forename, $TV_O[$i])
    ;-----LVMenu-----Start
    $CM_TV_K[$i][$x] = GUICtrlCreateContextMenu($TV_K[$i][$x])
    $CM_TV_K_details = GUICtrlCreateMenuItem("Detailansicht", $CM_TV_K[$i][$x])
    GUISetOnEvent(-1, "fDetails")
    ;-----LVMenu-------End
    Next
    Next
    ;-----ListView-----End

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

    ;-----LVMenu-----Start
    Global $CM_TV_O_rename[$IRS_structure_ONamen[0][0]]
    For $i = 0 To $IRS_structure_ONamen[0][0]-1
    $CM_TV_O[$i] = GUICtrlCreateContextMenu($TV_O[$i])
    $CM_TV_O_rename = GUICtrlCreateMenuItem("Umbenennen", $CM_TV_O[$i])
    GUISetOnEvent(-1, "fRename")
    Next
    ;-----LVMenu-------End

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

    ;-----StatusBar--Start
    $StatusBar1 = _GUICtrlStatusBar_Create($GUI_mainWindow)
    _GUICtrlStatusBar_SetSimple($StatusBar1)
    _GUICtrlStatusBar_SetText($StatusBar1, "Kundendatenbank Version 1.0.0 (by Martin Bucher)")
    _GUICtrlStatusBar_SetMinHeight($StatusBar1, 20)
    ;-----StatusBar----End

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

    GUISetState(@SW_SHOW, $GUI_mainWindow)

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

    ;//TODO
    $GUI_detailWindow = GUICreate("Detailansicht", 750, 500, -1, -1)
    GUISetState(@SW_HIDE, $GUI_detailWindow)

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

    GUISwitch($GUI_mainWindow)
    ;----------------------------------------GUI---------------------------------End

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

    ;----------------------------------------Script----------------------------Start
    While 1 * Sleep(10)
    Sleep(100)
    WEnd
    ;----------------------------------------Script------------------------------End

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

    ;----------------------------------------Functions-------------------------Start
    Func fClose()
    Exit
    EndFunc

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

    Func fRename()
    ;~ $test = _GUICtrlTreeView_GetSelection($TreeView)
    MsgBox(0, "", "Again it works!")
    EndFunc

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

    Func fDetails()
    ;~ $test = _GUICtrlTreeView_GetSelection($TreeView)
    MsgBox(0, "", "Again it works too!")
    EndFunc
    ;----------------------------------------Functions---------------------------End

    [/autoit]
    [autoit]

    $M_datei = GUICtrlCreateMenu("Datei")
    $MI_beenden = GUICtrlCreateMenuItem("Beenden", $M_datei)
    GUISetOnEvent($MI_beenden, "fClose")

    [/autoit]


    selbst das will einfach nich

  • Script wirft Probleme mit MessageLoop und mit OnEvent Modus auf

    • Derpy Hooves
    • 16. Januar 2010 um 21:55

    mein Problem mit dem rename wurde gelöst... leider funktioniert das auf diese art nicht für die details deswegen wollte ich das jetz im OnEvent mode machen

  • Script wirft Probleme mit MessageLoop und mit OnEvent Modus auf

    • Derpy Hooves
    • 16. Januar 2010 um 21:32

    Mein Script im MessageLoop Modus

    Spoiler anzeigen
    [autoit]

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

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

    AutoIt Version: 3.3.2.0
    Author: Karill Endusa

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

    Script Function:
    Kundendatenbank für kleine bis mittelgroße Geschäfte.

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

    #ce ----------------------------------------------------------------------------

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

    ; Script Start - Add your code below here

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

    ;[includes]
    #include <GuiStatusBar.au3>
    #include <GUIConstantsEx.au3>
    #include <TreeViewConstants.au3>
    #include <WindowsConstants.au3>
    #include <SQLite.au3>

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

    ;----------------------------------------Variables-------------------------Start
    ;=> Globale Deklarationen verschoben in die For Schleifen der entsprechenden Abschnitte (ListView, LVMenu)
    ;----------------------------------------Variables---------------------------End

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

    ;----------------------------------------GUI-------------------------------Start
    $GUI_mainWindow = GUICreate("Kundendatenbank", 1000, 750, -1, -1)

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

    ;------Ini-------Start
    If FileExists(@ScriptDir&"\kudaba\") = 0 Then
    DirCreate(@ScriptDir&"\kudaba\")
    EndIf
    If FileExists(@ScriptDir&"\kudaba\structure.ini") = 0 Then
    IniWrite(@ScriptDir&"\kudaba\structure.ini", "Ordnernamen", "Ordner1", "Ordner1")
    IniWrite(@ScriptDir&"\kudaba\structure.ini", "Ordnernamen", "Ordner2", "Ordner2")
    IniWrite(@ScriptDir&"\kudaba\structure.ini", "Ordnernamen", "Ordner3", "Ordner3")
    IniWrite(@ScriptDir&"\kudaba\structure.ini", "Ordnerorder", "Ordner1", "1")
    IniWrite(@ScriptDir&"\kudaba\structure.ini", "Ordnerorder", "Ordner2", "2")
    IniWrite(@ScriptDir&"\kudaba\structure.ini", "Ordnerorder", "Ordner3", "3")
    EndIf
    ;------Ini---------End

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

    ;------Menu------Start
    $M_datei = GUICtrlCreateMenu("Datei")
    $MI_beenden = GUICtrlCreateMenuItem("Beenden", $M_datei)
    ;------Menu--------End

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

    ;-----ListView---Start
    GUICtrlCreateGroup("Kunden", 5, 0, 160, 330)
    $TreeView = GUICtrlCreateTreeView(10, 20, 150, 300, BitOR($TVS_HASBUTTONS,$TVS_HASLINES,$TVS_LINESATROOT,$TVS_DISABLEDRAGDROP,$TVS_SHOWSELALWAYS,$WS_GROUP,$WS_TABSTOP,$WS_HSCROLL,$WS_VSCROLL,$WS_BORDER))
    Global $IRS_structure_ONamen = IniReadSection(@ScriptDir&"\kudaba\structure.ini", "Ordnernamen")
    Global $TV_O[$IRS_structure_ONamen[0][0]]
    Global $CM_TV_O[$IRS_structure_ONamen[0][0]]
    For $i = 0 To $IRS_structure_ONamen[0][0]-1
    $TV_O[$i] = GUICtrlCreateTreeViewItem($IRS_structure_ONamen[$i+1][1], $TreeView)
    If FileExists(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini") = 0 Then
    IniWrite(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde1", "Name", "Mustermann")
    IniWrite(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde1", "Forename", "Max")
    IniWrite(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde1", "StreetAndNumber", "Weißwurststraße 1337")
    IniWrite(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde1", "PLZ", "99999")
    IniWrite(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde1", "Ort", "Musterhausen")
    IniWrite(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde1", "Tel", "12345/6788")
    IniWrite(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde1", "Fax", "12345/6789")
    EndIf
    Global $IRS_KundenO = IniReadSectionNames(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini")
    Global $TV_K[$IRS_structure_ONamen[0][0]][$IRS_KundenO[0]]
    Global $CM_TV_K[$IRS_structure_ONamen[0][0]][$IRS_KundenO[0]]
    Global $CM_TV_K_details[$IRS_structure_ONamen[0][0]][$IRS_KundenO[0]]
    For $x = 0 To $IRS_KundenO[0]-1
    IniReadSection(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde"&$x+1)
    $name = IniRead(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde"&$x+1, "Name", "not found")
    $forename = IniRead(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde"&$x+1, "Forename", "not found")
    $TV_K[$i][$x] = GUICtrlCreateTreeViewItem($name&", "&$forename, $TV_O[$i])
    ;-----LVMenu-----Start
    $CM_TV_K[$i][$x] = GUICtrlCreateContextMenu($TV_K[$i][$x])
    $CM_TV_K_details = GUICtrlCreateMenuItem("Detailansicht", $CM_TV_K[$i][$x])
    ;-----LVMenu-------End
    Next
    Next
    ;-----ListView-----End

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

    ;-----LVMenu-----Start
    Global $CM_TV_O_rename[$IRS_structure_ONamen[0][0]]
    For $i = 0 To $IRS_structure_ONamen[0][0]-1
    $CM_TV_O[$i] = GUICtrlCreateContextMenu($TV_O[$i])
    $CM_TV_O_rename[$i] = GUICtrlCreateMenuItem("Umbenennen", $CM_TV_O[$i])
    Next
    ;-----LVMenu-------End

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

    ;-----StatusBar--Start
    $StatusBar1 = _GUICtrlStatusBar_Create($GUI_mainWindow)
    _GUICtrlStatusBar_SetSimple($StatusBar1)
    _GUICtrlStatusBar_SetText($StatusBar1, "Kundendatenbank Version 1.0.0 (by Martin Bucher)")
    _GUICtrlStatusBar_SetMinHeight($StatusBar1, 20)
    ;-----StatusBar----End

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

    GUISetState(@SW_SHOW, $GUI_mainWindow)

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

    ;//TODO
    $GUI_detailWindow = GUICreate("Detailansicht", 750, 500, -1, -1)
    GUISetState(@SW_HIDE, $GUI_detailWindow)
    ;----------------------------------------GUI---------------------------------End

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

    ;----------------------------------------Script----------------------------Start
    While 1 * Sleep(10)
    $nMsg = GUIGetMsg(1)
    Switch $nMsg[0]
    Case $GUI_EVENT_CLOSE
    If $nMsg[1] = $GUI_mainWindow Then
    Exit
    ElseIf $nMsg[1] = $GUI_detailWindow Then
    GUISetState(@SW_HIDE, $GUI_detailWindow)
    EndIf
    Case $MI_beenden
    Exit
    Case $CM_TV_O_rename[0] To $CM_TV_O_rename[$IRS_structure_ONamen[0][0]-1]
    MsgBox(0, "", "Case works!");[TODO]
    EndSwitch
    WEnd
    ;----------------------------------------Script------------------------------End

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

    ;----------------------------------------Functions-------------------------Start

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

    ;----------------------------------------Functions---------------------------End

    [/autoit]


    hier ist das Problem dass ich das, was ich für $CM_TV_O_rename gemacht habe nicht für $CM_TV_K_details hinbekomme

    wenn ich das ganze in den OnEvent Mode umschreibe habe ich aber nich die Variablen $i und $x der arrays die müsste ich irgendwie weitergeben können an eine funktion

  • Prob mit Switch Cases zu MenuItems im ContextMenu - dynamisch

    • Derpy Hooves
    • 15. Januar 2010 um 15:54

    ah danke leude so klappts danke sehr^^

  • Prob mit Switch Cases zu MenuItems im ContextMenu - dynamisch

    • Derpy Hooves
    • 15. Januar 2010 um 15:31

    damn danke ich hab gar nich dran gedacht dass man das ja in ID's umdenken muss... da haste natürlich recht ich dachte er springt da nur auf die variablen an xD

  • Prob mit Switch Cases zu MenuItems im ContextMenu - dynamisch

    • Derpy Hooves
    • 15. Januar 2010 um 14:53
    Spoiler anzeigen
    [autoit]

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

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

    AutoIt Version: 3.3.2.0
    Author: Karill Endusa

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

    Script Function:
    Kundendatenbank für kleine bis mittelgroße Geschäfte.

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

    #ce ----------------------------------------------------------------------------

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

    ; Script Start - Add your code below here

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

    ;[includes]
    #include <GuiStatusBar.au3>
    #include <GUIConstantsEx.au3>
    #include <TreeViewConstants.au3>
    #include <WindowsConstants.au3>
    #include <SQLite.au3>

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

    ;----------------------------------------Variables-------------------------Start
    ;=> Globale Deklarationen verschoben in die For Schleifen der entsprechenden Abschnitte (ListView, LVMenu)
    ;----------------------------------------Variables---------------------------End

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

    ;----------------------------------------GUI-------------------------------Start
    $GUI_mainWindow = GUICreate("Kundendatenbank", 1000, 750, -1, -1)

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

    ;------Ini-------Start
    If FileExists(@ScriptDir&"\kudaba\") = 0 Then
    DirCreate(@ScriptDir&"\kudaba\")
    EndIf
    If FileExists(@ScriptDir&"\kudaba\structure.ini") = 0 Then
    IniWrite(@ScriptDir&"\kudaba\structure.ini", "Ordnernamen", "Ordner1", "Ordner1")
    IniWrite(@ScriptDir&"\kudaba\structure.ini", "Ordnernamen", "Ordner2", "Ordner2")
    IniWrite(@ScriptDir&"\kudaba\structure.ini", "Ordnernamen", "Ordner3", "Ordner3")
    IniWrite(@ScriptDir&"\kudaba\structure.ini", "Ordnerorder", "Ordner1", "1")
    IniWrite(@ScriptDir&"\kudaba\structure.ini", "Ordnerorder", "Ordner2", "2")
    IniWrite(@ScriptDir&"\kudaba\structure.ini", "Ordnerorder", "Ordner3", "3")
    EndIf
    ;------Ini---------End

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

    ;------Menu------Start
    $M_datei = GUICtrlCreateMenu("Datei")
    $MI_beenden = GUICtrlCreateMenuItem("Beenden", $M_datei)
    ;------Menu--------End

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

    ;-----ListView---Start
    GUICtrlCreateGroup("Kunden", 5, 0, 160, 330)
    $TreeView = GUICtrlCreateTreeView(10, 20, 150, 300, BitOR($TVS_HASBUTTONS,$TVS_HASLINES,$TVS_LINESATROOT,$TVS_DISABLEDRAGDROP,$TVS_SHOWSELALWAYS,$WS_GROUP,$WS_TABSTOP,$WS_HSCROLL,$WS_VSCROLL,$WS_BORDER))
    Global $IRS_structure_ONamen = IniReadSection(@ScriptDir&"\kudaba\structure.ini", "Ordnernamen")
    Global $TV_O[$IRS_structure_ONamen[0][0]]
    Global $CM_TV_O[$IRS_structure_ONamen[0][0]]
    Global $CM_TV_O_rename[$IRS_structure_ONamen[0][0]]
    For $i = 0 To $IRS_structure_ONamen[0][0]-1
    $TV_O[$i] = GUICtrlCreateTreeViewItem($IRS_structure_ONamen[$i+1][1], $TreeView)
    $CM_TV_O[$i] = GUICtrlCreateContextMenu($TV_O[$i])
    $CM_TV_O_rename[$i] = GUICtrlCreateMenuItem("Umbenennen", $CM_TV_O[$i])
    If FileExists(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini") = 0 Then
    IniWrite(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde1", "Name", "Mustermann")
    IniWrite(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde1", "Forename", "Max")
    IniWrite(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde1", "StreetAndNumber", "Weißwurststraße 1337")
    IniWrite(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde1", "PLZ", "99999")
    IniWrite(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde1", "Ort", "Musterhausen")
    IniWrite(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde1", "Tel", "12345/6788")
    IniWrite(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde1", "Fax", "12345/6789")
    EndIf
    Global $IRS_KundenO = IniReadSectionNames(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini")
    Global $TV_K[$IRS_structure_ONamen[0][0]][$IRS_KundenO[0]]
    Global $CM_TV_K[$IRS_structure_ONamen[0][0]][$IRS_KundenO[0]]
    Global $CM_TV_K_details[$IRS_structure_ONamen[0][0]][$IRS_KundenO[0]]
    For $x = 0 To $IRS_KundenO[0]-1
    IniReadSection(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde"&$x+1)
    $name = IniRead(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde"&$x+1, "Name", "not found")
    $forename = IniRead(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde"&$x+1, "Forename", "not found")
    $TV_K[$i][$x] = GUICtrlCreateTreeViewItem($name&", "&$forename, $TV_O[$i])
    ;-----LVMenu-----Start
    $CM_TV_K[$i][$x] = GUICtrlCreateContextMenu($TV_K[$i][$x])
    $CM_TV_K_details[$i][$x] = GUICtrlCreateMenuItem("Detailansicht", $CM_TV_K[$i][$x])
    ;-----LVMenu-------End
    Next
    Next
    ;-----ListView-----End

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

    ;-----LVMenu-----Start
    ;=> Verschoben in die 2. For Schleife des ListView Bereichs
    ;-----LVMenu-------End

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

    ;-----StatusBar--Start
    $StatusBar1 = _GUICtrlStatusBar_Create($GUI_mainWindow)
    _GUICtrlStatusBar_SetSimple($StatusBar1)
    _GUICtrlStatusBar_SetText($StatusBar1, "Kundendatenbank Version 1.0.0 (by Martin Bucher)")
    _GUICtrlStatusBar_SetMinHeight($StatusBar1, 20)
    ;-----StatusBar----End

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

    GUISetState(@SW_SHOW, $GUI_mainWindow)

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

    ;//TODO
    $GUI_detailWindow = GUICreate("Detailansicht", 750, 500, -1, -1)
    GUISetState(@SW_HIDE, $GUI_detailWindow)
    ;----------------------------------------GUI---------------------------------End

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

    ;----------------------------------------Script----------------------------Start
    While 1 * Sleep(10)
    $nMsg = GUIGetMsg(1)
    Switch $nMsg[0]
    Case $GUI_EVENT_CLOSE
    If $nMsg[1] = $GUI_mainWindow Then
    Exit
    ElseIf $nMsg[1] = $GUI_detailWindow Then
    GUISetState(@SW_HIDE, $GUI_detailWindow)
    EndIf
    Case $MI_beenden
    Exit
    Case $CM_TV_O_rename[0] To $CM_TV_O_rename[2]
    MsgBox(0, "", "Case works!");[TODO]
    EndSwitch
    WEnd
    ;----------------------------------------Script------------------------------End

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

    ;----------------------------------------Functions-------------------------Start

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

    ;----------------------------------------Functions---------------------------End

    [/autoit]

    Mein Problem is im Switch
    im Case $CM_TV_O_rename[0] To $CM_TV_O_rename[2]
    also an sich klappt das... nur wenn ich auf alle TreeView Items zwischen denen wo das Menü dazu da is klicke kommt immer die MsgBox und das nervt einfach
    Die nachricht soll nur kommen wenn ich auf den menuitem klicke...
    so wie es jetz aussieht könnte man auch einfach jeden case einzeln abfragen aber eigentlich siehts auch anders aus:
    Case $CM_TV_O_rename[0] To $CM_TV_O_rename[$IRS_structure_ONamen[0][0]-1]
    heisst die ausgabe is dynamisch und ich glaube kaum dass ich cases vom switch in ne for schleife packen kann oder? 8|

  • Prob mit Array in einer For-Schleife und GUIGetMsg()

    • Derpy Hooves
    • 12. Januar 2010 um 22:06

    ich werds mir morgen genauer durchlesen und melde mich dann noch ma,... bin ersma pennen und danke ersma an alle helfer^^

  • Prob mit Array in einer For-Schleife und GUIGetMsg()

    • Derpy Hooves
    • 12. Januar 2010 um 21:40

    die ID des controls ist bekannt aber aus einer SQLite Datenbank in einer For schleife ausgelesen
    (zum beispiel habe ich 12 user in ordner 0, 16 in ordner 1 und 2 User in Ordner 2)
    was ich brauche ist dann zum beispiel bei einem doppelklick auf User 7 in Ordner 1 dass ich dann zum beispiel ne messagebox erhalte mit dem Inhalt "User Nr. 7 in Ordner Nr. 1 ausgewählt"

    Es können jederzeit neue User und Ordner dazukommen durch Speichern in der Datenbank also wird diese relativ dynamisch ausgelesen

  • Prob mit Array in einer For-Schleife und GUIGetMsg()

    • Derpy Hooves
    • 12. Januar 2010 um 21:28

    an sich ein Lösungsweg ja... hätte wohl aber dazuschreiben sollen dass ich ehrlich gesagt später wenn das script fertig ist nicht mehr weiss wie viele daten wo drin stehen... das wird aus einer SQLite ausgelesen :pinch:

  • Prob mit Array in einer For-Schleife und GUIGetMsg()

    • Derpy Hooves
    • 12. Januar 2010 um 21:00

    aber wie übergebe ich durch einen doppelklick oder durch einen klick auf "Detailansicht" die Variablen an die funktion?

  • Prob mit Array in einer For-Schleife und GUIGetMsg()

    • Derpy Hooves
    • 12. Januar 2010 um 20:53
    Spoiler anzeigen
    [autoit]

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

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

    AutoIt Version: 3.3.2.0
    Author: Karill Endusa

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

    Script Function:
    a script

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

    #ce ----------------------------------------------------------------------------

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

    ; Script Start - Add your code below here

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

    ;[includes]
    #include <GUIConstantsEx.au3>
    #include <TreeViewConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiStatusBar.au3>

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

    ;----------------------------------------Variables-------------------------Start
    Global $TV[5][6]
    Global $CM_TV[5]
    ;----------------------------------------Variables---------------------------End

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

    ;----------------------------------------GUI-------------------------------Start
    $GUI_mainWindow = GUICreate("Any GUI", 1000, 750, -1, -1)

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

    ;------Menu------Start
    $M_datei = GUICtrlCreateMenu("Datei")
    $MI_beenden = GUICtrlCreateMenuItem("Beenden", $M_datei)
    ;------Menu--------End

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

    ;-----ListView---Start
    GUICtrlCreateGroup("Kunden", 5, 0, 160, 330)
    $TreeView = GUICtrlCreateTreeView(10, 20, 150, 300, BitOR($TVS_HASBUTTONS,$TVS_HASLINES,$TVS_LINESATROOT,$TVS_DISABLEDRAGDROP,$TVS_SHOWSELALWAYS,$WS_GROUP,$WS_TABSTOP,$WS_HSCROLL,$WS_VSCROLL,$WS_BORDER))
    For $i = 0 To 4
    $TV[$i][0] = GUICtrlCreateTreeViewItem("Ordner 1_"&$i, $TreeView)
    For $x = 1 To 5
    $TV[$i][$x] = GUICtrlCreateTreeViewItem("User "&$x&", Ordner "&$i, $TV[$i][0])
    Next
    Next
    ;-----ListView-----End

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

    ;-----LVMenu-----Start
    For $i = 0 To 4
    For $x = 1 To 5
    $CM_TV[$i] = GUICtrlCreateContextMenu($TV[$i][$x])
    GUICtrlCreateMenuItem("Detailansicht", $CM_TV[$i])
    Next
    Next
    ;-----LVMenu-------End

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

    ;-----StatusBar--Start
    $StatusBar1 = _GUICtrlStatusBar_Create($GUI_mainWindow)
    _GUICtrlStatusBar_SetSimple($StatusBar1)
    _GUICtrlStatusBar_SetText($StatusBar1, "Any StatusBar text")
    _GUICtrlStatusBar_SetMinHeight($StatusBar1, 20)
    ;-----StatusBar----End

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

    GUISetState(@SW_SHOW, $GUI_mainWindow)

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

    ;//TODO
    $GUI_detailWindow = GUICreate("Detailansicht", 750, 500, -1, -1)
    GUISetState(@SW_HIDE, $GUI_detailWindow)
    ;----------------------------------------GUI---------------------------------End

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

    ;----------------------------------------Script----------------------------Start
    While 1 * Sleep(10)
    $nMsg = GUIGetMsg(1)
    Switch $nMsg[0]
    Case $GUI_EVENT_CLOSE
    If $nMsg[1] = $GUI_mainWindow Then
    Exit
    ElseIf $nMsg[1] = $GUI_detailWindow Then
    GUISetState(@SW_HIDE, $GUI_detailWindow)
    EndIf
    Case $MI_beenden
    Exit
    EndSwitch
    WEnd
    ;----------------------------------------Script------------------------------End

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

    ;----------------------------------------Functions-------------------------Start

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

    ;----------------------------------------Functions---------------------------End

    [/autoit]

    da, bitte... der gesamte code... aber die codefragmente die ich euch gegeben hab sind die um die es geht^^

  • Prob mit Array in einer For-Schleife und GUIGetMsg()

    • Derpy Hooves
    • 12. Januar 2010 um 20:28

    nun... wie sich vllt aus dem titel erkennen lässt erstelle bzw fülle ich ein Array in einer for schleife

    Spoiler anzeigen
    [autoit]

    For $i = 0 To 4
    For $x = 1 To 5
    $CM_TV[$i] = GUICtrlCreateContextMenu($TV[$i][$x])
    GUICtrlCreateMenuItem("Detailansicht", $CM_TV[$i])
    Next
    Next

    [/autoit]

    $TV[$i][$x] ist im übrigen ein TreeView und kommt aus folgender schleife

    Spoiler anzeigen
    [autoit]

    $TreeView = GUICtrlCreateTreeView(10, 20, 150, 300, BitOR($TVS_HASBUTTONS,$TVS_HASLINES,$TVS_LINESATROOT,$TVS_DISABLEDRAGDROP,$TVS_SHOWSELALWAYS,$WS_GROUP,$WS_TABSTOP,$WS_HSCROLL,$WS_VSCROLL,$WS_BORDER))
    For $i = 0 To 4
    $TV[$i][0] = GUICtrlCreateTreeViewItem("Ordner 1_"&$i, $TreeView)
    For $x = 1 To 5
    $TV[$i][$x] = GUICtrlCreateTreeViewItem("User "&$x&", Ordner "&$i, $TV[$i][0])
    Next
    Next

    [/autoit]

    nun suche ich nach einer Möglichkeit mit GUIGetMsg in der standard while schleife auf die elemente des arrays zuzugreigen als auch $i und $x auszulesen

    Spoiler anzeigen
    [autoit]

    While 1 * Sleep(10)
    $nMsg = GUIGetMsg(1)
    Switch $nMsg[0]
    Case $GUI_EVENT_CLOSE
    If $nMsg[1] = $GUI_mainWindow Then
    Exit
    ElseIf $nMsg[1] = $GUI_detailWindow Then
    GUISetState(@SW_HIDE, $GUI_detailWindow)
    EndIf
    Case $MI_beenden
    Exit
    EndSwitch
    WEnd

    [/autoit]


    das is meine derzeitige whileschleife...
    Ich bräuchte jetz halt ne Möglichkeit dass bei einem klick auf Detailansicht sich nen neues Fenster öffnet (an sich für mich kein problem) und dass an dieses Fenster dann $x und $i übergeben werden bzw. einer von mir definierten Func

    hat wer ne Idee oder gar die Musterlösung? ?(

  • Gui in vordergrund von Vollbildanwendung

    • Derpy Hooves
    • 9. Januar 2010 um 17:51

    es gibt ne möglichkeit... jedoch weiss ich nicht bzw. glaube ich nicht dass AutoIT zu soetwas in der Lage ist...
    Ich möchte hierbei auf das Tool "TeamSpeak Overlay" verweisen, welches in einem Spiel anzeigt wer gerade spricht, was einem in einer privaten Nachricht gesendet wurde sowie die FPS und die Uhrzeit...
    dieses Programm arbeitet über die DirectDraw Funktionen.

    wie gesagt, glaube nich dass man DD mit AutoIT ansprechen kann 8|

  • Elendig langen String mit Leerzeichen nach jedem 6. zeichen versehen

    • Derpy Hooves
    • 1. Januar 2010 um 21:33

    danke euch beiden es klappt... zwar mit mäßiger geschwindigkeit aber es klappt^^

  • Parameterübergabe

    • Derpy Hooves
    • 1. Januar 2010 um 21:03

    gut ich bin noch Neuling mit AutoIt aber kann man denn variablen direkt in nen string reinknallen?

    sonst würde ichs mal mit

    [autoit]

    RunWait("load.exe --comport=("&$comport&") --comspeed=9600 --drive=("&$drive&") --command=C:X:30:2:E")

    [/autoit]


    versuchen

  • Elendig langen String mit Leerzeichen nach jedem 6. zeichen versehen

    • Derpy Hooves
    • 1. Januar 2010 um 20:54
    [autoit]


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

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

    AutoIt Version: 3.3.2.0
    Author: myName

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------

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

    ; Script Start - Add your code below here

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

    ;[includes]
    #include <GUIConstantsEx.au3>
    #include <GuiStatusBar.au3>

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

    $mainWindow = GUICreate("Elemgen v1.0.0 - Tool to read out elements.data for PW, ES and JD (and maybe KF too) - made by KE$$", 800, 600, -1, -1)
    ;~ $fileWindow = GUICreate("", 800, 600, 0, 0)

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

    $datei = GUICtrlCreateMenu("Datei")
    $openFile = GUICtrlCreateMenuItem("Open...", $datei)

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

    $editField = GUICtrlCreateEdit("", 0, 0, 800, 557)

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

    $StatusBar1 = _GUICtrlStatusBar_Create($mainWindow)
    _GUICtrlStatusBar_SetSimple($StatusBar1)
    _GUICtrlStatusBar_SetText($StatusBar1, " This is Beta!")
    _GUICtrlStatusBar_SetMinHeight($StatusBar1, 20)

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

    GUISetState(@SW_SHOW)

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

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

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

    Case $openFile
    $elementsDataFile = FileOpen(@ScriptDir&"\elements.data", 4)
    $eleDataFileRead = FileRead($elementsDataFile, FileGetSize(@ScriptDir&"\elements.data"))
    $0xWeg = StringTrimLeft($eleDataFileRead, 2)
    GUICtrlSetData($editField, $0xWeg)
    FileClose($elementsDataFile)

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

    EndSwitch
    WEnd

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

    Jo, ich würde jetz gerne noch den String der in der variablen $0xWeg gespeichert ist um ein paar leerzeichen erweitern... genauer gesagt nach jedem 6. zeichen im string
    Beispiel:
    String: 003100300000524800
    soll werden: 003100 300000 524800

    der originalstring ist um einiges länger

    [autoit]

    MsgBox(0, "", StringLen($0xWeg))

    [/autoit]

    lieferte 57226352 Zeichen

  • @inetgetbytes read - neue Autoitversion

    • Derpy Hooves
    • 29. Dezember 2009 um 20:02

    InetGetInfo( [ handle [, index ]] )

    index:
    [optional] The index for the data to retrieve. If this value is -1 an array containing all of the below data will be returned.
    0 - Bytes read so far (this is updated while the download progresses).
    1 - The size of the download (this may not always be present).
    2 - Set to True if the download is complete, False if the download is still ongoing.
    3 - True if the download was successful. If this is False then the next data member will be non-zero.
    4 - The error value for the download. The value itself is arbitrary. Testing that the value is non-zero is sufficient for determining if an error occurred.
    5 - The extended value for the download. The value is arbitrary and is primarily only useful to the AutoIt developers.

    wäre die funktion die man nutzen könnte um die daten zu bekommen die du brauchst... ne progressbar müsste man dazu noch selbst erstellen

  • @inetgetbytes read - neue Autoitversion

    • Derpy Hooves
    • 29. Dezember 2009 um 19:53

    darf ich fragen für was diese Makros gut waren also was der rückgabewert war?^^

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™