|
You last visited: Today at 16:40
Advertisement
Label Aktualisierungs Probleme
Discussion on Label Aktualisierungs Probleme within the AutoIt forum part of the Coders Den category.
06/16/2012, 01:13
|
#1
|
elite*gold: 0
Join Date: Apr 2006
Posts: 30
Received Thanks: 5
|
Label Aktualisierungs Probleme
Hallöchen,
Bin gerade dabei Tool zu schreiben womit ich verschiedene Spiele/ Programme mittels Dropdown auswählen und starten kann.
Des weiteren soll es auch ein Paar Infos zum Spiel o.ä. nach der Auswahl angezeigt werden. Dies wollte ich mittels Label machen.
Nun habe ich aber das Problem das die Schrift im Label Flackert und mir fällt einfach keine Lösung ein (wenn ich die Aktualisierung aus der While Schleife nehme gibt es keine mehr).
Vielleicht fällt euch was schönes ein... und wenn ihr sonst noch produktive Verbesserungsvorschläge habt, bin ich darüber natürlich auch sehr erfreut
Ach ja, manchmal habe ich das Problem das ich mehrfach auf den Auswahl Button klicken muss um ihn zu bestätigen und das gleiche auch beim "x" (schließen).
Code:
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.8.1
Author: Peter
Template AutoIt script.
#ce ----------------------------------------------------------------------------
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
;==================================================================================================================================================
Global $Array[3][3]
$Array[0][0] = "Spiel1"
$Array[0][1] = "Beschreibung Spiel 1"
$Array[0][2] = "1"
$Array[1][0] = "Spiel2"
$Array[1][1] = "Beschreibung Spiel 2"
$Array[1][2] = "2"
$Array[2][0] = "Spiel3"
$Array[2][1] = "Beschreibung Spiel 3"
$Array[2][2] = "3"
;==================================================================================================================================================
$Form2 = GUICreate("Form2", 482, 530, 719, 176)
$Group1 = GUICtrlCreateGroup("Spiel Auswahl", 8, 8, 465, 513, BitOR($GUI_SS_DEFAULT_GROUP, $BS_CENTER))
$Group2 = GUICtrlCreateGroup("Info", 16, 80, 449, 401)
$Label1 = GUICtrlCreateLabel("Spiel Informationen", 24, 104, 438, 375) ;Info Text
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlSetCursor(-1, 5)
$Combo1 = GUICtrlCreateCombo($Array[0][0], 32, 40, 417, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL, $CBS_SORT)) ;Dropdown Menü
For $i = 0 To UBound($Array, 2) - 1
GUICtrlSetData($Combo1, $Array[$i][0], True)
Next
$Button1 = GUICtrlCreateButton("Auswahl", 16, 488, 451, 25) ;Auswahl Knopf
;==================================================================================================================================================
GUICtrlSetFont($Button1, 10, 400, 0, "Rockwell")
GUICtrlSetFont($Label1, 8, 400, 0, "Rockwell")
;GUICtrlSetFont(-1, 10, 400, 0, "Rockwell")
GUICtrlSetFont($Combo1, 10, 400, 0, "Rockwell")
GUICtrlSetFont($Group2, 10, 400, 0, "Rockwell")
GUICtrlSetFont($Group1, 12, 800, 0, "Rockwell Condensed")
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState()
;==================================================================================================================================================
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
;==================================================================================================================================================
If GUICtrlRead($Combo1) == "Spiel1" Then
$u = 0
ElseIf GUICtrlRead($Combo1) == "Spiel2" Then
$u = 1
ElseIf GUICtrlRead($Combo1) == "Spiel3" Then
$u = 2
EndIf
GUICtrlSetData($Label1, $Array[$u][1])
;==================================================================================================================================================
$msg = GUIGetMsg()
If $msg = $Button1 Then
MsgBox(0, "Starte Dummy", GUICtrlRead($Combo1))
EndIf
WEnd
|
|
|
06/16/2012, 10:07
|
#2
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
3 lösungsmöglichkeiten würden mir jetzt pauschal einfallen...
das flackern entsteht ja durch das zu schnelle aktualisieren. logisch wäre es eine kleine verzögerung einzubauen, welche aber zu einer kleinen ungenauigkeit führen würde. also verwerfen wir diese idee mal gleich wieder. alternativ könnte man mit einer tempvariable arbeiten, welche immer den jeweils letzten inhalt des controls speichert. nur wenn sich der inhalt ändert, aktualisieren wir das ganze.
da wir den inhalt aber auch einfach direkt auslesen können, ist die wohl einfachste möglichkeit die folgende:
Code:
Func UpdateTextControl($control, $newText)
If GUICtrlRead($control) <> $newText Then GUICtrlSetData($control, $newText)
EndFunc
Edit:
umgesetzt könnte das ganze so aussehen:
Code:
Global $Array[3][3]
$Array[0][0] = "Spiel1"
$Array[0][1] = "Beschreibung Spiel 1"
$Array[0][2] = 1
$Array[1][0] = "Spiel2"
$Array[1][1] = "Beschreibung Spiel 2"
$Array[1][2] = 2
$Array[2][0] = "Spiel3"
$Array[2][1] = "Beschreibung Spiel 3"
$Array[2][2] = 3
;==================================================================================================================================================
$Form2 = GUICreate("Form2", 482, 530, 719, 176)
$Group1 = GUICtrlCreateGroup("Spiel Auswahl", 8, 8, 465, 513)
$Group2 = GUICtrlCreateGroup("Info", 16, 80, 449, 401)
$Label1 = GUICtrlCreateLabel("Spiel Informationen", 24, 104, 438, 375) ;Info Text
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlSetCursor(-1, 5)
$Combo1 = GUICtrlCreateCombo($Array[0][0], 32, 40, 417, 25) ;Dropdown Menü
For $i = 0 To UBound($Array)-1
GUICtrlSetData($Combo1, $Array[$i][0], True)
Next
$Button1 = GUICtrlCreateButton("Auswahl", 16, 488, 451, 25) ;Auswahl Knopf
;==================================================================================================================================================
GUICtrlSetFont($Button1, 10, 400, 0, "Rockwell")
GUICtrlSetFont($Label1, 8, 400, 0, "Rockwell")
;GUICtrlSetFont(-1, 10, 400, 0, "Rockwell")
GUICtrlSetFont($Combo1, 10, 400, 0, "Rockwell")
GUICtrlSetFont($Group2, 10, 400, 0, "Rockwell")
GUICtrlSetFont($Group1, 12, 800, 0, "Rockwell Condensed")
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState()
;==================================================================================================================================================
While 1
Switch GUIGetMsg()
Case -3
Exit
Case $Button1
MsgBox(0, "Starte Dummy", GUICtrlRead($Combo1))
EndSwitch
UpdateControl($Label1, $Array[GetIndex($Combo1)][1])
WEnd
Func UpdateControl($control, $newText)
If GUICtrlRead($control) <> $newText Then GUICtrlSetData($control, $newText)
EndFunc
Func GetIndex($control)
For $i=0 To UBound($Array)-1
If GUICtrlRead($control) = $Array[$i][0] Then Return $i
Next
EndFunc
|
|
|
06/16/2012, 15:44
|
#3
|
elite*gold: 0
Join Date: Apr 2006
Posts: 30
Received Thanks: 5
|
Super, Danke dir  hat super geklappt!
|
|
|
 |
Similar Threads
|
Xbox 360 Aktualisierungs-Problem
10/14/2011 - Consoles - 2 Replies
Hi
Wollte heute mal wieder an meine Box und wollte sie aktualisieren lassen.Nachdem sie neu gesteratet ist und die aktualisierung fortsetzen wollte steht dfort das die Aktualisierung fehlgeschlagen ist (den Statuscode kann ich später posten).Dan stand da ich sollte die Xbox-Live Verbindung testen hab ich gemacht und trotz aller Portfreigaben habe ich keine Verbindung !
Ich habe auch den Rooter an und aus geschaltet,das hat auch nichts gebracht.
Ich hoffe hier kann mit jemand helfen.
MfG...
|
Herr der ringe online aktualisierungs Problem
08/08/2011 - Lord of the Rings Online - 3 Replies
Hallo,
ich habe folgendes problem und zwar wenn ich den launcher öffne,dann verbindet er sich gut usw. aber es kommt dieses problem:
"Die vom Server heruntergeladenen Daten können nicht entschlüsselt und entserialisiert werden"
Ports sind alle freigeschaltet.
|
Prozenanzeige im Label
08/08/2011 - AutoIt - 5 Replies
Hiho,
ich hab mal ne Frage: Wie rechnet man aus wie viel Prozent man(der Bot) schon geschafft hat?
Also ich lese die Accountanzahl aus mit Filecountlines. Dann soll er mir in einem Label anzeigen wie viel er schhon geschafft hat(Je nachdem vie viele Acounts er ausgelesen hat) in Prozent.
MfG Ludder231
|
Run - Label?
02/22/2010 - GW Bots - 3 Replies
Hallo an alle Pvpers,
Ich hab in meiner GUI ein Label dass anzeigen soll wieviele Runs bisher gemacht wurden. Dies soll immer erneuert werden nachdem "/resign" eingegeben wurde. ICh dachte schon an:
Funktioniert aber nich. Oder was ich mir auch noch gedacht habe war:
Kann mir jmd helfen?
|
All times are GMT +1. The time now is 16:40.
|
|