Hallo Leute!
Ich habe mir für ein Onlinegame folgendes Progrämmchen gebastelt, jedoch hakt es beim GuiCtrlSetData ziemlich am Ende der Scripts! In der davor liegenden MsgBox wird der Wert korrekt angezeigt, jedoch dann im Feld selber steht nur die erste Zahl, testet mal dann wisst ihr was ich meine!
Kann jemand dazu etwas sagen, bzw. gibts dafür eine Erklärung und Lösung?
Danke im voraus!!!
[autoit]#include <GUIConstants.au3>
#include <String.au3>
#include <misc.au3>
HotKeySet("{F1}", "_beenden")
[/autoit][autoit][/autoit][autoit];GUI anlegen
$GUI = GUICreate("Ogame Berechnung", 500, 500, 193, 125)
GUICtrlCreateLabel("Stunden", 125, 20)
GUICtrlCreateLabel("Tage", 225, 20)
GUICtrlCreateLabel("Wochen", 325, 20)
;Eingabe wieviel Stunden, Tage, Wochen
$Stunde = GUICtrlCreateInput("", 125, 50, 25, 20)
$Tag = GUICtrlCreateInput("", 225, 50, 25, 20)
$Woche = GUICtrlCreateInput("", 325, 50, 25, 20)
GUICtrlCreateLabel("Metall:", 25, 175)
GUICtrlCreateLabel("Kristall:", 25, 200)
GUICtrlCreateLabel("Deuterium:", 25, 225)
$MetallproStunde = GUICtrlCreateLabel("", 125, 175)
$KristallproStunde = GUICtrlCreateLabel("", 125, 200)
$DeuteriumproStunde = GUICtrlCreateLabel("", 125, 225)
$MetallproTag = GUICtrlCreateLabel("", 225, 175)
$KristallproTag = GUICtrlCreateLabel("", 225, 200)
$DeuteriumproTag = GUICtrlCreateLabel("", 225, 225)
$MetallproWoche = GUICtrlCreateLabel("", 325, 175)
$KristallproWoche = GUICtrlCreateLabel("", 325, 200)
$DeuteriumproWoche = GUICtrlCreateLabel("", 325, 225)
$Rechne = GUICtrlCreateButton("Berechnen", 175, 95, 145, 20)
GUISetState()
Dim $Metall1 = 17870, $Metall2 = 5392, $Metall3 = 12133, $Metall4 = 13820, $Metall5 = 15724, $Metall6 = 961, $Metall7 = 10639, $Metall8 = 3506, $Metall9 = 15724
Dim $Kristall1 = 8085, $Kristall2 = 2011, $Kristall3 = 6207, $Kristall4 = 6207, $Kristall5 = 6207, $Kristall6 = 763, $Kristall7 = 4128, $Kristall8 = 1728, $Kristall9 = 7089
Dim $Deuterium1 = 3826, $Deuterium2 = 759, $Deuterium3 = 2185, $Deuterium4 = 2977, $Deuterium5 = 3643, $Deuterium6 = 438, $Deuterium7 = 1526, $Deuterium8 = 838, $Deuterium9 = 2082
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
CASE $Rechne
$Metall = $Metall1 + $Metall2 + $Metall3 + $Metall4 + $Metall5 + $Metall6 + $Metall7 + $Metall8 + $Metall9
$Kristall = $Kristall1 + $Kristall2 + $Kristall3 + $Kristall4 + $Kristall5 + $Kristall6 + $Kristall7 + $Kristall8 + $Kristall9
$Deuterium = $Deuterium1 + $Deuterium2 + $Deuterium3 + $Deuterium4 + $Deuterium5 + $Deuterium6 + $Deuterium7 + $Deuterium8 + $Deuterium9
$Metall = _StringAddComma($Metall)
$Metall = StringReplace(($Metall), "," , ".")
$Kristall = _StringAddComma($Kristall)
$Kristall = StringReplace(($Kristall), "," , ".")
$Deuterium = _StringAddComma($Deuterium)
$Deuterium = StringReplace(($Deuterium), "," , ".")
$Ende1 = GuiCtrlREad($Stunde)
$Ende1ges = ($Ende1 * $Metall)
msgBox(0,"",$Ende1ges)
GUICtrlSetData($MetallproStunde, $Ende1ges, "")
EndSwitch
WEnd
Func _beenden()
Winclose("","")
Exit
EndFunc