Hallo AutoItler,
Ich hab ein kleines Problemchen was ListView betrifft.
Ich habe vier Spalten, in der ersten Spalte wird immer ein Name durch eine ComboBox eingetragen, zweite und dritte wird durch Computer Zeit und Datum definiert und vierte wieder durch eine ComboBox.
Nun möchte ich gerne aber die Zeit und das Datum auslesen und vergleichen, wenn dieses eintrifft soll ein Beep Ton ausgegeben werden.
Auch soll danach diese Zeile nach eintreffen gelöscht werden und einen Eintrag in ein externes Textdokument geschrieben werden.
Hier mal der Code:
Spoiler anzeigen
;~ GUI und Windows Daten
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <EditConstants.au3>
#include <GuiListView.au3>
#Include <Array.au3>
#Include <File.au3>
#Include <Date.au3>
;~ Internet
#include <INet.au3>
#include <IE.au3>
;~ Tab Items
#include <StaticConstants.au3>
#include <TabConstants.au3>
#NoTrayIcon
[/autoit] [autoit][/autoit] [autoit]Global $AnzBosse, $Bosse[50][50], $File, $i, $z, $verlaufsanzeige
[/autoit] [autoit][/autoit] [autoit]If Not FileExists(@ScriptDir & "\verlauf."&@MDAY&"."&@MON&".spawn") Then
FileWrite(@ScriptDir & "\verlauf."&@MDAY&"."&@MON&".spawn", "Verlauf für den "&@MDAY&"."&@MON&"."&@YEAR)
FileWriteLine(@ScriptDir & "\verlauf."&@MDAY&"."&@MON&".spawn", "")
EndIf
_dataload()
[/autoit] [autoit][/autoit] [autoit]#Region ### START Koda GUI section ### Form=
$calculator = GUICreate("Boss Calculator", 264, 600, 193, 125)
$bossl = GUICtrlCreateLabel("Boss Wählen:", 8, 8, 88, 20)
GUICtrlSetFont(-1, 10, 800, 6, "Arial")
$boss = GUICtrlCreateCombo("Boss Wählen:", 136, 8, 121, 25)
For $i=1 to $AnzBosse
GUIctrlSetData($boss, $bosse[$i][0] & "|")
Next
$realml = GUICtrlCreateLabel("Aktueller Realm:", 8, 32, 110, 20)
GUICtrlSetFont(-1, 10, 800, 4, "Arial")
$realm = GUICtrlCreateCombo("Realm Wählen:", 136, 32, 121, 25)
GUICtrlSetData(-1, "1|2|3|4|5|6|7|8")
$respawntimel = GUICtrlCreateLabel("Respawnzeit:", 8, 56, 85, 20)
GUICtrlSetFont(-1, 10, 800, 6, "Arial")
$respawntime = GUICtrlCreateInput("SELECT BOSS", 136, 56, 121, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
$timel = GUICtrlCreateLabel("Aktuelle Uhrzeit:", 8, 80, 109, 20)
GUICtrlSetFont(-1, 10, 800, 4, "Arial")
$time = GUICtrlCreateInput(@HOUR&":"&@MIN&":"&@SEC, 136, 80, 121, 21)
$datel = GUICtrlCreateLabel("Aktuelles Datum:", 8, 104, 111, 20)
GUICtrlSetFont(-1, 10, 800, 4, "Arial")
$date = GUICtrlCreateInput(@YEAR&"/"&@MON&"/"&@MDAY, 136, 104, 121, 21)
$calc = GUICtrlCreateButton("Berechnen", 8, 128, 123, 25, 0)
$aktu = GUICtrlCreateButton("Aktualisieren", 136, 128, 123, 25, 0)
$delete = GUICtrlCreateButton("Spawn löschen", 8, 568, 123, 25, 0)
$verlauf = GUICtrlCreateButton("Verlauf anzeigen >>", 136, 568, 123, 25, 0)
$spawnlistl = GUICtrlCreateLabel("Spawnliste:", 8, 160, 75, 20)
GUICtrlSetFont(-1, 10, 800, 6, "Arial")
$spawnlist = GUICtrlCreateListView("Boss Name:|Spawnt um:|Am:|Auf Realm:", 8, 184, 250, 382)
GUISetState(@SW_SHOW)
$verlaufsanzeigen = GUICreate("Form1", 405, 469, 475, 256, BitOR($WS_SYSMENU,$WS_POPUP,$WS_POPUPWINDOW,$WS_BORDER,$WS_CLIPSIBLINGS, $WS_EX_TOOLWINDOW), BitOr($WS_EX_TOOLWINDOW,$WS_EX_WINDOWEDGE))
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$verlaufhide = GUICtrlCreateButton("<< Verlauf verbergen", 0, 440, 137, 25, 0)
GUISetState(@SW_HIDE, $verlaufsanzeige)
#EndRegion ### END Koda GUI section ###
While 1
$Msg = GUIGetMsg()
If $msg = GUICtrlRead($boss) Then
For $i = 1 to $AnzBosse
If GUIctrlRead($boss) == $bosse[$i][0] Then
GUICtrlSetData($respawntime, $bosse[$i][4])
ElseIf GUIctrlRead($boss) = "Boss Wählen:" Then
GUICtrlSetData($respawntime, "SELECT BOSS")
EndIf
Next
EndIf
If $msg = $calc Then
If guictrlread($respawntime) <> "SELECT BOSS" and guictrlread($realm) <> "Realm Wählen:" Then
local $sdate = stringsplit(_ADD(), " ")
GUICtrlCreateListViewItem(GUIctrlRead($boss)&"|"&$sdate[2]&"|"&$sdate[1]&"|"&GUIctrlRead($Realm), $spawnlist)
FileWrite(@ScriptDir & "\verlauf."&@MDAY&"."&@MON&".spawn", "Eintragung von: "&GUIctrlRead($boss)&" um "&guictrlread($time)&" am "&@MDAY&"."&@MON&"."&@YEAR)
FileWriteLine(@ScriptDir & "\verlauf."&@MDAY&"."&@MON&".spawn", "")
Else
MsgBox(16, "ERROR", "PLEASE SELECT BOSS AND REALM")
EndIf
EndIf
If $msg = $delete Then
If GUICtrlRead($spawnlist) Then
GUICtrlDelete(GUICtrlRead($spawnlist))
FileWrite(@ScriptDir & "\verlauf."&@MDAY&"."&@MON&".spawn", "Löschung von: "&_GUICtrlListView_GetItemText($spawnlist, 1)&" um "&@HOUR&":"&@MIN&":"&@SEC&" am "&@MDAY&"."&@MON&"."&@YEAR) ;<=== schreibt immer eine 0 in eine Datei
FileWriteLine(@ScriptDir & "\verlauf."&@MDAY&"."&@MON&".spawn", "")
Else
MsgBox(16, "ERROR", "PLEASE SELECT SPAWN")
EndIf
EndIf
If $msg = $aktu Then
GUIctrlSetData($time, @HOUR&":"&@MIN&":"&@SEC)
GUiCtrlSetData($date, @YEAR&"/"&@MON&"/"&@MDAY)
EndIf
If $msg = $verlauf Then
GUISetState(@SW_SHOW, $verlaufsanzeigen)
$verlaufsanzeige = GUICtrlCreateEdit("", 0, 0, 401, 441, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_READONLY,$ES_WANTRETURN,$WS_VSCROLL))
GUICtrlSetData(-1, FileRead(@ScriptDir & "\verlauf."&@MDAY&"."&@MON&".spawn"))
GUICtrlSetState($verlauf, $GUI_DISABLE)
EndIf
If $msg = $verlaufhide Then
GUISetState(@SW_HIDE, $verlaufsanzeigen)
GUICtrlDelete($verlaufsanzeige)
GUICtrlSetState($verlauf, $GUI_ENABLE)
EndIf
If $msg = $GUI_EVENT_CLOSE Then Exit
WEnd
Func _dataload()
$File=FileOpen(@ScriptDir & "\bosse.spawn")
$AnzBosse=FileReadLine($File)
FileReadLine($File)
For $i=1 to $AnzBosse
For $z=0 to 5
$Bosse[$i][$z]=FileReadLine($File)
Next
Next
FileClose($File)
EndFunc
Func _ADD()
$stime = stringsplit(guictrlread($respawntime), ":")
$addhour = _DateAdd("h", $stime[1], GUICtrlRead($date) & " "& GUICtrlRead($time))
$addminutes = _DateAdd("n", $stime[2], $addhour)
return $addminutes
endfunc
Das hier steht in der "bosse.spawn" drinne:
Spoiler anzeigen
15
Name, Karte, Realm, Realm Spawn, Respawn Zeit*
Enrit Behemote
Immerfrost Zentrum 1
4
2,4,6,8
04:00:00
*
Torro Hrimthors
Immerfrost Zentrum 2
4
2,4,6,8
04:00:00
*
Drachentöter Nergal
Immerfrost Zentrum 3
4
2,4,6,8
04:00:00
*
Wolfkönig Karth
Halbgottwiesen
2
7,8
03:00:00
*
Bolt
Nordland
1
4
03:00:00
*
Frostdrache Eltha
Nordland
2
1,2
02:30:00
*
Dariel
Brennende Lande
2
3,4
02:30:00
*
Feuerdrache Piseh
Ewigruh-Lande
2
5,6
02:30:00
*
Kugor
Ewigruh-Lande
1
5
04:00:00
*
Zerberus
Ebene der Verzweiflung
2
7,8
02:30:00
*
Hypnos
Schloss des Urteils 1
4
2,4,6,8
06:00:00
*
Morpheus
Schloss des Urteils 2
4
2,4,6,8
06:00:00
*
Hades
Hades Tempel
4
2,4,6,8
06:00:00
*
Titanengeist
Stadt der Engel
2
1,2
02:30:00
*
Edafra
Verfluchte Wüste
2
5,6
03:00:00
*
Alles anzeigen
DIES IST KEIN BOT NUR EIN RECHNER FÜR NEUE SPAWNZEITEN NACH LEGUNG DES BOSSES!!!
Ich hoffe Ihr könnt mir helfen ohne den Code zu stark umzuformen.
Mfg.
Tak | Jochen