Label , Veränderbare Daten Plus Rechnen

  • Hallo liebe Community.
    Ich habe nun ein Problem, und zwar ich lese aus Programmen Zahlen aus. Sie werden ins Laben reingeschrieben.
    Wenn ich nun das Programm ausgewählt habe & die Zahlen dort stehen, soll wenn Sie sich verändern. In der Edit1 Box
    Die Zeit stehen und z.B. "+ 4500" "-100" "+5100" , dass ich sehe wie viel ich + oder - gemacht habe :)

    Hier mal mein Script. Es klappt alles , aber ich weiß nicht wie ich das Problem löse. Am besten mit Beispielen antworten :P

    Edit: Es wird kein Bot :rofl: oder ähnliches in der Art ^^

    Spoiler anzeigen
    [autoit]


    ;= Gold + -
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>
    #include <String.au3>
    #include <StructureConstants.au3>
    #include <Date.au3>
    $GOLD = "148"
    $vStaticChar = "144"
    $Status = "0"
    $vWinCount = 0
    #Region ### START Koda GUI section ### Form=
    $hGui = GUICreate("", 158, 226, 434, 374,$WS_SIZEBOX +$WS_EX_TOOLWINDOW+$WS_EX_TOPMOST+$WS_EX_WINDOWEDGE + $WS_EX_TOPMOST + $WS_VISIBLE + $WS_CLIPSIBLINGS)
    $List1 = GUICtrlCreateListView("", 0, 0, 155, 59,BitOR($LVS_LIST,$LVS_SHOWSELALWAYS,$WS_BORDER,$WS_VSCROLL))
    _GUICtrlListView_SetExtendedListViewStyle($List1, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT))

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

    $Label1 = GUICtrlCreateLabel("", 43, 114, 101, 18)
    GUICtrlSetFont(-1, 10, 800, 0, "Transformers")
    $Label2 = GUICtrlCreateLabel("Gold:", 60, 90, 34, 18)
    GUICtrlSetFont(-1, 10, 800, 4, "Transformers")
    $Button1 = GUICtrlCreateButton("Refresh", 12, 64, 131, 19, $BS_PUSHLIKE)
    #EndRegion ### END Koda GUI section ###

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

    $Edit1 = GUICtrlCreateEdit("", 16, 136, 129, 53, BitOR($ES_CENTER,$ES_AUTOVSCROLL,$ES_READONLY,$ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN,$WS_BORDER,$WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE,0x8000000))
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, 0x696969)
    $zeit = _NowTime()
    GuiCtrlSetData($Edit1,"[" & $zeit & "]" & " ",@CRLF)
    GuiCtrlSetData($Edit1, @CRLF , @CRLF)
    GUICtrlSetFont(-1, 9, 400)
    GUICtrlSetCursor (-1, 11)

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

    GUISetState(@SW_SHOW)
    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
    Global $hListView1 = GUICtrlGetHandle($List1)
    _StartListRefresh()
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    _StartListRefresh()

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

    EndSwitch
    WEnd

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

    Func _StartListRefresh()
    _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($List1))

    $vWinCount = 0
    $vWinList = WinList("[CLASS:wxWindowClassNR]")
    For $i1 = 1 To $vWinList[0][0]
    If StringInStr($vWinList[$i1][0], "[") And StringInStr($vWinList[$i1][0], "]") Then

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


    $vWinCount += 1
    $vCharname = ControlGetText($vWinList[$i1][1], "", "Static" & $vStaticChar)

    $vWinCount = _GUICtrlListView_AddItem($List1, $vCharname)

    EndIf
    Next

    EndFunc

    Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg, $iwParam
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $tInfo

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

    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
    Case $hListView1
    Switch $iCode
    Case $NM_DBLCLK
    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
    $vCharHandle = _SH_GetCharHandle(_GUICtrlListView_GetItemText($hListView1,DllStructGetData($tInfo, "Index")))
    $vWinState = WinGetState($vCharHandle)
    If BitAND($vWinState, 2) Then
    GUICtrlSetData($Label1, _StringAddThousandsSep(ControlGetText($vCharHandle, "", "[CLASS:Static; INSTANCE:" & $GOLD & "]"), "."))
    Else
    GuiCtrlSetData($Label1,"")
    GUICtrlSetData($Label1, _StringAddThousandsSep(ControlGetText($vCharHandle, "", "[CLASS:Static; INSTANCE:" & $Status & "]"), "."))
    EndIf
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

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

    Func _SH_GetCharHandle($vName)
    $vWinList = WinList("[CLASS:wxWindowClassNR]")
    For $i5 = 1 To $vWinList[0][0]
    If StringInStr($vWinList[$i5][0], "SApfel") And StringInStr($vWinList[$i5][0], "[") And StringInStr($vWinList[$i5][0], "]") Then
    $vCharname = ControlGetText($vWinList[$i5][1], "", "Static" & $vStaticChar)
    If $vName = $vCharname Then
    Return $vWinList[$i5][1]
    EndIf
    EndIf
    Next
    Return -1
    EndFunc ;==>_SH_GetCharHandle

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

    ;sowas?
    $label = GUICtrlCreateLabel("Test", 0, 0)
    GUICtrlSetData($label, "100")
    Sleep(1000)
    ;rechne + 300
    GUICtrlSetData($label, GUICtrlRead($label) + 300)
    Sleep(1000)

    [/autoit]

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • Er soll die Zahlen aus dem Programm immer auslesen, wenn sich dort was verändert soll er es in die Edit box schreiben & oben anzeigen wo das Label ist mit dem Geld.

    Sprich ich habe 15152 Geld
    Dann ändert sich im Programm das Geld auf 16000

    ein + von 848.
    Also soll dan in der Edit box +848 stehen.
    Hoffe diesmal versteht man es besser =D

  • Irgendwie komme ich nicht so ganz dahinter was dein Programm machne soll (Brett vorm Kopf :S)
    Vielleicht hilft dir trotzdem mein Vorschlag:
    Du kannst den "alten" Wert immer in einer Temporären Variable Speichern
    und per Execute() den Wert auf erhöhen/senken überprüfen.

    konkret:
    NeuerWert( 16000 ) - AlterWert ( 15152 ) = ÄnderungsWert( 848 )
    guictrlsetdata(EDITID,GUICTRLREAD(EDITID)&@CRLF&ÄnderungsWert

    (vielleicht ist es das was du brauchst - bin net sicher)

    Wer immer nur das tut, was er bereits kann - wird auch immer nur das bleiben, was er bereits ist!

  • Wenn ich nen beispiel sehen würde könnte ich sagen ja oder nein. Aber so wie sich das schon anhört denke ich mal , dass es das ist.
    Naja mein Programm wo die Zahlen ausgelesen werden ist für ein Spiel.Ich sehe dort nur Zahlen (Mein Gold) Wenn ich dann in der Liste doppelklick auf den Namen mache , sehe ich bei dem GeldLabel mein Gold. Und nachdem ich das Gold sehe soll er schon überprüfen ob der + oder - macht.
    Wenn er + macht wie viel , wenn er - macht wie viel. Deswegen soll das mit dem + & - in der Edit box stehen :)
    Und ich glaube , dass das kein Bot ist. Mich im spiel selber nich weiter bringt & sowas nicht verboten ist.

    Hoffe helft mir trozdem noch :P

  • ein kurzer Beispielcode:

    Spoiler anzeigen
    [autoit]

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

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Testform", 371, 179, 193, 125)
    $Edit1 = GUICtrlCreateEdit("", 8, 16, 209, 153)
    $Button1 = GUICtrlCreateButton("Neuen Wert Ändern", 232, 128, 129, 33, 0)
    $Input1 = GUICtrlCreateInput("16000", 240, 88, 105, 21, BitOR($ES_CENTER,$ES_AUTOHSCROLL))
    $Label1 = GUICtrlCreateLabel("Aktueller Stand:", 248, 16, 79, 17)
    $Label2 = GUICtrlCreateLabel("15152", 272, 56, 34, 17)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $NeuerWert=Execute(GUICtrlRead($Input1)-GUICtrlRead($Label2))
    If $NeuerWert > 0 Then
    $NeuerWert = "+"&$NeuerWert
    EndIf
    GUICtrlSetData($Edit1,GUICtrlRead($Edit1)&$NeuerWert&@CRLF)
    GUICtrlSetData($Label2,GUICtrlRead($Input1))

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

    EndSwitch
    WEnd

    [/autoit]

    Wer immer nur das tut, was er bereits kann - wird auch immer nur das bleiben, was er bereits ist!

  • Nur wie sollte ich das am besten auf mein Programm anpassen. :D
    Ich habe es nun eingebaut. Aber er macht nicht den Unterschied. Wenn ich sagen wir

    15 000 Geld hatte und später dann 20 000 habe. Macht er mir +20 000 & nicht +5000 =D.

    Spoiler anzeigen
    [autoit]

    ;= Gold + -
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>
    #include <String.au3>
    #include <StructureConstants.au3>
    #include <Date.au3>
    HotKeySet("{ESC}", "_exit")
    $GOLD = "148"
    $vStaticChar = "144"
    $Status = "0"
    $vWinCount = 0
    #Region ### START Koda GUI section ### Form=
    $hGui = GUICreate("", 158, 226, 434, 374, $WS_SIZEBOX + $WS_EX_TOOLWINDOW + $WS_EX_TOPMOST + $WS_EX_WINDOWEDGE + $WS_EX_TOPMOST + $WS_VISIBLE + $WS_CLIPSIBLINGS)
    $List1 = GUICtrlCreateListView("", 0, 0, 155, 59, BitOR($LVS_LIST, $LVS_SHOWSELALWAYS, $WS_BORDER, $WS_VSCROLL))
    _GUICtrlListView_SetExtendedListViewStyle($List1, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT))

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

    $Label1 = GUICtrlCreateLabel("", 43, 114, 101, 18)
    GUICtrlSetFont(-1, 10, 800, 0, "Transformers")
    $Label2 = GUICtrlCreateLabel("Gold:", 60, 90, 34, 18)
    GUICtrlSetFont(-1, 10, 800, 4, "Transformers")
    $Button1 = GUICtrlCreateButton("Refresh", 12, 64, 131, 19, $BS_PUSHLIKE)
    #EndRegion ### END Koda GUI section ###

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

    $Edit1 = GUICtrlCreateEdit("", 16, 136, 129, 53, BitOR($ES_AUTOHSCROLL,$ES_CENTER, $ES_AUTOVSCROLL, $ES_READONLY, $WS_BORDER, 0x8000000))
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, 0x696969)
    $zeit = _NowTime()
    GUICtrlSetData($Edit1, "[" & $zeit & "]" & " ", @CRLF)
    GUICtrlSetData($Edit1, @CRLF, @CRLF)
    GUICtrlSetFont(-1, 9, 400)
    GUICtrlSetCursor(-1, 11)

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

    GUISetState(@SW_SHOW)
    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
    Global $hListView1 = GUICtrlGetHandle($List1)
    _StartListRefresh()
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    _StartListRefresh()

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

    EndSwitch
    WEnd

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

    Func _exit()
    Exit 0
    EndFunc ;==>_exit

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

    Func _StartListRefresh()
    _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($List1))

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

    $vWinCount = 0
    $vWinList = WinList("[CLASS:wxWindowClassNR]")
    For $i1 = 1 To $vWinList[0][0]
    If StringInStr($vWinList[$i1][0], "[") And StringInStr($vWinList[$i1][0], "]") Then

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

    $vWinCount += 1
    $vCharname = ControlGetText($vWinList[$i1][1], "", "Static" & $vStaticChar)

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

    $vWinCount = _GUICtrlListView_AddItem($List1, $vCharname)

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

    EndIf
    Next

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

    EndFunc ;==>_StartListRefresh

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

    Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg, $iwParam
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $tInfo

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

    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
    Case $hListView1
    Switch $iCode
    Case $NM_DBLCLK
    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
    $vCharHandle = _SH_GetCharHandle(_GUICtrlListView_GetItemText($hListView1, DllStructGetData($tInfo, "Index")))
    $vWinState = WinGetState($vCharHandle)
    If BitAND($vWinState, 2) Then
    GUICtrlSetData($Label1, _StringAddThousandsSep(ControlGetText($vCharHandle, "", "[CLASS:Static; INSTANCE:" & $GOLD & "]"), "."))
    $NeuerWert = Execute(GUICtrlRead($Label1) - GUICtrlRead(ControlGetText($vCharHandle, "", "[CLASS:Static; INSTANCE:" & $GOLD & "]"), "."))
    If $NeuerWert > 0 Then
    $NeuerWert = "+" & $NeuerWert & "Mil"
    EndIf
    GUICtrlSetData($Edit1, GUICtrlRead($Edit1) & $NeuerWert & @CRLF)
    Else
    GUICtrlSetData($Label1, "")
    GUICtrlSetData($Label1, _StringAddThousandsSep(ControlGetText($vCharHandle, "", "[CLASS:Static; INSTANCE:" & $Status & "]"), "."))
    EndIf
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

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

    Func _SH_GetCharHandle($vName)
    $vWinList = WinList("[CLASS:wxWindowClassNR]")
    For $i5 = 1 To $vWinList[0][0]
    If StringInStr($vWinList[$i5][0], "SApfel") And StringInStr($vWinList[$i5][0], "[") And StringInStr($vWinList[$i5][0], "]") Then
    $vCharname = ControlGetText($vWinList[$i5][1], "", "Static" & $vStaticChar)
    If $vName = $vCharname Then
    Return $vWinList[$i5][1]
    EndIf
    EndIf
    Next
    Return -1
    EndFunc ;==>_SH_GetCharHandle

    [/autoit]

    Einmal editiert, zuletzt von tuttifrutti (30. Juli 2009 um 17:43)

  • hmm.. das Problem ist, dass ich deinen Code nicht richtig testen kann...
    ich glaube ich muss mir deinen Code nochmal genauer angucken und die gesuchte Funktion isolieren :pinch:
    was hat denn genau nicht funktioniert? Mein Script oder Dein Script?
    also bei mir (meinem Script) zeigt er die gewünschten +5000 an ^^


    // Label 1 zeigt den "alten wert" an oder?

    dann musst du den Neuen (in deinem Beispiel um 5000 erhöhten) Wert MINUS dem "alten" wert rechnen

    Zitat

    15 000 Geld hatte und später dann 20 000 habe. Macht er mir +20 000 & nicht +5000 =D.

    dann würde er 20 000 (=Neuer Wert) - 15 000 (Alter Wert) = +5000 (=Wert für Edit)
    bei MEINEM Beispiel wurde die +5000 in die Editbox eingetragen, aber das Label hat den Neuen Wert (=20 000) bekommen

    Wer immer nur das tut, was er bereits kann - wird auch immer nur das bleiben, was er bereits ist!

  • hmm.. das Problem ist, dass ich deinen Code nicht richtig testen kann...
    ich glaube ich muss mir deinen Code nochmal genauer angucken und die gesuchte Funktion isolieren :pinch:
    was hat denn genau nicht funktioniert? Mein Script oder Dein Script?
    also bei mir (meinem Script) zeigt er die gewünschten +5000 an ^^


    // Label 1 zeigt den "alten wert" an oder?

    dann musst du den Neuen (in deinem Beispiel um 5000 erhöhten) Wert MINUS dem "alten" wert rechnen

    dann würde er 20 000 (=Neuer Wert) - 15 000 (Alter Wert) = +5000 (=Wert für Edit)
    bei MEINEM Beispiel wurde die +5000 in die Editbox eingetragen, aber das Label hat den Neuen Wert (=20 000) bekommen

    Und wie kann ich das machen ^^ Weil der Neue Wert wie gesagt 20 000 bekommt. Und 15 000 dort noch steht. Er schreibt aber ent 5000 rein sonder 20 000. Warum weiß ich selber nicht.Ich versuche mal das Programm wo er ausliehst zu ersetzen.Dann mach ich Selber ein Programm =DWo er es raus liest.

  • Hallo TuttiFrutti.

    Also ich frage mich folgendes:

    Welches ist der Startwert?
    Welches ist der wert, der addiert werden soll?
    Wo soll der Wert stehen der sich aus Startwert und zu addierender Wert ergibt?

    Ansonsten hat XovoxKingdom ein gutes Bsp. gepostet.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr

  • So weit bin ich nun.

    Spoiler anzeigen
    [autoit]

    ;= Gold + -
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>
    #include <String.au3>
    #include <StructureConstants.au3>
    #include <Date.au3>
    HotKeySet("{ESC}", "_exit")
    $GOLD = "148"
    $vStaticChar = "144"
    $Status = "0"
    $vWinCount = 0
    Dim $oldcharname
    #Region ### START Koda GUI section ### Form=
    $hGui = GUICreate("", 158, 226, 434, 374, $WS_SIZEBOX + $WS_EX_TOOLWINDOW + $WS_EX_TOPMOST + $WS_EX_WINDOWEDGE + $WS_EX_TOPMOST + $WS_VISIBLE + $WS_CLIPSIBLINGS)
    $List1 = GUICtrlCreateListView("", 0, 0, 155, 59, BitOR($LVS_LIST, $LVS_SHOWSELALWAYS, $WS_BORDER, $WS_VSCROLL))
    _GUICtrlListView_SetExtendedListViewStyle($List1, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT))

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

    $Label1 = GUICtrlCreateLabel("", 43, 114, 201, 18)
    GUICtrlSetFont(-1, 10, 800, 0, "Transformers")
    $Label2 = GUICtrlCreateLabel("Gold:", 60, 90, 204, 18)
    GUICtrlSetFont(-1, 10, 800, 4, "Transformers")
    $Button1 = GUICtrlCreateButton("Refresh", 12, 64, 131, 19, $BS_PUSHLIKE)
    #EndRegion ### END Koda GUI section ###

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

    $Edit1 = GUICtrlCreateEdit("", 16, 136, 129, 53, BitOR($ES_AUTOHSCROLL,$ES_CENTER, $ES_AUTOVSCROLL, $ES_READONLY, $WS_BORDER, 0x8000000))
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, 0x696969)
    $zeit = _NowTime()
    GUICtrlSetData($Edit1, "[" & $zeit & "]" & " ", @CRLF)
    GUICtrlSetData($Edit1, @CRLF, @CRLF)
    GUICtrlSetFont(-1, 9, 400)
    GUICtrlSetCursor(-1, 11)

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

    GUISetState(@SW_SHOW)
    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
    Global $hListView1 = GUICtrlGetHandle($List1)
    _StartListRefresh()

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

    While 1

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

    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    GUICtrlSetData($label1, ReadGoldMem())
    $startgold = GUICtrlRead($label1)
    goldloop()
    EndSwitch
    WEnd

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

    Func ReadGoldMem()
    Local $tInfo
    $vCharHandle = _SH_GetCharHandle(_GUICtrlListView_GetItemText($hListView1, DllStructGetData($tInfo, "Index")))
    Return ControlGetText($vCharHandle, "", "[CLASS:static; INSTANCE:" & $GOLD & "]")
    EndFunc

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

    Func goldloop()
    While 1
    if (ReadGoldMem() <> $startgold) then
    ;neuen Goldwert in label1 schreiben
    GuiCtrlSetData($label1, ReadGoldMem())
    ;Gewinn in labelGewinn schreiben
    GuiCtrlSetData($Label2, ReadGoldMem() - $startgold)
    EndIf
    WEnd
    EndFunc

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

    Func _exit()
    Exit 0
    EndFunc ;==>_exit

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

    Func _StartListRefresh()
    _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($List1))

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

    $vWinCount = 0
    $vWinList = WinList("[CLASS:wxWindowClassNR]")
    For $i1 = 1 To $vWinList[0][0]
    If StringInStr($vWinList[$i1][0], "[") And StringInStr($vWinList[$i1][0], "]") Then

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

    $vWinCount += 1
    $vCharname = ControlGetText($vWinList[$i1][1], "", "Static" & $vStaticChar)

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

    $vWinCount = _GUICtrlListView_AddItem($List1, $vCharname)

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

    EndIf
    Next

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

    EndFunc ;==>_StartListRefresh

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

    Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg, $iwParam
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $tInfo

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

    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
    Case $hListView1
    Switch $iCode
    Case $NM_DBLCLK
    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
    $vCharHandle = _SH_GetCharHandle(_GUICtrlListView_GetItemText($hListView1, DllStructGetData($tInfo, "Index")))
    $vWinState = WinGetState($vCharHandle)
    If BitAND($vWinState, 2) Then
    GUICtrlSetData($Label1, _StringAddThousandsSep(ControlGetText($vCharHandle, "", "[CLASS:Static; INSTANCE:" & $GOLD & "]"), "."))
    ;=GUICtrlSetData($Label1, _StringAddThousandsSep(ControlGetText($vCharHandle, "", "[CLASS:Static; INSTANCE:" & $GOLD & "]"), "."))
    ;=$NeuerWert = Execute(GUICtrlRead($Label1) + GUICtrlRead(ControlGetText($vCharHandle, "", "[CLASS:Static; INSTANCE:" & $GOLD & "]")))
    ;=If $NeuerWert > 0 Then
    ;= $NeuerWert = "+" & $NeuerWert & ".000"
    ;=EndIf
    ;=GUICtrlSetData($Edit1, GUICtrlRead($Edit1) & $NeuerWert & @CRLF)
    Else

    GUICtrlSetData($Label1, _StringAddThousandsSep(ControlGetText($vCharHandle, "", "[CLASS:Static; INSTANCE:" & $Status & "]"), "."))
    EndIf
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

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

    Func _SH_GetCharHandle($vName)
    $vWinList = WinList("[CLASS:wxWindowClassNR]")
    For $i5 = 1 To $vWinList[0][0]
    If StringInStr($vWinList[$i5][0], "SApfel") And StringInStr($vWinList[$i5][0], "[") And StringInStr($vWinList[$i5][0], "]") Then
    $vCharname = ControlGetText($vWinList[$i5][1], "", "Static" & $vStaticChar)
    If $vName = $vCharname Then
    Return $vWinList[$i5][1]
    EndIf
    EndIf
    Next
    Return -1
    EndFunc ;==>_SH_GetCharHandle

    [/autoit]