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

Beiträge von Schrubber

  • Problem mit ListView - Anzahl Einträge

    • Schrubber
    • 31. Juli 2014 um 14:02

    Achso, alles klar. Erster Post wird editiert :)

    Edit2:

    Habe das Problem gelöst. In meiner bisherigen Vorgangsweise hatte ich den bereits bestehenden Array immer wieder bearbeitet... Die Lösung zum Problem aber war ganz einfach:
    Ein Array mit allen Daten & dann dazu einen filteredArray wo ich nach belieben die Daten reinschreibe & diesen dann ausgebe.... Manchmal liegt die Lösung echt näher als man denkt :)

  • Problem mit ListView - Anzahl Einträge

    • Schrubber
    • 31. Juli 2014 um 06:49

    Hallo Leute,

    ich sitze derzeit an einem Log-Viewer welcher deine .txt-Datei ausliest & den Zeilen entsprechend ausgibt.

    Hier erstmal mein aktuelles Script:

    Spoiler anzeigen
    [autoit]

    #RequireAdmin

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

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <GuiListView.au3>
    #include <WindowsConstants.au3>
    #include <File.au3>
    #include <MsgBoxConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <Array.au3>
    #include <GuiComboBox.au3>

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

    Opt("GUIResizeMode",$GUI_DOCKALL)

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

    #Region ### START Koda GUI section ### Form=
    $Window_Title = GUICreate("D2BS Tornister", 1027, 451, 254, 124)
    $iListview = GUICtrlCreateListView("", 10, 10, 1000, 390)
    $button_reload = GUICtrlCreateButton("Reload", 826, 416, 65, 25)
    $button_autoReload = GUICtrlCreateButton("Start Auto-Reload", 896, 416, 105, 25)
    $button_open = GUICtrlCreateButton("Open", 756, 416, 65, 25)
    $comboAction = GUICtrlCreateCombo("All", 16, 416, 121, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    $comboType = GUICtrlCreateCombo("All", 160, 416, 121, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    $comboEntrys = GUICtrlCreateCombo("10", 304, 416, 129, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    $inputSearch = GUICtrlCreateInput("Input1", 448, 416, 129, 21)
    $buttonSearch = GUICtrlCreateButton("Search", 592, 415, 69, 25)
    GUISetState(@SW_SHOW)
    GUICtrlSetState($button_reload, $GUI_DISABLE)
    GUICtrlSetState($button_autoReload, $GUI_DISABLE)
    GUICtrlSetData($inputSearch, '')
    #EndRegion ### END Koda GUI section ###

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

    _GUICtrlListView_AddColumn($iListview, "Zeit", 100)
    _GUICtrlListView_AddColumn($iListview, "Aktion", 100)
    _GUICtrlListView_AddColumn($iListview, "Typ", 100)
    _GUICtrlListView_AddColumn($iListview, "Name", 100)
    _GUICtrlListView_AddColumn($iListview, "Area", 100)
    _GUICtrlListView_AddColumn($iListview, "Beschreibung", 278)

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

    Global $sFilePath = RegRead("HKEY_CURRENT_USER\Software\Loginator", "Path")
    Global $tStart
    Global $tStatus = '0'
    Global $vActionArray
    Global $vTypeArray
    Global $vCountEntry[1]
    Global $vFirstTime = 1
    Global $counter = 0

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

    if($sFilePath <> '') Then
    _readFile()
    GUICtrlSetState($button_reload, $GUI_ENABLE)
    GUICtrlSetState($button_autoReload, $GUI_ENABLE)
    EndIf

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

    _ArrayAdd($vCountEntry, '10')
    _ArrayAdd($vCountEntry, '20')
    _ArrayAdd($vCountEntry, '30')
    _ArrayAdd($vCountEntry, '40')
    _ArrayAdd($vCountEntry, '50')
    _ArrayAdd($vCountEntry, '100')
    _ArrayAdd($vCountEntry, 'All')

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

    GUICtrlSetData($comboEntrys, _ArrayToString($vCountEntry))
    _GUICtrlComboBox_SelectString($comboEntrys, '10')

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

    While 1
    $nMsg = GUIGetMsg()

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

    Switch $nMsg

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

    Case $comboAction
    _readFile()

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

    Case $comboType
    _readFile()

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

    Case $comboEntrys
    _readFile()

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

    Case $buttonSearch
    $vFilter3 = StringLower(GuiCtrlRead($inputSearch))
    _readFile()

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

    Case $GUI_EVENT_CLOSE
    $hFileOpen = ""
    if($hFileOpen <> "") Then
    FileClose($hFileOpen)
    EndIf
    Exit

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

    Case $button_reload
    _readFile()

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

    Case $button_autoReload
    If(GUICtrlRead($button_autoReload) == "Stop Auto-Reload") Then
    GUICtrlSetData($button_autoReload, 'Start Auto-Reload')
    GUICtrlSetState($button_reload, $GUI_ENABLE)
    $tStatus = '0'
    Else
    GUICtrlSetData($button_autoReload, 'Stop Auto-Reload')
    GUICtrlSetState($button_reload, $GUI_DISABLE)
    $tStatus = '1'
    $tDiff = TimerInit()
    EndIf

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

    Case $button_open
    $sFilePath = FileOpenDialog("Open Log", @WorkingDir, "Textdateien (*.txt)")
    if($sFilePath <> '') Then
    RegWrite("HKEY_CURRENT_USER\Software\Loginator", "Path", "REG_SZ", $sFilePath)
    EndIf
    GUICtrlSetState($button_reload, $GUI_ENABLE)
    GUICtrlSetState($button_autoReload, $GUI_ENABLE)
    _readFile()

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

    EndSwitch

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

    if($tStatus = 1) Then
    if TimerDiff($tStart) > 300000 Then
    _GUICtrlListView_DeleteAllItems($iListview)
    _readFile()
    $tStart = TimerInit()
    EndIf
    EndIf

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

    WEnd

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

    Func _readFile()
    _GUICtrlListView_DeleteAllItems($iListview)
    $vActionArray = 0
    $vTypeArray = 0
    Global $vActionArray[1]
    Global $vTypeArray[1]
    _ArrayAdd($vTypeArray, 'All')
    _ArrayAdd($vActionArray, 'All')
    Global $hFileOpen = FileOpen($sFilePath)

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

    If $hFileOpen = -1 Then
    Return False
    Else
    Global $vFileSize = _FileCountLines ( $sFilePath )
    _GUICtrlListView_SetItemCount($iListview, $vFileSize)
    Global $aItems[$vFileSize+1][6]

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

    For $iI = 1 To UBound($aItems) - 1
    Global $sFileRead = FileReadLine($hFileOpen, $iI)

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

    Global $lineItem = StringSplit($sFileRead, "_")

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

    if($lineItem[3] == GuiCtrlRead($comboAction) or GuiCtrlRead($comboAction) == 'All') Then
    if($lineItem[4] == GuiCtrlRead($comboType) or GuiCtrlRead($comboType) == 'All') Then
    if(_elementExists($lineItem, 7)) Then
    if(StringInStr($lineItem[7], StringLower(GuiCtrlRead($inputSearch))) > 0 or GuiCtrlRead($inputSearch) == '') Then
    _buildOutput($iI)
    EndIf
    Else
    if(GuiCtrlRead($inputSearch) == '') Then
    _buildOutput($iI)
    EndIf
    EndIf
    EndIf
    EndIf

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

    Next
    _buildLayout()
    FileClose($hFileOpen)
    EndIf
    EndFunc

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

    Func _buildOutput($i)
    $aItems[$i][0] = $lineItem[1]
    $aItems[$i][1] = $lineItem[3]
    If(_ArraySearch($vActionArray, $lineItem[3]) < 0) Then
    _ArrayAdd($vActionArray, $lineItem[3])
    EndIf
    $aItems[$i][2] = $lineItem[4]
    If(_ArraySearch($vTypeArray, $lineItem[4]) < 0) Then
    _ArrayAdd($vTypeArray, $lineItem[4])
    EndIf
    $aItems[$i][4] = $lineItem[5]
    If _elementExists($lineItem, 7) Then
    $aItems[$i][5] = $lineItem[7]
    Else
    $aItems[$i][5] = ''
    EndIf
    EndFunc

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

    Func _buildLayout()

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

    _clearEmpty('0')

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

    If($vFileSize > GuiCtrlRead($comboEntrys) and GuiCtrlRead($comboEntrys) <> 'All') then
    For $i = UBound($aItems) - 1 to 0 Step -1
    If ($i < $vFileSize- GuiCtrlRead($comboEntrys)) Then
    _ArrayDelete($aItems, $i)
    EndIf
    Next
    EndIf

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

    _ArrayDisplay($aItems)

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

    _GUICtrlListView_AddArray($iListview, $aItems)

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

    If($vFirstTime == 1) Then
    GUICtrlSetData($comboType, _ArrayToString($vTypeArray))
    GUICtrlSetData($comboAction, _ArrayToString($vActionArray))
    $vFirstTime = 0
    Endif

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

    If(GuiCtrlRead($comboAction) == '') then
    GuiCtrlSetData($comboAction, 'All')
    EndIf

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

    If(GuiCtrlRead($comboType) == '') then
    GuiCtrlSetData($comboType, 'All')
    EndIf

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

    _GUICtrlListView_SetColumnWidth($iListview, 0, $LVSCW_AUTOSIZE)
    _GUICtrlListView_SetColumnWidth($iListview, 1, $LVSCW_AUTOSIZE)
    _GUICtrlListView_SetColumnWidth($iListview, 2, $LVSCW_AUTOSIZE)
    _GUICtrlListView_SetColumnWidth($iListview, 3, $LVSCW_AUTOSIZE)
    _GUICtrlListView_SetColumnWidth($iListview, 4, $LVSCW_AUTOSIZE)
    _GUICtrlListView_SetColumnWidth($iListview, 5, $LVSCW_AUTOSIZE)
    ;_GUICtrlListView_Scroll($iListview, 0, $vFileSize*20)
    EndFunc

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

    Func _elementExists($array, $element)
    If $element > UBound($array)-1 Then Return False ; element is out of the array bounds
    Return True ; element is in array bounds
    EndFunc

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

    Func _clearEmpty($row)
    For $i = UBound($aItems) - 1 To 0 Step -1
    If ($aItems[$i][$row] == '') Then
    _ArrayDelete($aItems, $i)
    EndIf
    Next
    EndFunc

    [/autoit]

    Test-Daten:

    Spoiler anzeigen
    Zitat

    [04:34:19]_Schrubbiii_Dropped_magic_Duriels Lair_Small Charm of Fortune (88)_Keep in Inventory to Gain Bonus | Required Level: 18 | 5% Better Chance of Getting Magic Items
    [04:34:19]_Schrubbiii_Stashed_magic_Duriels Lair_Small Charm of Fortune (88)_Keep in Inventory to Gain Bonus | Required Level: 18 | 5% Better Chance of Getting Magic Items
    [04:34:19]_Schrubbiii_Kept_magic_Duriels Lair_Small Charm of Fortune (88)_Keep in Inventory to Gain Bonus | Required Level: 18 | 5% Better Chance of Getting Magic Items
    [04:54:32]_Schrubbii_Kept_unique_Catacombs Level 4_Chance Guards (75)_Chain Gloves | Defense: 27 | Durability: 13 of 16 | Required Strength: 25 | Required Level: 15 | +25 to Attack Rating | +24% Enhanced Defense | +15 Defense | 200% Extra Gold from Monsters | 26% Better Chance of Getting Magic Items | +2 to Light Radius
    [04:54:33]_Schrubbii_Stashed_unique_Catacombs Level 4_Chance Guards Chain Gloves
    [05:00:20]_Schrubbiii_Sold_unique_Crypt_Cost: 36306 (86)_Skin of the Vipermagi | Serpentskin Armor | Defense: 279 | Durability: 19 of 24 | Required Strength: 43 | Required Level: 29 | +1 to All Skills | +30% Faster Cast Rate | +120% Enhanced Defense | All Resistances +33 | Magic Damage Reduced by 9
    [05:34:19]_Schrubbiii_Dropped_magic_Duriels Lair_Small Charm of Fortune (88)_Keep in Inventory to Gain Bonus | Required Level: 18 | 5% Better Chance of Getting Magic Items
    [05:34:19]_Schrubbiii_Stashed_magic_Duriels Lair_Small Charm of Fortune (88)_Keep in Inventory to Gain Bonus | Required Level: 18 | 5% Better Chance of Getting Magic Items
    [05:34:19]_Schrubbiii_Kept_magic_Duriels Lair_Small Charm of Fortune (88)_Keep in Inventory to Gain Bonus | Required Level: 18 | 5% Better Chance of Getting Magic Items
    [05:54:32]_Schrubbii_Kept_unique_Catacombs Level 4_Chance Guards (75)_Chain Gloves | Defense: 27 | Durability: 13 of 16 | Required Strength: 25 | Required Level: 15 | +25 to Attack Rating | +24% Enhanced Defense | +15 Defense | 200% Extra Gold from Monsters | 26% Better Chance of Getting Magic Items | +2 to Light Radius
    [05:54:33]_Schrubbii_Stashed_unique_Catacombs Level 4_Chance Guards Chain Gloves
    [06:00:20]_Schrubbiii_Sold_unique_Crypt_Cost: 36306 (86)_Skin of the Vipermagi | Serpentskin Armor | Defense: 279 | Durability: 19 of 24 | Required Strength: 43 | Required Level: 29 | +1 to All Skills | +30% Faster Cast Rate | +120% Enhanced Defense | All Resistances +33 | Magic Damage Reduced by 9

    Alles anzeigen

    Jede dieser Zeilen in der .txt (Testdaten) entspricht 1nem Datensatz. Die Ausgabe in der GUI mit mehr Daten schaut so aus:
    http://prntscr.com/484pp7

    Nun habe ich bereits folgendes gemacht: Mit der linken Combobox lassen sich die verschiedenen Arten unter "Aktion" filtern, mit der 2ten Combobox die verschiedenen Arten der Items Mit dem Input wird der Inhalt der Beschreibung nach dem eingegebenen Begriff durchsucht & ebenfalls ausgefiltert. Also NUR die Daten werden angezeigt, welche den 3 Filtern entsprechen. Die 3te Combobox soll die Einträge limitieren, welche angezeigt werden. Denn die Datei kann innerhalb von 10 Minuten um hunderte Einträge wachsen & dann brauch das einfach zu lang.

    Das Problem bei der Funktion liegt warscheinlich in Zeile 193-199. Dort überprüfe ich ob die Anzahl der Einträge in der Datei größer ist als die Anzahl der Dateien welche angezeigt werden sollen (Wert der 3. Combobox [10,20,30,40,50,100,Alle] Problem ist nur: Wenn ich nun 16 Einträge habe, und die folgenden auf meine FIlter zutreffen: [1,2,3,6,11,12,13] werden diese richtig angezeigt bei allen FilterWerten über 10. Wenn ich jedoch eine 10 dort auswähle, schmeißt er mir [1,2,3] raus da sie in der Datei NICHT unter den letzten 10 sind. Jedoch möchte ich dass der 10 gefilterte Einträge ausgibt, somit erst ab dem 11. Eintrag welcher zum Filter passt den Cut macht & diese nicht ausgibt. BeispielScreen für das Problem:

    http://prntscr.com/484rsh -> Unter ALLEN Einträgen sind diese dabei die "Keep" unter Beschreibung enthalten.

    http://prntscr.com/484rxj -> Unter den letzten 20 Kompletteinträgen ist das die einzige "Keep" (Falsche Ausgabe), hier möchte ich dass er die letzten 20 Keep-Einträge ausgibt & nicht die letzten 20 filtert.


    Ich hoffe Ihr könnt das nun ein wenig eher & besser verstehen.

    Wäre echt nett wenn sich jemand die Mühe macht & drüberschaut.


    Freundliche & morgendliche Grüße,
    Schrubber

  • Filterfunktion in Array - Ausgabe

    • Schrubber
    • 25. Juli 2014 um 13:41

    Verdammt, danke! Array zu leeren hatte ich mir schon überlegt, bin aber immer an der Umsetzung gescheitert. Jetzt funktionierts, danke Jungs!

  • Filterfunktion in Array - Ausgabe

    • Schrubber
    • 25. Juli 2014 um 05:28

    Hey,

    danke für die frühe Hilfe. Die Ausgabe danach ist etwas komisch. Es fehlen Einträge, jedoch kann ich nicht sagen welche genau weil trotzdme immernoch etwas falsches drinsteht.

    Ich hatte mir überlegt, eine Art "Filterfunktion" direkt bei _readFile() zu machen & nur Einträge zu erstellen welche den Ansprüchen entsprechen. Jedoch sieht das Ergebnis dann so aus:

    Screenshot:
    http://prntscr.com/463g9j

    Quelltext:

    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <GuiListView.au3>
    #include <WindowsConstants.au3>
    #include <File.au3>
    #include <MsgBoxConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <Array.au3>

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

    Opt("GUIResizeMode",$GUI_DOCKALL)

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

    #Region ### START Koda GUI section ### Form=
    $Window_Title = GUICreate("D2BS Tornister", 1027, 451, 254, 124)
    $iListview = GUICtrlCreateListView("", 10, 10, 1000, 390)
    $button_reload = GUICtrlCreateButton("Reload", 826, 416, 65, 25)
    $button_autoReload = GUICtrlCreateButton("Start Auto-Reload", 896, 416, 105, 25)
    $button_open = GUICtrlCreateButton("Open", 756, 416, 65, 25)
    $comboAction = GUICtrlCreateCombo("", 16, 416, 121, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    $comboType = GUICtrlCreateCombo("", 160, 416, 129, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    $Input1 = GUICtrlCreateInput("Input1", 312, 416, 129, 21)
    $Button1 = GUICtrlCreateButton("Button1", 456, 416, 65, 25)
    GUISetState(@SW_SHOW)
    GUICtrlSetState($button_reload, $GUI_DISABLE)
    GUICtrlSetState($button_autoReload, $GUI_DISABLE)
    #EndRegion ### END Koda GUI section ###

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

    _GUICtrlListView_AddColumn($iListview, "Zeit", 100)
    _GUICtrlListView_AddColumn($iListview, "Aktion", 100)
    _GUICtrlListView_AddColumn($iListview, "Typ", 100)
    _GUICtrlListView_AddColumn($iListview, "Name", 100)
    _GUICtrlListView_AddColumn($iListview, "Beschreibung", 378)

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

    Global $sFilePath = RegRead("HKEY_CURRENT_USER\Software\Loginator", "Path")
    Global $tStart
    Global $tStatus = '0'
    Global $vActionArray[0]
    Global $vFilter1 = ' '

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

    if($sFilePath <> '') Then
    _readFile()
    GUICtrlSetState($button_reload, $GUI_ENABLE)
    GUICtrlSetState($button_autoReload, $GUI_ENABLE)
    EndIf

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

    While 1
    $nMsg = GUIGetMsg()

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

    Switch $nMsg

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

    Case $nMsg
    if($nMsg == 7) Then
    $vFilter1 = GuiCtrlRead($comboAction)
    _readFile()
    EndIf

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

    if($nMsg > 0) Then
    ;MSGBox(0, "", $nMsg)
    EndIf

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

    Case $GUI_EVENT_CLOSE
    $hFileOpen = ""
    if($hFileOpen <> "") Then
    FileClose($hFileOpen)
    EndIf
    Exit

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

    Case $button_reload
    _GUICtrlListView_DeleteAllItems($iListview)
    _readFile()

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

    Case $button_autoReload
    If(GUICtrlRead($button_autoReload) == "Stop Auto-Reload") Then
    GUICtrlSetData($button_autoReload, 'Start Auto-Reload')
    GUICtrlSetState($button_reload, $GUI_ENABLE)
    $tStatus = '0'
    Else
    GUICtrlSetData($button_autoReload, 'Stop Auto-Reload')
    GUICtrlSetState($button_reload, $GUI_DISABLE)
    $tStatus = '1'
    $tDiff = TimerInit()
    EndIf

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

    Case $button_open
    $sFilePath = FileOpenDialog("Open Log", @WorkingDir, "Textdateien (*.txt)")
    if($sFilePath <> '') Then
    RegWrite("HKEY_CURRENT_USER\Software\Loginator", "Path", "REG_SZ", $sFilePath)
    EndIf
    GUICtrlSetState($button_reload, $GUI_ENABLE)
    GUICtrlSetState($button_autoReload, $GUI_ENABLE)
    _readFile()

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

    EndSwitch

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

    if($tStatus = 1) Then
    if TimerDiff($tStart) > 300000 Then
    _GUICtrlListView_DeleteAllItems($iListview)
    _readFile()
    $tStart = TimerInit()
    EndIf
    EndIf

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

    WEnd

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

    Func _readFile()
    Global $hFileOpen = FileOpen($sFilePath)

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

    If $hFileOpen = -1 Then
    Return False
    EndIf

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

    $vFileRead = FileRead($sFilePath)
    $vFileSize = _FileCountLines ( $sFilePath )
    _GUICtrlListView_SetItemCount($iListview, $vFileSize)

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

    Global $aItems[$vFileSize][5]

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

    For $iI = 0 To UBound($aItems) - 1

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

    Global $sFileRead = FileReadLine($hFileOpen, $iI)

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

    if(StringInStr($sFileRead, $vFilter1) > 0) Then
    Global $vZeit = StringTrimRight($sFileRead, StringLen($sFileRead)-10)
    Global $vNewString = StringTrimLeft($sFileRead, 10)
    Global $vAktionStart = StringInStr($vNewString, "<", 0, "2")
    Global $vNewString2 = StringTrimLeft($vNewString, $vAktionStart)
    Global $vAktionEnde = StringInStr($vNewString2, ">", 0, "1")
    Global $vAktion = StringTrimRight(StringTrimleft($vNewString, 1), StringLen($vNewString)-($vAktionEnde-1))
    Global $vNewString3 = StringTrimRight($vNewString2, StringLen($vNewString2)-$vAktionEnde+1)

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

    if(_ArraySearch($vActionArray, $vNewString3) == '-1') Then
    _ArrayAdd($vActionArray, $vNewString3)
    EndIf

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

    Global $vNewString4 = StringTrimLeft($vNewString2, StringLen($vNewString3)+3)
    Global $vNewString5 = StringTrimRight($vNewString4, StringLen($vNewString4)-(StringInStr($vNewString4, ")", 0, "1")-1))
    Global $vNewString6 = StringTrimLeft($vNewString2, StringInStr($vNewString2, ")", 0, "1"))
    Global $vNewString61 = StringSplit($vNewString6, "|")
    Global $vNewString7 = StringInStr($vNewString6, "|", 0, 1)
    if($vNewString7 == "0") Then
    Global $vNewString8 = ""
    Else
    Global $vNewString8 = StringTrimLeft($vNewString6, StringInStr($vNewString6, "|", 0, 1))
    EndIf

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

    $aItems[$iI][0] = $vZeit
    $aItems[$iI][1] = $vNewString3
    $aItems[$iI][2] = $vNewString5
    $aItems[$iI][3] = StringReplace($vNewString61[1], "{clearInventory}", "")
    $aItems[$iI][4] = $vNewString8
    EndIf
    Next
    _GUICtrlListView_AddArray($iListview, $aItems)
    _GUICtrlListView_SetColumnWidth($iListview, 0, $LVSCW_AUTOSIZE)
    _GUICtrlListView_SetColumnWidth($iListview, 1, $LVSCW_AUTOSIZE)
    _GUICtrlListView_SetColumnWidth($iListview, 2, $LVSCW_AUTOSIZE)
    _GUICtrlListView_SetColumnWidth($iListview, 3, $LVSCW_AUTOSIZE)
    _GUICtrlListView_SetColumnWidth($iListview, 4, $LVSCW_AUTOSIZE)
    GUICtrlSetData($comboAction, _ArrayToString($vActionArray))
    _GUICtrlListView_Scroll($iListview, 0, $vFileSize*20)

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

    EndFunc

    [/autoit]

    Jedoch fügt er trotzdem den Eintrag hinzu....

  • Filterfunktion in Array - Ausgabe

    • Schrubber
    • 25. Juli 2014 um 03:52

    Hallo Leute,

    mich hats gestern wieder nach AutoIt verschlagen & ich sitze nun an einem kleinen Programm zur Auslese von einer Logdatei dran. Die Logdatei ist beispielsweise wie folgt aufgebaut:

    Spoiler anzeigen

    [23:29:46] <Phil Hammer> <Shopped> (normal) perfekter Diamant (1) | Anbringung möglich an gesockelten Gegenständen. | | Waffen: +68% Schaden an Untoten | Rüstung: +100 zu Angriffswert | Helme: +100 zu Angriffswert | Schilde: Alle Widerstandsarten +19 | | Benötigter Level: 18
    [23:29:49] <Phil Hammer> <Shopped> (normal) perfekter Saphir (1) | Anbringung möglich an gesockelten Gegenständen. | | Waffen: Erhöht um 10-14 Kälte-Schaden | Rüstung: +38 zu Mana | Helme: +38 zu Mana | Schilde: Kälte-Widerstand +40% | | Benötigter Level: 18
    [23:29:49] <Phil Hammer> <Shopped> (normal) perfekter Saphir (1) | Anbringung möglich an gesockelten Gegenständen. | | Waffen: Erhöht um 10-14 Kälte-Schaden | Rüstung: +38 zu Mana | Helme: +38 zu Mana | Schilde: Kälte-Widerstand +40% | | Benötigter Level: 18
    [23:29:50] <Phil Hammer> <Stashed> (normal) perfekter Saphir
    [23:29:51] <Phil Hammer> <Stashed> (normal) perfekter Saphir
    [23:29:51] <Phil Hammer> <Stashed> (normal) perfekter Diamant
    [00:07:03] <Phil Hammer> <Kept> (normal) Schlüssel des Terrors (82)
    [00:11:36] <Phil Hammer> <Dropped> (unique) voller Harnisch (94) | Verteidigung: 162 | Haltbarkeit: 61 von 70 | Benötigte Stärke: 80 | Nicht identifiziert {clearInventory}
    [00:33:46] <Phil Hammer> <Kept> (normal) Schlüssel des Hasses (80)
    [03:05:24] <ele> <Kept> (normal) Schlüssel des Terrors (82)
    [03:05:25] <ele> <Stashed> (normal) Schlüssel des Terrors
    [03:31:39] <ele> <Kept> (normal) Ist-Rune (1) | Anbringung möglich an gesockelten Gegenständen. | | Waffen: 30% bessere Chance, magischen Gegenstand zu erhalten | Rüstung: 25% bessere Chance, magischen Gegenstand zu erhalten | Helme: 25% bessere Chance, magischen Gegenstand zu erhalten | Schilde: 25% bessere Chance, magischen Gegenstand zu erhalten | | Benötigter Level: 51
    [03:31:40] <ele> <Stashed> (normal) Ist-Rune
    [04:47:51] <ele> <Kept> (normal) Schlüssel des Terrors (82)
    [04:48:02] <ele> <Stashed> (normal) Schlüssel des Terrors
    [05:29:01] <ele> <Kept> (normal) Schlüssel des Hasses (80)
    [05:44:35] <ele> <Kept> (normal) Schlüssel des Hasses (80)
    [06:35:57] <ele> <Kept> (normal) Schlüssel des Terrors (82)
    [06:35:58] <ele> <Kept> (normal) Schlüssel des Terrors (82)
    [07:40:09] <ele> <Kept> (unique) Gheeds Glück (75) | Riesen-Zauber | Im Inventar behalten, um Bonus zu erlangen. | Benötigter Level: 62 | 130% Extragold von Monstern | 33% bessere Chance, magischen Gegenstand zu erhalten | Verringert alle Händlerpreise 12%
    [08:24:04] <ele> <Dropped> (magic) gäanisches Amulett des Maßes (91) | Benötigter Level: 45 | +3 zu Elementar-Fertigkeiten (Nur Druide) | +5 zu min. Schaden {clearInventory}
    [12:35:24] <ele> <Kept> (normal) Schlüssel des Hasses (80)
    [13:02:30] <ele> <Sold> (unique) Gespensterflucht (94) | Geistergleve | Wurf-Schaden: 123 bis 349 | Einhand-Schaden: 77 bis 247 | Anzahl: 46 | Benötigte Geschicklichkeit: 127 | Benötigte Stärke: 79 | Benötigter Level: 76 | Wurfspieß-Klasse - Langsame Angriffsgeschwindigkeit | +175% Erhöhter Schaden | 11% Abgesaugtes Leben pro Treffer | +15 zu Mana nach jedem Volltreffer | Füllt die Menge auf | Ätherisch (Reparatur nicht möglich.)
    [13:35:59] <ele> <Sold> (unique) Nagelring (75) | Ring | Benötigter Level: 7 | +60 zu Angriffswert | Magie-Schaden reduziert um 3 | Angreifer erleidet Schaden von 3 | 21% bessere Chance, magischen Gegenstand zu erhalten
    [14:35:05] <ele> <Kept> (normal) Schlüssel des Terrors (82)
    [15:20:05] <ele> <Dropped> (normal) Schriftrolle der Identifikation (1) {clearInventory}
    [15:20:33] <ele> <Kept> (normal) Schlüssel des Terrors (82)
    [15:28:40] <ele> <Kept> (normal) Schlüssel des Terrors (82)
    [15:35:05] <ele> <Kept> (normal) Schlüssel der Zerstörung (95)
    [15:43:38] <ele> <Kept> (normal) Schlüssel der Zerstörung (95)
    [16:00:53] <ele> <Sold> (unique) Kosten: 5381 (87) | Magierfaust | leichte Panzerhandschuhe | Verteidigung: 24 | Haltbarkeit: 11 von 18 | Benötigte Stärke: 45 | Benötigter Level: 23 | +1 zu Feuer-Fertigkeiten | +20% Schnellere Zauberrate | Erhöht um 1-6 Feuer-Schaden | +22% Verbesserte Verteidigung | +10 Verteidigung | Mana regenerieren 25%
    [16:31:10] <ele> <Kept> (normal) Ist-Rune (1) | Anbringung möglich an gesockelten Gegenständen. | | Waffen: 30% bessere Chance, magischen Gegenstand zu erhalten | Rüstung: 25% bessere Chance, magischen Gegenstand zu erhalten | Helme: 25% bessere Chance, magischen Gegenstand zu erhalten | Schilde: 25% bessere Chance, magischen Gegenstand zu erhalten | | Benötigter Level: 51
    [16:31:22] <ele> <Stashed> (normal) Ist-Rune
    [16:49:58] <ele> <Sold> (unique) Goldträger (80) | schwerer Gürtel | Verteidigung: 36 | Haltbarkeit: 9 von 18 | Benötigte Stärke: 45 | Benötigter Level: 27 | +10% Erhöhte Angriffsgeschwindigkeit | +60% Verbesserte Verteidigung | +25 Verteidigung | 64% Extragold von Monstern | 30% bessere Chance, magischen Gegenstand zu erhalten | +2 zu Licht-Radius
    [17:54:28] <ele> <Kept> (normal) Pul-Rune (1) | Anbringung möglich an gesockelten Gegenständen. | | Waffen: +75% Schaden an Dämonen, | +100 zu Angriffswert gegen Dämonen | Rüstung: +30% Verbesserte Verteidigung | Helme: +30% Verbesserte Verteidigung | Schilde: +30% Verbesserte Verteidigung | | Benötigter Level: 45
    [17:54:28] <ele> <No room for> (rare) Spetum
    [18:06:58] <ele> <Kept> (unique) Wirbelnder Kristall (88) | Einhand-Schaden: 18 bis 42 | Haltbarkeit: 39 von 50 | (Nur Zauberin) | Stab-Klasse - Normale Angriffsgeschwindigkeit | Nicht identifiziert
    [18:10:18] <ele> <No room for> (rare) Spinnenbogen
    [18:13:11] <ele> <Kept> (normal) Schlüssel des Hasses (80)
    [18:13:11] <ele> <Kept> (normal) Schlüssel des Hasses (80)
    [18:14:04] <ele> <No room for> (rare) großes Szepter
    [18:19:48] <ele> <Kept> (normal) Schlüssel des Terrors (82)
    [18:20:35] <ele> <No room for> (rare) Dornen-Handschuhe
    [18:21:37] <ele> <No room for> (rare) kurzer Kriegsbogen
    [18:23:11] <ele> <No room for> (rare) Knochenhelm
    [18:25:48] <ele> <No room for> (rare) Kriegsstab
    [18:26:38] <ele> <No room for> (magic) Riesen-Zauber
    [18:27:52] <ele> <No room for> (rare) leichte Panzerhandschuhe
    [18:31:07] <ele> <No room for> (magic) Riesen-Zauber
    [18:31:22] <ele> <No room for> (rare) Handsichel
    [18:32:45] <ele> <No room for> (rare) Geweih
    [18:32:45] <ele> <No room for> (rare) Handsichel
    [18:33:24] <ele> <No room for> (rare) langer Kampfbogen
    [18:33:58] <ele> <No room for> (rare) Barbarenkrallen
    [18:36:35] <ele> <No room for> (rare) Magier-Plattenrüstung
    [18:37:55] <ele> <No room for> (rare) kurzer Kampfbogen
    [18:38:12] <ele> <No room for> (rare) schwerer Gürtel
    [18:38:17] <ele> <No room for> (rare) schwerer Gürtel
    [18:39:04] <ele> <No room for> (magic) Yatagan
    [18:40:38] <ele> <No room for> (rare) schwerer Gürtel
    [18:41:40] <ele> <No room for> (rare) Wappenschild
    [18:44:49] <ele> <No room for> (rare) Großhelm
    [18:44:49] <ele> <No room for> (rare) Alpha-Helm
    [18:45:30] <ele> <No room for> (magic) Zersetzer-Kopf
    [18:45:40] <ele> <No room for> (magic) Zersetzer-Kopf
    [18:46:42] <ele> <No room for> (magic) Riesen-Zauber
    [18:46:53] <ele> <No room for> (magic) Riesen-Zauber
    [18:47:31] <ele> <No room for> (unique) Rundschild
    [18:47:59] <ele> <No room for> (unique) große Krone
    [18:48:21] <ele> <No room for> (rare) Klingenbogen
    [18:48:21] <ele> <No room for> (rare) Kesselhelm
    [18:48:37] <ele> <No room for> (rare) Falkata
    [18:50:03] <ele> <No room for> (rare) kurzer Kampfbogen
    [18:50:53] <ele> <No room for> (rare) Spinnenbogen
    [18:52:06] <ele> <No room for> (rare) Eschenholzbogen
    [18:52:07] <ele> <No room for> (rare) Hacksäbel
    [18:53:16] <ele> <No room for> (magic) Matriarchenwurfspieß
    [18:54:15] <ele> <No room for> (rare) leichter Gürtel
    [18:55:53] <ele> <Kept> (normal) Schlüssel der Zerstörung (95)
    [18:56:37] <ele> <No room for> (rare) Kriegsstab
    [18:56:38] <ele> <No room for> (rare) Klauen
    [18:56:51] <ele> <No room for> (magic) Mächtiges Szepter
    [18:58:32] <ele> <No room for> (rare) Klauen
    [18:58:33] <ele> <No room for> (rare) Kriegsszepter
    [18:58:57] <ele> <No room for> (magic) Scheren-Quhab
    [18:59:33] <ele> <No room for> (rare) kurzer Kampfbogen
    [19:01:00] <ele> <No room for> (rare) Wyrmleder-Stiefel
    [19:01:10] <ele> <No room for> (rare) Wyrmleder-Stiefel
    [19:01:13] <ele> <No room for> (rare) Wyrmleder-Stiefel
    [19:02:23] <ele> <No room for> (rare) Langbogen
    [19:02:51] <ele> <No room for> (magic) Falkenhelm
    [19:02:51] <ele> <No room for> (unique) Spitzhelm
    [19:02:51] <ele> <No room for> (magic) Kleiner Zauber
    [19:03:37] <ele> <No room for> (rare) Schlagstab
    [19:03:51] <ele> <No room for> (rare) Falkenmaske
    [19:05:39] <ele> <No room for> (magic) Unterarmschwert
    [19:05:39] <ele> <No room for> (rare) Ring
    [19:06:01] <ele> <No room for> (rare) Kettenstiefel
    [19:06:01] <ele> <No room for> (rare) schwere Handschuhe
    [19:06:38] <ele> <No room for> (rare) Knüppel
    [19:06:38] <ele> <No room for> (set) Jäger-Verkleidung
    [19:07:19] <ele> <No room for> (magic) Kleiner Zauber
    [19:07:40] <ele> <No room for> (magic) Kleiner Zauber
    [20:48:13] <ele> <Kept> (normal) Flegel (73) | Einhand-Schaden: 1 bis 24 | Haltbarkeit: 26 von 30 | Benötigte Geschicklichkeit: 35 | Benötigte Stärke: 41 | Knüppel-Klasse - Schnelle Angriffsgeschwindigkeit | +50% Schaden an Untoten | Gesockelt (4)
    [20:48:24] <ele> <Stashed> (normal) Flegel
    [21:23:16] <ele> <Kept> (normal) Schlüssel des Hasses (80)
    [21:23:16] <ele> <Stashed> (normal) Schlüssel des Hasses
    [21:38:52] <ele> <Kept> (normal) Schlüssel des Terrors (82)
    [21:38:52] <ele> <Kept> (normal) Schlüssel des Terrors (82)
    [21:38:54] <ele> <Stashed> (normal) Schlüssel des Terrors
    [21:38:54] <ele> <Stashed> (normal) Schlüssel des Terrors
    [21:55:11] <ele> <Sold> (unique) Infernosprung (75) | Dämonenleder-Stiefel | Verteidigung: 96 | Haltbarkeit: 9 von 12 | Benötigte Stärke: 20 | Benötigter Level: 29 | 5% Chance, bei einem Treffer Level 8 Feuersbrunst zu zauben. | +20% Schneller rennen/gehen | Erhöht um 12-33 Feuer-Schaden | +125% Verbesserte Verteidigung | +15 Verteidigung | +10% zu max. Feuer-Widerstand | Feuer-Widerstand +30% | 62% Extragold von Monstern | +2 zu Licht-Radius
    [22:08:40] <ele> <Sold> (unique) Goldträger (85) | schwerer Gürtel | Verteidigung: 35 | Haltbarkeit: 12 von 18 | Benötigte Stärke: 45 | Benötigter Level: 27 | +10% Erhöhte Angriffsgeschwindigkeit | +46% Verbesserte Verteidigung | +25 Verteidigung | 73% Extragold von Monstern | 30% bessere Chance, magischen Gegenstand zu erhalten | +2 zu Licht-Radius
    [22:17:08] <ele> <Sold> (unique) Haut des Vipernmagiers (94) | Schlangenlederrüstung | Verteidigung: 418 | Haltbarkeit: 13 von 13 | Benötigte Stärke: 33 | Benötigter Level: 29 | +1 zu allen Fertigkeiten | +30% Schnellere Zauberrate | +120% Verbesserte Verteidigung | Alle Widerstandsarten +28 | Magie-Schaden reduziert um 12 | Ätherisch (Reparatur nicht möglich.)
    [22:25:54] <ele> <Kept> (normal) Schlüssel des Terrors (82)
    [22:25:55] <ele> <Stashed> (normal) Schlüssel des Terrors
    [22:48:41] <ele> <Kept> (normal) Schlüssel des Hasses (80)
    [23:38:43] <ele> <Kept> (normal) Schlüssel des Terrors (82)
    [23:39:26] <ele> <Kept> (set) Wirbelnder Kristall (75) | Einhand-Schaden: 18 bis 42 | Haltbarkeit: 38 von 50 | (Nur Zauberin) | Stab-Klasse - Normale Angriffsgeschwindigkeit | Nicht identifiziert
    [00:12:29] <ele> <Kept> (unique) Ring (94) | Nicht identifiziert
    [00:29:34] <ele> <Kept> (normal) Schlüssel des Hasses (80)
    [00:30:27] <ele> <Sold> (unique) Magierfaust (87) | leichte Panzerhandschuhe | Verteidigung: 25 | Haltbarkeit: 10 von 18 | Benötigte Stärke: 45 | Benötigter Level: 23 | +1 zu Feuer-Fertigkeiten | +20% Schnellere Zauberrate | Erhöht um 1-6 Feuer-Schaden | +26% Verbesserte Verteidigung | +10 Verteidigung | Mana regenerieren 25%
    [02:18:54] <ele> <Kept> (normal) Schlüssel des Hasses (80)
    [02:26:14] <ele> <Kept> (normal) Schlüssel des Terrors (82)
    [02:27:25] <ele> <Kept> (normal) Schlüssel des Hasses (80)
    [03:35:18] <ele> <Kept> (normal) Schlüssel des Hasses (80)
    [03:58:21] <ele> <Kept> (normal) Schlüssel des Hasses (80)
    [04:03:03] <ele> <Kept> (normal) Schlüssel der Zerstörung (95)
    [05:59:46] <ele> <Dropped> (normal) Ko-Rune (1) | Anbringung möglich an gesockelten Gegenständen. | | Waffen: +10 zu Geschicklichkeit | Rüstung: +10 zu Geschicklichkeit | Helme: +10 zu Geschicklichkeit | Schilde: +10 zu Geschicklichkeit | | Benötigter Level: 39 {clearInventory}
    [06:17:45] <ele> <Kept> (magic) natürlicher Riesen-Zauber der Vita (95) | Im Inventar behalten, um Bonus zu erlangen. | Benötigter Level: 83 | +1 zu Elementar-Fertigkeiten (Nur Druide) | +41 zu Leben
    [06:17:47] <ele> <Stashed> (magic) natürlicher Riesen-Zauber der Vita
    [06:32:47] <ele> <Sold> (unique) Ohrenkette (85) | Dämonenleder-Schärpe | Verteidigung: 106 | Haltbarkeit: 9 von 22 | Benötigte Stärke: 20 | Benötigter Level: 29 | 7% Abgesaugtes Leben pro Treffer | +160% Verbesserte Verteidigung | +15 Verteidigung | Schaden reduziert um 13% | Magie-Schaden reduziert um 10
    [07:27:18] <ele> <Kept> (superior) guter Wirbel-Schild (85) | Verteidigung: 244 | Chance zu blocken: 39% | Haltbarkeit: 103 von 103 | (Nur Paladin) | Benötigte Stärke: 148 | Benötigter Level: 66 | +13% Erhöhter Schaden | +23 zu Angriffswert | +8% Verbesserte Verteidigung | Erhöht max. Haltbarkeit 15%
    [07:28:33] <ele> <Stashed> (superior) guter Wirbel-Schild
    [07:36:17] <ele> <Kept> (normal) Flegel (85) | Einhand-Schaden: 1 bis 24 | Haltbarkeit: 20 von 30 | Benötigte Geschicklichkeit: 35 | Benötigte Stärke: 41 | Knüppel-Klasse - Schnelle Angriffsgeschwindigkeit | +50% Schaden an Untoten | Gesockelt (4)
    [07:41:17] <ele> <Sold> (unique) Homunkulus (75) | Hierofant-Trophäe | Verteidigung: 192 | Chance zu blocken: 72% | Haltbarkeit: 19 von 20 | (Nur Totenbeschwörer) | Benötigte Stärke: 58 | Benötigter Level: 42 | +2 zu Flüchen (Nur Totenbeschwörer) | +2 zu Fertigkeiten-Level des Totenbeschwörers | +30% Schnellere Abblockrate | 40% Erhöhte Chancen beim Blocken | +171% Verbesserte Verteidigung | +20 zu Energie | Mana regenerieren 33% | Alle Widerstandsarten +40 | +5 zu Mana nach jedem Volltreffer
    [07:43:42] <ele> <Kept> (unique) Ring (75) | Nicht identifiziert
    [07:43:53] <ele> <Stashed> (unique) Ring
    [08:10:21] <ele> <Kept> (normal) Schlüssel der Zerstörung (95)
    [08:10:22] <ele> <Stashed> (normal) Schlüssel der Zerstörung
    [08:27:20] <ele> <Kept> (normal) Schlüssel der Zerstörung (95)
    [08:27:21] <ele> <Stashed> (normal) Schlüssel der Zerstörung
    [08:48:56] <ele> <Sold> (unique) Magierfaust (87) | leichte Panzerhandschuhe | Verteidigung: 24 | Haltbarkeit: 12 von 18 | Benötigte Stärke: 45 | Benötigter Level: 23 | +1 zu Feuer-Fertigkeiten | +20% Schnellere Zauberrate | Erhöht um 1-6 Feuer-Schaden | +21% Verbesserte Verteidigung | +10 Verteidigung | Mana regenerieren 25%
    [09:25:32] <ele> <Sold> (unique) Zerebus' Biss (94) | Blutgeist | Verteidigung: 341 | Haltbarkeit: 10 von 20 | (Nur Druide) | Benötigte Stärke: 86 | Benötigter Level: 63 | +2 zu Gestaltwandler-Fertigkeiten (Nur Druide) | 89% Bonus zu Angriffswert | 9% Abgesaugtes Leben pro Treffer | 33% Chance auf offene Wunden | +2 zu Barbaren-Wut (Nur Druide) | +134% Verbesserte Verteidigung
    [09:29:52] <ele> <Kept> (unique) Wirbelnder Kristall (87) | Einhand-Schaden: 18 bis 42 | Haltbarkeit: 25 von 50 | (Nur Zauberin) | Stab-Klasse - Normale Angriffsgeschwindigkeit | Nicht identifiziert
    [09:42:20] <ele> <Sold> (unique) Witwenmacher (94) | Wächterbogen | Zweihand-Schaden: 58 bis 153 | Benötigte Geschicklichkeit: 146 | Benötigte Stärke: 72 | Benötigter Level: 65 | Bogen-Klasse - Schnelle Angriffsgeschwindigkeit | Feuert magische Pfeile ab. | +190% Erhöhter Schaden | Verteidigung des Ziels ignorieren | 33% Todesschlag | +5 zu Gelenkter Pfeil
    [09:50:47] <ele> <Kept> (normal) Schlüssel der Zerstörung (95)
    [12:06:21] <ele> <Sold> (unique) Ohrenkette (75) | Dämonenleder-Schärpe | Verteidigung: 110 | Haltbarkeit: 11 von 22 | Benötigte Stärke: 20 | Benötigter Level: 29 | 8% Abgesaugtes Leben pro Treffer | +173% Verbesserte Verteidigung | +15 Verteidigung | Schaden reduziert um 14% | Magie-Schaden reduziert um 10
    [12:07:31] <ele> <Sold> (unique) Wächtertreu (87) | Kettenhandschuhe | Verteidigung: 27 | Haltbarkeit: 8 von 16 | Benötigte Stärke: 25 | Benötigter Level: 15 | +25 zu Angriffswert | +27% Verbesserte Verteidigung | +15 Verteidigung | 200% Extragold von Monstern | 27% bessere Chance, magischen Gegenstand zu erhalten | +2 zu Licht-Radius
    [12:10:48] <ele> <Kept> (superior) gute Heilige Targe (88) | Verteidigung: 174 | Chance zu blocken: 50% | Haltbarkeit: 50 von 50 | (Nur Paladin) | Benötigte Stärke: 86 | Benötigter Level: 47 | +45% Erhöhter Schaden | +90 zu Angriffswert | +10% Verbesserte Verteidigung | Erhöht max. Haltbarkeit 13%
    [12:23:00] <ele> <Kept> (unique) Ring (87) | Nicht identifiziert
    [12:23:08] <ele> <Stashed> (unique) Ring
    [12:31:24] <ele> <Kept> (normal) Ohm-Rune (1) | Anbringung möglich an gesockelten Gegenständen. | | Waffen: +50% Erhöhter Schaden | Rüstung: +5% zu max. Kälte-Widerstand | Helme: +5% zu max. Kälte-Widerstand | Schilde: +5% zu max. Kälte-Widerstand | | Benötigter Level: 57
    [12:31:35] <ele> <Stashed> (normal) Ohm-Rune
    [12:45:39] <ele> <Sold> (unique) Infernosprung (83) | Dämonenleder-Stiefel | Verteidigung: 104 | Haltbarkeit: 8 von 12 | Benötigte Stärke: 20 | Benötigter Level: 29 | 5% Chance, bei einem Treffer Level 8 Feuersbrunst zu zauben. | +20% Schneller rennen/gehen | Erhöht um 12-33 Feuer-Schaden | +148% Verbesserte Verteidigung | +15 Verteidigung | +10% zu max. Feuer-Widerstand | Feuer-Widerstand +30% | 70% Extragold von Monstern | +2 zu Licht-Radius
    [12:46:46] <ele> <Kept> (unique) Ring (75) | Nicht identifiziert
    [12:46:54] <ele> <Stashed> (unique) Ring
    [12:53:35] <ele> <Sold> (unique) Homunkulus (84) | Hierofant-Trophäe | Verteidigung: 179 | Chance zu blocken: 72% | Haltbarkeit: 12 von 20 | (Nur Totenbeschwörer) | Benötigte Stärke: 58 | Benötigter Level: 42 | +2 zu Flüchen (Nur Totenbeschwörer) | +2 zu Fertigkeiten-Level des Totenbeschwörers | +30% Schnellere Abblockrate | 40% Erhöhte Chancen beim Blocken | +153% Verbesserte Verteidigung | +20 zu Energie | Mana regenerieren 33% | Alle Widerstandsarten +40 | +5 zu Mana nach jedem Volltreffer
    [16:19:03] <ele> <Kept> (normal) Schlüssel der Zerstörung (95)
    [16:19:07] <ele> <Stashed> (normal) Schlüssel der Zerstörung
    [16:21:12] <ele> <Kept> (unique) Schlächter-Schutz (82) | Verteidigung: 121 | Haltbarkeit: 28 von 55 | (Nur Barbar) | Benötigte Stärke: 118 | Nicht identifiziert
    [16:21:24] <ele> <Stashed> (unique) Schlächter-Schutz
    [16:44:17] <ele> <Kept> (normal) Schlüssel der Zerstörung (95)
    [16:44:23] <ele> <Stashed> (normal) Schlüssel der Zerstörung
    [17:08:13] <ele> <Sold> (unique) Wächtertreu (75) | Kettenhandschuhe | Verteidigung: 27 | Haltbarkeit: 14 von 16 | Benötigte Stärke: 25 | Benötigter Level: 15 | +25 zu Angriffswert | +26% Verbesserte Verteidigung | +15 Verteidigung | 200% Extragold von Monstern | 30% bessere Chance, magischen Gegenstand zu erhalten | +2 zu Licht-Radius
    [17:09:19] <ele> <Sold> (unique) Alma Negra (87) | Heilige Rondache | Verteidigung: 480 | Chance zu blocken: 68% | Haltbarkeit: 48 von 68 | (Nur Paladin) | Benötigte Stärke: 109 | Benötigter Level: 77 | +2 zu Fertigkeiten-Level des Paladins | +30% Schnellere Abblockrate | 20% Erhöhte Chancen beim Blocken | +47% Erhöhter Schaden | 41% Bonus zu Angriffswert | +191% Verbesserte Verteidigung | Magie-Schaden reduziert um 5
    [17:20:48] <ele> <Sold> (unique) Infernosprung (95) | Dämonenleder-Stiefel | Verteidigung: 94 | Haltbarkeit: 9 von 12 | Benötigte Stärke: 20 | Benötigter Level: 29 | 5% Chance, bei einem Treffer Level 8 Feuersbrunst zu zauben. | +20% Schneller rennen/gehen | Erhöht um 12-33 Feuer-Schaden | +121% Verbesserte Verteidigung | +15 Verteidigung | +10% zu max. Feuer-Widerstand | Feuer-Widerstand +30% | 44% Extragold von Monstern | +2 zu Licht-Radius
    [17:34:45] <ele> <Kept> (superior) guter Monarch (88) | Verteidigung: 140 | Chance zu blocken: 42% | Haltbarkeit: 97 von 97 | Benötigte Stärke: 156 | Benötigter Level: 54 | Erhöht max. Haltbarkeit 13% | Gesockelt (4)
    [17:35:51] <ele> <Stashed> (superior) guter Monarch
    [02:06:56] <Tim Sorc> <Sold> (unique) Kosten: 1505 (88) | Spetum | Zweihand-Schaden: 15 bis 23 | Haltbarkeit: 15 von 28 | Benötigte Geschicklichkeit: 35 | Benötigte Stärke: 54 | Speer-Klasse - Langsame Angriffsgeschwindigkeit | Nicht identifiziert
    [02:10:44] <Tim Sorc> <Kept> (normal) Mal-Rune (1) | Anbringung möglich an gesockelten Gegenständen. | | Waffen: Monster-Heilung verhindern | Rüstung: Magie-Schaden reduziert um 7 | Helme: Magie-Schaden reduziert um 7 | Schilde: Magie-Schaden reduziert um 7 | | Benötigter Level: 49 {Cubing 2}
    [02:10:52] <Tim Sorc> <Stashed> (normal) Mal-Rune
    [02:14:25] <Tim Sorc> <Kept> (normal) Mal-Rune (1) | Anbringung möglich an gesockelten Gegenständen. | | Waffen: Monster-Heilung verhindern | Rüstung: Magie-Schaden reduziert um 7 | Helme: Magie-Schaden reduziert um 7 | Schilde: Magie-Schaden reduziert um 7 | | Benötigter Level: 49
    [02:14:34] <Tim Sorc> <Stashed> (normal) Mal-Rune
    [03:15:29] <Tim Sorc> <Kept> (normal) Schlüssel des Terrors (82)
    [03:15:38] <Tim Sorc> <Sold> (unique) Nokozan-Relikt (82) | Amulett | Benötigter Level: 10 | +20% Schnellere Erholung nach Treffer | Erhöht um 3-6 Feuer-Schaden | +10% zu max. Feuer-Widerstand | Feuer-Widerstand +50% | +3 zu Licht-Radius
    [03:15:41] <Tim Sorc> <Stashed> (normal) Schlüssel des Terrors
    [03:16:57] <Tim Sorc> <Sold> (unique) Lava-Stoß (88) | Kampf-Panzerhandschuhe | Verteidigung: 139 | Haltbarkeit: 14 von 38 | Benötigte Stärke: 88 | Benötigter Level: 42 | 2% Chance, Level 10 Verzaubern auf Schlag zu zaubern. | +20% Erhöhte Angriffsgeschwindigkeit | Erhöht um 13-46 Feuer-Schaden | +191% Verbesserte Verteidigung | Feuer-Widerstand +24% | Halbierte Dauer der Erstarrung
    [03:26:29] <Tim Sorc> <Kept> (unique) Ring (75) | Nicht identifiziert
    [03:26:38] <Tim Sorc> <Stashed> (unique) Ring
    [03:26:53] <Tim Sorc> <Kept> (normal) Schlüssel des Hasses (80)
    [03:26:54] <Tim Sorc> <Stashed> (normal) Schlüssel des Hasses
    [03:39:37] <Tim Sorc> <Sold> (unique) Bartuc's Cut-Throat (75) | Großklauen | Einhand-Schaden: 86 bis 152 | Haltbarkeit: 37 von 69 | (Nur Assassine) | Benötigte Geschicklichkeit: 79 | Benötigte Stärke: 79 | Benötigter Level: 42 | Klauen-Klasse - Sehr langsame Angriffsgeschwindigkeit | +1 zu Kampfkünsten (Nur Assassine) | +2 zu Assassinen-Fertigkeiten | +30% Schnellere Erholung nach Treffer | +194% Erhöhter Schaden | Erhöht Schaden um 25-50 | 20% Bonus zu Angriffswert | 6% Abgesaugtes Leben pro Treffer | +20 zu Stärke | +20 zu Geschicklichkeit

    Nun, mein Programm sieht derzeit wie folgt aus:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <GuiListView.au3>
    #include <WindowsConstants.au3>
    #include <File.au3>
    #include <MsgBoxConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <Array.au3>

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

    Opt("GUIResizeMode",$GUI_DOCKALL)

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

    #Region ### START Koda GUI section ### Form=
    $Window_Title = GUICreate("D2BS Tornister", 1027, 451, 254, 124)
    $iListview = GUICtrlCreateListView("", 10, 10, 1000, 390)
    $button_reload = GUICtrlCreateButton("Reload", 826, 416, 65, 25)
    $button_autoReload = GUICtrlCreateButton("Start Auto-Reload", 896, 416, 105, 25)
    $button_open = GUICtrlCreateButton("Open", 756, 416, 65, 25)
    $comboAction = GUICtrlCreateCombo("", 16, 416, 121, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    $comboType = GUICtrlCreateCombo("", 160, 416, 129, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    $Input1 = GUICtrlCreateInput("Input1", 312, 416, 129, 21)
    $Button1 = GUICtrlCreateButton("Button1", 456, 416, 65, 25)
    GUISetState(@SW_SHOW)
    GUICtrlSetState($button_reload, $GUI_DISABLE)
    GUICtrlSetState($button_autoReload, $GUI_DISABLE)
    #EndRegion ### END Koda GUI section ###

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

    _GUICtrlListView_AddColumn($iListview, "Zeit", 100)
    _GUICtrlListView_AddColumn($iListview, "Aktion", 100)
    _GUICtrlListView_AddColumn($iListview, "Typ", 100)
    _GUICtrlListView_AddColumn($iListview, "Name", 100)
    _GUICtrlListView_AddColumn($iListview, "Beschreibung", 378)

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

    Global $sFilePath = RegRead("HKEY_CURRENT_USER\Software\Loginator", "Path")
    Global $tStart
    Global $tStatus = '0'
    Global $vActionArray[0]

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

    if($sFilePath <> '') Then
    _readFile()
    GUICtrlSetState($button_reload, $GUI_ENABLE)
    GUICtrlSetState($button_autoReload, $GUI_ENABLE)
    EndIf

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

    While 1
    $nMsg = GUIGetMsg()

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

    Switch $nMsg

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

    Case $nMsg
    if($nMsg == 7) Then
    For $iI2 = 0 To UBound($aItems) - 1
    ;if(($aItems[$iI2][1] <> GUICtrlRead($comboAction))) Then
    ;_ArrayDelete($aItems, $iI2)
    ;EndIf
    Next
    ;_GUICtrlListView_AddArray($iListview, $aItems)
    ;_GUICtrlListView_Scroll($iListview, 0, $vFileSize*20)
    EndIf

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

    if($nMsg > 0) Then
    ;MSGBox(0, "", $nMsg)
    EndIf

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

    Case $GUI_EVENT_CLOSE
    $hFileOpen = ""
    if($hFileOpen <> "") Then
    FileClose($hFileOpen)
    EndIf
    Exit

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

    Case $button_reload
    _GUICtrlListView_DeleteAllItems($iListview)
    _readFile()

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

    Case $button_autoReload
    If(GUICtrlRead($button_autoReload) == "Stop Auto-Reload") Then
    GUICtrlSetData($button_autoReload, 'Start Auto-Reload')
    GUICtrlSetState($button_reload, $GUI_ENABLE)
    $tStatus = '0'
    Else
    GUICtrlSetData($button_autoReload, 'Stop Auto-Reload')
    GUICtrlSetState($button_reload, $GUI_DISABLE)
    $tStatus = '1'
    $tDiff = TimerInit()
    EndIf

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

    Case $button_open
    $sFilePath = FileOpenDialog("Open Log", @WorkingDir, "Textdateien (*.txt)")
    if($sFilePath <> '') Then
    RegWrite("HKEY_CURRENT_USER\Software\Loginator", "Path", "REG_SZ", $sFilePath)
    EndIf
    GUICtrlSetState($button_reload, $GUI_ENABLE)
    GUICtrlSetState($button_autoReload, $GUI_ENABLE)
    _readFile()

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

    EndSwitch

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

    if($tStatus = 1) Then
    if TimerDiff($tStart) > 300000 Then
    _GUICtrlListView_DeleteAllItems($iListview)
    _readFile()
    $tStart = TimerInit()
    EndIf
    EndIf

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

    WEnd

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

    Func _readFile()
    Global $hFileOpen = FileOpen($sFilePath)

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

    If $hFileOpen = -1 Then
    Return False
    EndIf

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

    $vFileRead = FileRead($sFilePath)
    $vFileSize = _FileCountLines ( $sFilePath )
    _GUICtrlListView_SetItemCount($iListview, $vFileSize)

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

    Global $aItems[$vFileSize][5]

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

    For $iI = 0 To UBound($aItems) - 1
    Global $sFileRead = FileReadLine($hFileOpen, $iI)
    Global $vZeit = StringTrimRight($sFileRead, StringLen($sFileRead)-10)
    Global $vNewString = StringTrimLeft($sFileRead, 10)
    Global $vAktionStart = StringInStr($vNewString, "<", 0, "2")
    Global $vNewString2 = StringTrimLeft($vNewString, $vAktionStart)
    Global $vAktionEnde = StringInStr($vNewString2, ">", 0, "1")
    Global $vAktion = StringTrimRight(StringTrimleft($vNewString, 1), StringLen($vNewString)-($vAktionEnde-1))
    Global $vNewString3 = StringTrimRight($vNewString2, StringLen($vNewString2)-$vAktionEnde+1)

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

    if(_ArraySearch($vActionArray, $vNewString3) == '-1') Then
    _ArrayAdd($vActionArray, $vNewString3)
    EndIf

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

    Global $vNewString4 = StringTrimLeft($vNewString2, StringLen($vNewString3)+3)
    Global $vNewString5 = StringTrimRight($vNewString4, StringLen($vNewString4)-(StringInStr($vNewString4, ")", 0, "1")-1))
    Global $vNewString6 = StringTrimLeft($vNewString2, StringInStr($vNewString2, ")", 0, "1"))
    Global $vNewString61 = StringSplit($vNewString6, "|")
    Global $vNewString7 = StringInStr($vNewString6, "|", 0, 1)
    if($vNewString7 == "0") Then
    Global $vNewString8 = ""
    Else
    Global $vNewString8 = StringTrimLeft($vNewString6, StringInStr($vNewString6, "|", 0, 1))
    EndIf

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

    $aItems[$iI][0] = $vZeit
    $aItems[$iI][1] = $vNewString3
    $aItems[$iI][2] = $vNewString5
    $aItems[$iI][3] = StringReplace($vNewString61[1], "{clearInventory}", "")
    $aItems[$iI][4] = $vNewString8
    Next
    _GUICtrlListView_AddArray($iListview, $aItems)
    _GUICtrlListView_SetColumnWidth($iListview, 0, $LVSCW_AUTOSIZE)
    _GUICtrlListView_SetColumnWidth($iListview, 1, $LVSCW_AUTOSIZE)
    _GUICtrlListView_SetColumnWidth($iListview, 2, $LVSCW_AUTOSIZE)
    _GUICtrlListView_SetColumnWidth($iListview, 3, $LVSCW_AUTOSIZE)
    _GUICtrlListView_SetColumnWidth($iListview, 4, $LVSCW_AUTOSIZE)
    GUICtrlSetData($comboAction, _ArrayToString($vActionArray))
    _GUICtrlListView_Scroll($iListview, 0, $vFileSize*20)

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

    EndFunc

    [/autoit]

    Ich habe folgende Ansicht wenn das Programm alles anzeigt:
    http://prntscr.com/462p23

    Ich möchte nun die 2te Spalte filtern, sprich: Wenn ich in der ComboBox "stashed" auswähle möchte ich dass sämtliche Einträge mit einem anderen Ergebnis gelöscht werden. Dies hab ich wie folgt versucht zu lösen:

    [autoit]

    For $iI2 = 0 To UBound($aItems) - 1
    ;if(!($aItems[$iI2][1] == GUICtrlRead($comboAction))) Then
    ;_ArrayDelete($aItems, $iI2)
    ;EndIf
    Next
    ;_GUICtrlListView_AddArray($iListview, $aItems)
    ;_GUICtrlListView_Scroll($iListview, 0, $vFileSize*20)

    [/autoit]

    in $aItems stehen die Zeilen aus der .txt schön bearbeitet wie ich sie brauche. In Spalte 2 halt "stashed" usw. Nun dachte ich mir "hey, gehst du die gesamte Array durch, überprüfst den 2ten Wert & falls er falsch ist, löscht du die gesamte Zeile & fängst von vorne an. Vielleicht nicht die schnellste & eleganteste Lösung, aber so denk ich mir das mal. Nunja - ich bekomme jedoch einen Fehler...

    Zitat

    "C:\Users\Schrubber\Documents\AutoIt\D2BS Tornister.au3" (56) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
    if(($aItems[$iI2][1] <> GUICtrlRead($comboAction))) Then
    if((^ ERROR

    Jedoch hab ich absolut keine Ahnung, woran das liegt :( Jemand nen Tipp?

    Grüße,
    Schrubber

  • GUI - Text in Edit-Feld an derzeitiger Text-Cursor-Position einfügen

    • Schrubber
    • 10. Juni 2013 um 14:48

    Hey,

    ich bins nochmal. Irgendwie schaff ich es nicht, deine Lösung bei mir zu Nutzen. Bekomme keinen Rückgabewert :( Hier mein Code:

    [autoit]

    #include <EditConstants.au3>
    #include <GUIConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #include <GUIEdit.au3>
    #include <IE.au3>
    #include <File.au3>

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

    _IEErrorHandlerRegister()

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

    Local $s_TempFile
    Local $sIni = ".\Templator.ini"
    Local $oIE = _IECreateEmbedded()
    Global $var = ''

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

    If Iniread($sIni, "Preferences", "Tempfile", "") == "" Then
    IniWrite($sIni, "Preferences", "Tempfile", $s_TempFile)
    $s_TempFile = _TempFile(@TempDir, "", ".html", 7)
    Else
    $s_TempFile = Iniread($sIni, "Preferences", "Tempfile", "")
    EndIf

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

    FileDelete($s_TempFile)
    FileCopy("./Examples/New.html", $s_TempFile)

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

    $guiWidth = Iniread($sIni, "Preferences", "Desktopwidth", 800)
    $guiHeight = Iniread($sIni, "Preferences", "Desktopheight", 600)

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Tabbed Notebook Dialog", $guiWidth-10, $guiHeight, 65, 0)
    $MenuDatei = GUICtrlCreateMenu("&Datei")
    $MenuDatei1 = GUICtrlCreateMenuItem("Neu", $MenuDatei)
    $MenuDatei2 = GUICtrlCreateMenuItem("Laden", $MenuDatei)
    $MenuDatei3 = GUICtrlCreateMenuItem("Speichern", $MenuDatei)
    $MenuDatei4 = GUICtrlCreateMenuItem("Speichern unter", $MenuDatei)
    $MenuDatei5 = GUICtrlCreateMenuItem("Beenden", $MenuDatei)
    $MenuAdd = GUICtrlCreateMenu("&Hinzufügen")
    $MenuAdd1 = GUICtrlCreateMenuItem("Liste", $MenuAdd)
    $MenuAdd2 = GUICtrlCreateMenuItem("Textbox", $MenuAdd)
    $MenuFormat = GUICtrlCreateMenu("&Formatieren")
    $MenuFormat1 = GUICtrlCreateMenuItem("Schriftgröße", $MenuFormat)
    $MenuFormat2 = GUICtrlCreateMenuItem("Ausrichtung", $MenuFormat)
    $MenuFormat3 = GUICtrlCreateMenuItem("Schriftfarbe", $MenuFormat)
    $MenuInfo = GUICtrlCreateMenu("&Info")
    $MenuInfo1 = GUICtrlCreateMenuItem("Hilfe", $MenuInfo)
    GUISetBkColor(0xFFFFFF)
    $PageControl1 = GUICtrlCreateTab(2, 2, $guiWidth-15, $guiHeight-50)
    $Normal = GUICtrlCreateTabItem("Normal")
    $edit_NORMAL = GUICtrlCreateEdit("", 8, 30, $guiWidth-30, $guiHeight-90)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $HTML = GUICtrlCreateTabItem("HTML")
    $edit_HTML = GUICtrlCreateEdit("", 8, 30, $guiWidth-30, $guiHeight-90)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $Vorschau = GUICtrlCreateTabItem("Vorschau")
    GUICtrlCreateObj($oIE, 8, 35, $guiWidth-30, $guiHeight-90)
    $spacer = GUICtrlCreateTabItem("")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    _IENavigate($oIE, $s_TempFile)

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

    While 1
    $nMsg = GUIGetMsg()
    if $nMsg > 0 Then
    ;MSGBOX(0, "", $nMsg)
    EndIf

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

    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case 8 ;Beenden
    Exit

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

    Case 5 ;Laden
    $var = FileOpenDialog("Datei öffnen", @DesktopDir, "Websites (*.html;*.htm)", 1)
    $newHTML = FileRead($var)
    GUICtrlSetData($edit_HTML, $newHTML)

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

    Case 6 ;Speichern
    _inArbeit()

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

    Case 7 ;Speichern unter
    $var = FileSaveDialog("Datei speichern unter", @DesktopDir, "Websites (*.html;*htm)")
    FileWrite($var&".html", GUICtrlRead($edit_HTML))

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

    Case 14 ;Ausrichtung
    $aiSel = _GUICtrlEdit_GetSel($edit_HTML) ; Ermittelt Start und Endposition der Markierung
    MSGBOX(0, "", $aiSel)

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

    Case $Normal
    _inArbeit()

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

    Case 18 ;Wechsel der Fenster
    _reloadAll()

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

    EndSwitch
    WEnd

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

    Func _reloadAll()
    FileDelete($s_TempFile)
    FileWrite($s_tempFile, GUICtrlRead($edit_HTML))
    _IEAction($oIE, "refresh")
    EndFunc

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

    Func _inArbeit()
    MSGBox(0, "Hinweis", "Diese Funktion ist noch in Arbeit")
    EndFunc

    [/autoit]

    Mit "Ausrichtung" trigger ich die Markierungs-Erkennung. Aber kein Rückgabewert. Hast du vielleicht ne Idee?


    Grüße,
    Schrubber

  • GUI - Text in Edit-Feld an derzeitiger Text-Cursor-Position einfügen

    • Schrubber
    • 5. Juni 2013 um 18:35

    Nö, nix zu verbergen. Wenn ich aber eine Frage wie z.B. "Wie mäht man einen Rasen?", fragt auch keiner nach einem Bild vom Rasen ;)

    Wenns wirklich einen interessiert:

    Spoiler anzeigen
    [autoit]

    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #include <IE.au3>
    #include <File.au3>

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

    _IEErrorHandlerRegister()

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

    Local $s_TempFile
    Local $sIni = ".\Templator.ini"
    Local $oIE = _IECreateEmbedded()

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

    If Iniread($sIni, "Preferences", "Tempfile", "") == "" Then
    IniWrite($sIni, "Preferences", "Tempfile", $s_TempFile)
    $s_TempFile = _TempFile(@TempDir, "", ".html", 7)
    Else
    $s_TempFile = Iniread($sIni, "Preferences", "Tempfile", "")
    EndIf

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

    FileDelete($s_TempFile)
    FileCopy("./Examples/New.html", $s_TempFile)

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

    $guiWidth = Iniread($sIni, "Preferences", "Desktopwidth", 800)
    $guiHeight = Iniread($sIni, "Preferences", "Desktopheight", 600)

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Tabbed Notebook Dialog", $guiWidth-10, $guiHeight, 65, 0)
    $MenuDatei = GUICtrlCreateMenu("&Datei")
    $MenuDatei1 = GUICtrlCreateMenuItem("Neu", $MenuDatei)
    $MenuDatei2 = GUICtrlCreateMenuItem("Save Lothar", $MenuDatei)
    $MenuDatei3 = GUICtrlCreateMenuItem("Save Monika", $MenuDatei)
    $MenuDatei4 = GUICtrlCreateMenuItem("Beenden", $MenuDatei)
    $MenuAdd = GUICtrlCreateMenu("&Hinzufügen")
    $MenuAdd1 = GUICtrlCreateMenuItem("Liste", $MenuAdd)
    $MenuAdd2 = GUICtrlCreateMenuItem("Textbox", $MenuAdd)
    $MenuFormat = GUICtrlCreateMenu("&Formatieren")
    $MenuFormat1 = GUICtrlCreateMenuItem("Schriftgröße", $MenuFormat)
    $MenuFormat2 = GUICtrlCreateMenuItem("Ausrichtung", $MenuFormat)
    $MenuFormat3 = GUICtrlCreateMenuItem("Schriftfarbe", $MenuFormat)
    $MenuInfo = GUICtrlCreateMenu("&Info")
    $MenuInfo1 = GUICtrlCreateMenuItem("Hilfe", $MenuInfo)
    GUISetBkColor(0xFFFFFF)
    $PageControl1 = GUICtrlCreateTab(2, 2, $guiWidth-15, $guiHeight-50)
    $Normal = GUICtrlCreateTabItem("Normal")
    $edit_NORMAL = GUICtrlCreateEdit("", 8, 30, $guiWidth-30, $guiHeight-90)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $HTML = GUICtrlCreateTabItem("HTML")
    $edit_HTML = GUICtrlCreateEdit("", 8, 30, $guiWidth-30, $guiHeight-90)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $Vorschau = GUICtrlCreateTabItem("Vorschau")
    GUICtrlCreateObj($oIE, 8, 35, $guiWidth-30, $guiHeight-90)
    $spacer = GUICtrlCreateTabItem("")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    _IENavigate($oIE, $s_TempFile)

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

    While 1
    $nMsg = GUIGetMsg()
    if $nMsg > 0 Then
    ;MSGBOX(0, "", $nMsg)
    EndIf

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

    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $Normal
    MSGBOX(0, "", "Normal")

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

    Case 17
    _reloadAll()

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

    EndSwitch
    WEnd

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

    Func _reloadAll()
    FileDelete($s_TempFile)
    FileWrite($s_tempFile, GUICtrlRead($edit_HTML))
    _IEAction($oIE, "refresh")
    EndFunc

    [/autoit]

    Werde mal schauen, was ich finde. Hab da noch nen weiteres Problem, aber das erläuter ich beim nächsten Mal ;)


    Grüße,
    Schrubber

  • GUI - Text in Edit-Feld an derzeitiger Text-Cursor-Position einfügen

    • Schrubber
    • 5. Juni 2013 um 02:54

    Hallo,

    ich bin nach langer Abwesenheit mal wieder da. Hier mir einer (für mich) schweren Fragen.

    Ich programmiere gerade eine Art "HTML-Liveeditor. Neben der Tatsache, dass er immer meinen IE10 nimmt (und ich ihn nich in den IE9-Modus gepackt krieg) hab ich ein kleines Problem. Und zwar würde ich gerne, wenn der Cursor in dem Edit-Feld ist und der Button / Shortcut gedrückt wird, an der aktuellen Stelle (wo der Text-Cursor ist) einen Text einfügen. Wie mach ich das? :)

    Mein derzeitiges Programm ist ja unwichtig, da es sich um eine grundlegende Frage handelt.

    Grüße,
    Schrubber

  • Programm, rechtliche Fragen

    • Schrubber
    • 31. Januar 2012 um 23:04

    Ich bin mir nicht komplett sicher.
    Du bist für die Inhalte haftbar, ja.

    Aber es gibt in diversen AGB´s die Sätze, dass du für die Inhalte, die andere hochladen, nicht verantwortlich bist.
    Du schaust dir jedoch viele Inhalte an & überprüfst sie, kannst jedoch nicht auf einen 100% Schutz garantieren.
    Deshalb distanzierst du dich von allen Inhalten, die User darüber hochladen.

    Ob das wirklich geht, weiß ich nicht.

  • hintergrundfarbe von einer checkbox abfragen

    • Schrubber
    • 9. Januar 2012 um 18:06

    Speicher dir jede richtige Antwort in einer Counter-Variable.

  • Youtube in Windows Media player

    • Schrubber
    • 3. Januar 2012 um 09:12

    Richtig. Laut WMP-Anleitung kannst du über Auführen -> wmplayer "http://www.youtube.com/v/l_Uw6EIpzDY" das Video starten. Somit musst du nur den Link dem WMP als Parameter übergeben.

  • physik und autoit, klappt das? wer kann V=s/t oder hat schon gecoded?

    • Schrubber
    • 1. Januar 2012 um 10:23
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1_1 = GUICreate("V-Berechnung", 339, 164, 192, 124)
    $l_start = GUICtrlCreateLabel("Start KM", 8, 66, 81, 17)
    $l_ende = GUICtrlCreateLabel("End KM", 10, 87, 78, 17)
    $i_start = GUICtrlCreateInput("0", 60, 64, 81, 21, BitOR($ES_RIGHT,$ES_AUTOHSCROLL))
    $i_ende = GUICtrlCreateInput("0", 60, 88, 81, 21, BitOR($ES_RIGHT,$ES_AUTOHSCROLL))
    $l_tstart = GUICtrlCreateLabel("Start Stunde", 176, 65, 67, 17)
    $l_tende = GUICtrlCreateLabel("End Stunde", 176, 86, 64, 17)
    $i_tstart = GUICtrlCreateInput("0", 242, 63, 81, 21, BitOR($ES_RIGHT,$ES_AUTOHSCROLL))
    $i_tende = GUICtrlCreateInput("0", 242, 87, 81, 21, BitOR($ES_RIGHT,$ES_AUTOHSCROLL))
    $l_ergebnis = GUICtrlCreateLabel("0", 8, 0, 310, 62, $SS_RIGHT)
    GUICtrlSetFont(-1, 36, 400, 0, "MS Sans Serif")
    $b_berechne = GUICtrlCreateButton("Starte Berechnung", 8, 120, 313, 33, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

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

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

    EndSwitch
    WEnd

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

    Func berechne()
    $zeitdif = GUICtrlRead($i_tende) - GUICtrlRead($i_tstart)
    $wegdif = GUICtrlRead($i_ende) - GUICtrlRead($i_start)
    $v = $wegdif / $zeitdif
    GUICtrlSetData($l_ergebnis, $v & "km/h")
    EndFunc

    [/autoit]
  • eure Lieblings-Weinachtslieder

    • Schrubber
    • 8. Dezember 2011 um 23:53

    Sind echt gute dabei, danke :)

  • eure Lieblings-Weinachtslieder

    • Schrubber
    • 7. Dezember 2011 um 22:10

    Hallo,

    ich stelle gerade eine Weihnachts-CD zusammen. Aber mir fallen nicht viele Lieder dazu ein.

    Das einzige, was ich bisher habe, ist:

    Wham - Last Christmas

    Nun meine Frage: Was hört ihr am Liebsten zu der Zeit? Deutsche und Englische Titel, egal.


    Danke im voraus,

    Schrubber

  • Suche Musiktitel

    • Schrubber
    • 21. November 2011 um 17:15

    Danke!!!! :)

  • Suche Musiktitel

    • Schrubber
    • 21. November 2011 um 16:54

    Hey,

    leider nicht möglich :p Habs schon geschnitten, brauch aber Name und Titel :S

  • Suche Musiktitel

    • Schrubber
    • 21. November 2011 um 02:13

    Hallo :)

    Ich suche den folgenden Titel des Songs:

    http://www.youtube.com/watch?v=rxzu5VWPw98&feature=player_embedded#!

    Dort ist ein Song zu hören (ab 0:19).

    Wer den Song kennt, bitte bescheid sagen und ggf. Namen posten :) Danke.

    Schrubber

  • Problem: 2 Soundkarten -> Tastatur-MediaTasten

    • Schrubber
    • 4. November 2011 um 17:22

    Hallo,

    ich habe 2 Probleme:


    1. Ich habe eine onBoard Soundkarte und eine externe USB-Soundkarte. Ich möchte gerne ALLES über meine onboard Soundkarte (Headset) ausgeben, bis auf iTunes (Anlage). Ich finde aber weder bei iTunes, noch bei Windows die Möglichkeit, das gewünschte Ausgabegerät auszuwählen. Bei Skype usw. ist diese Einstellung ja möglich... Jedoch nicht bei iTunes :-/


    2. Ich habe eine Trust Blackstream-Tastatur seit länger als 6 Monaten. Nun sind dort Media-Tasten drauf, die mir folgende Möglichkeiten geben:
    - Musik stumm schalten
    - Musik leiser stellen
    - Musik lauter stellen
    - Play
    - Back Track
    - Forward Track
    - Internet Explorer
    - Mail-Programm
    - Windows Suche
    - Taschenrechner
    - Ranzoomen
    - Wegzoomen
    - und 2 weitere

    Nun, es funktionieren nur die 2 anderen Tasten. Aber das liegt daran, dass sie auch bei Windows durch Tastenkombinationen aufrufbar sind.
    Die Tasten haben alle funktioniert. Nun plötzlich nicht mehr. Ich habe keine Software oder Treiber installiert, noch deinstalliert. Nur ein wenig gespielt.

    Hoffe, ihr könnt mir helfen :-/


    Grüße,
    Schrubber

  • Battlefield 3 Problem -.-

    • Schrubber
    • 30. Oktober 2011 um 23:58

    Alles bereits gemacht.

  • Battlefield 3 Problem -.-

    • Schrubber
    • 30. Oktober 2011 um 23:13
    Zitat von PenGuin

    Für höchste Einstellungen muss man eine mindestens eine GeForce 580 haben...


    & das weißt du woher?

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™