|
You last visited: Today at 22:03
Advertisement
1GUI Question 1Knopf Question
Discussion on 1GUI Question 1Knopf Question within the AutoIt forum part of the Coders Den category.
10/02/2010, 13:14
|
#1
|
elite*gold: 0
Join Date: Aug 2010
Posts: 46
Received Thanks: 0
|
1GUI Question 1Knopf Question
Wenn man auf den Button klickt sollte doch eigentl. die msg box kommen?:
PHP Code:
#include <GUIConstants.au3> $Button2 = GUICtrlCreateButton("About", 8, 400, 91, 25, 0) Switch $Button2 Case MsgBox(0,"About","hier steht iwas") EndSwitch
oder?Bei mir kommt aber keine Box
Welcher AutoIt SendKnopf muss man eingeben wen send Druck S-Abf drücken soll?Bei der AutoIt Hilfe steht es nicht
|
|
|
10/02/2010, 13:26
|
#2
|
elite*gold: 966
Join Date: Apr 2010
Posts: 1,104
Received Thanks: 681
|
Also die erste Frage ist leicht zu beantworten. Setz das ein:
PHP Code:
(...) $Button2 = GUICtrlCreateButton("About", 8, 400, 91, 25, 0) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $Button2 MsgBox(0,"About","hier steht iwas") (...gui_event_close, etc.) EndSwitch WEnd
Du hast du noch keine Form deklariert. Keine Ahnung, aber ich denke, dass man ne Form deklarieren muss, ehe man ein Button draufsetzt. Zudem hattest du keine While-Schleife, weshalbt sich der Code sofort beenden würde (ruft nur einmal GuiGetMsg() ab --> geht zu schnell, um was zu drücken), sobald man ihn startet.
Also für deine zweite Frage kann ich dir Seite mal geben. Hab noch nicht raufgeschaut, aber da scheint ne nützliche Tabelle drin zu sein.
|
|
|
10/02/2010, 13:27
|
#3
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
du solltest wissen, das switch auch nur eine abfrage ist, welche sehr gut vergleichbar mit einer if abfrage ist.
für
Code:
if $a=1 then
$b=2
elseif $a=2 then
$b=3
endif
könnte man auch schreiben:
Code:
switch $a
case 1
$b=2
case 2
$b=3
endswitch
das heist, du hast nach dem switch den parameter auf den geschaut werden soll.
in deinem gui ist das die msg die ans gui geht.
diese wird mit GuiGetMsg() empfangen.
wenn dein button angesprochen wird ist GuiGetMsg() = $button.
somit ergibt sich
Code:
If GuiGetMsg() = $Button2 then
MsgBox(0,"About","hier steht iwas")
EndIf
oder mit switch:
Code:
Switch GuiGetMsg()
Case $Button2
MsgBox(0,"About","hier steht iwas")
EndSwitch
|
|
|
10/02/2010, 13:32
|
#4
|
elite*gold: 0
Join Date: Aug 2010
Posts: 46
Received Thanks: 0
|
Danke aber iwie geht das auch nicht Beide Varianten If und Switch
|
|
|
10/02/2010, 13:35
|
#5
|
elite*gold: 0
Join Date: Aug 2010
Posts: 46
Received Thanks: 0
|
welche muss ich den includen?
ich hab nur:
PHP Code:
#include <GUIConstants.au3>
brauch ich vllt. noch
PHP Code:
<ButtonConstants.au3>
|
|
|
10/02/2010, 13:43
|
#6
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
eigentlich brauchst du keine includes.
dein gui könnte zb so aussehen:
Code:
GUICreate('blah', 120, 60, -1, -1, 0x10C80000)
$btn = GUICtrlCreateButton('Button', 10, 10, 105, 40)
While 1
Switch GUIGetMsg()
Case -3
Exit
Case $btn
MsgBox(0,'info','der button wurde gedrückt')
EndSwitch
WEnd
den style-parameter vom gui habe ich mal mit
0x00C00000 ($WS_CAPTION), 0x10000000 ($WS_VISIBLE) und 0x00080000 ($WS_SYSMENU) belegt, so dass sich 0x10C80000 (0x00C00000 + 0x10000000 + 0x00080000) ergeben hat.
|
|
|
10/02/2010, 13:54
|
#7
|
elite*gold: 0
Join Date: Aug 2010
Posts: 46
Received Thanks: 0
|
trotzdem kommt keine msg bei mir mein bisheriger source:
PHP Code:
#include <GUIConstants.au3> HotKeySet("F1","End") #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("iwas", 633, 447, 193, 125) $Button1 = GUICtrlCreateButton("button", 232, 320, 139, 33, 0) $Label1 = GUICtrlCreateLabel("iwas", 16, 32, 196, 97) $Button2 = GUICtrlCreateButton("About", 8, 400, 91, 25, 0) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ###
While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd Switch GUIGetMsg () Case $Button2 MsgBox(0,"About","iwas") EndSwitch Func End () Exit EndFunc
|
|
|
10/02/2010, 14:00
|
#8
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
Quote:
Originally Posted by urasic
trotzdem kommt keine msg bei mir mein bisheriger source:
PHP Code:
#include <GUIConstants.au3> HotKeySet("F1","End") #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("iwas", 633, 447, 193, 125) $Button1 = GUICtrlCreateButton("button", 232, 320, 139, 33, 0) $Label1 = GUICtrlCreateLabel("iwas", 16, 32, 196, 97) $Button2 = GUICtrlCreateButton("About", 8, 400, 91, 25, 0) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ###
While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd Switch GUIGetMsg () Case $Button2 MsgBox(0,"About","iwas") EndSwitch Func End () Exit EndFunc
|
du solltest mit einer richtigen code formatierung arbeiten. dann wirst du auch selbst deinen fehler sehen.
dein aktueller code sieht so aus:
Code:
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Switch GUIGetMsg()
Case $Button2
MsgBox(0,"About","iwas")
EndSwitch
Func End()
Exit
EndFunc
mit while 1 setzt du eine schleife die niemals enden kann. jeder code der unter dieser while schleife steht kann nie erreicht werden (es sei denn es handelt sich um funktionen die man callen kann).
du hast in der while schleife doch bereits eine switch abfrage für GuiGetMsg() enthalten.
da $GUI_EVENT_CLOSE = -3 kannst du auch direkt
Code:
While 1
Switch GUIGetMsg()
Case -3
Exit
Case $Button2
MsgBox(0,"About","iwas")
EndSwitch
WEnd
schreiben.
ich hoffe mal du versuchst zu verstehen was hier geschrieben wird. wenn du immer nur copy paste nutzt, ohne über die hintergründe nachzudenken, wirst du nie selbst ein script zum laufen bekommen.
|
|
|
10/02/2010, 14:03
|
#9
|
elite*gold: 52
Join Date: Oct 2010
Posts: 1,998
Received Thanks: 389
|
Hier ist nochmal alles zusammengefasst
PHP Code:
#include <GUIConstants.au3> HotKeySet("F1","End") #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("iwas", 633, 447, 193, 125) $Button1 = GUICtrlCreateButton("button", 232, 320, 139, 33, 0) $Label1 = GUICtrlCreateLabel("iwas", 16, 32, 196, 97) $Button2 = GUICtrlCreateButton("About", 8, 400, 91, 25, 0) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button2 MsgBox(0,"About","iwas") EndSwitch WEnd Func End () Exit EndFunc
|
|
|
10/02/2010, 14:04
|
#10
|
elite*gold: 0
Join Date: Aug 2010
Posts: 46
Received Thanks: 0
|
danke ich kann eigentl. nur die grundlagen+weiterführendes TuT von shadow
mit GUI hab ich mich nicht befasst.
|
|
|
10/02/2010, 14:24
|
#11
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
schleifen haben nichts mit einem gui zu tun.
Code:
While 1
Sleep(1000)
WEnd
MsgBox(0, 'Info', 'Hallo, ich bin eine MsgBox')
wenn du nicht verstehst, warum dieser code niemals eine MsgBox ausgibt, hast das du das grundprinziep vom scripten nicht verstanden.
In einem script wird alles nacheinander in genau der reihenfolge ausgeführt, in der es geschrieben steht. While 1 steht zb eigentlich für While True. und wenn man True, ohne jegliche verbindung zu einer Variable nutzt, wird es aufs script bezogen.
While 1 bedeutet also solange das Script läuft. dh, alles zwischen While 1 und WEnd wird solange ausgeführt, bis ein Exit bzw. ExitLoop befehl erreicht wird.
auf den code oben bezogen würde das heissen, der computer macht genau das hier:
Code:
Sleep(1000)
Sleep(1000)
Sleep(1000)
Sleep(1000)
Sleep(1000)
...
was auch immer unter der while schleife steht kann nie erreicht werden, da kein ExitLoop befehl in der schleife existiert.
|
|
|
10/02/2010, 14:35
|
#12
|
elite*gold: 0
Join Date: Aug 2010
Posts: 46
Received Thanks: 0
|
bei mir kommt gar nix wenn ich es starte:
PHP Code:
HotKeySet("F1","iwas") GUICreate("Screen dozZer!",633,447,193,125) $button1=GUICtrlCreateButton("iwas",232,240,139,33,0) $button2=GUICtrlCreateButton("About",24,400,91,25,0) While 1 Switch GUIGetMsg () Case -3 Case $Button2 MsgBox(0,"About","iwas") Case $Button1 ;ein befehl EndSwitch WEnd Func iwas () Exit EndFunc While 1 Sleep(1000) WEnd
|
|
|
10/02/2010, 14:46
|
#13
|
elite*gold: 52
Join Date: Oct 2010
Posts: 1,998
Received Thanks: 389
|
Probiere es mal hiermit:
PHP Code:
HotKeySet("F1","iwas") GUICreate("Screen dozZer!",633,447,193,125) $button1=GUICtrlCreateButton("iwas",232,240,139,33,0) $button2=GUICtrlCreateButton("About",24,400,91,25,0) guisetstate(@SW_SHOW) While 1 Switch GUIGetMsg () Case -3 exit Case $Button2 MsgBox(0,"About","iwas") Case $Button1 iwas() EndSwitch WEnd Func iwas () Exit EndFunc
|
|
|
10/02/2010, 15:03
|
#14
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
Quote:
Originally Posted by urasic
bei mir kommt gar nix wenn ich es starte:
PHP Code:
HotKeySet("F1","iwas") GUICreate("Screen dozZer!",633,447,193,125) $button1=GUICtrlCreateButton("iwas",232,240,139,33,0) $button2=GUICtrlCreateButton("About",24,400,91,25,0) While 1 Switch GUIGetMsg () Case -3 Case $Button2 MsgBox(0,"About","iwas") Case $Button1 ;ein befehl EndSwitch WEnd Func iwas () Exit EndFunc While 1 Sleep(1000) WEnd
|
erstmal ist die while schleife da am ende mal wieder nicht erreichbar, und zweitens hast du dein gui nicht sichtbar gemacht. entweder du tust das so wie bereits von BlackHybrid gepostet, über GuiSetState, oder du legst es gleich beim erstellen des guis fest. guck dir nochmal das beispiel gui von mir vorhin an. da hatte ich erklärt wie man die style parameter in verbindung nutzt. $WS_VISIBLE sorgt in diesem falle dafür, dass das fenster gleich sichtbar erstellt wird (macht ja nicht viel sinn, extra ein unsichtbares fenster zu erstellen, was dann gleich nach der erstellung wieder sichtbar gemacht wird)
|
|
|
10/02/2010, 15:17
|
#15
|
elite*gold: 52
Join Date: Oct 2010
Posts: 1,998
Received Thanks: 389
|
Ich finde es mit GUISetState(@SW_Show) besser da man mit $WS_VISIBLE
#include <WindowsConstants.au3> includieren muss.
Ich kann mir zwar nicht vorstellen dass man später ohne einen Fenster-Stil eine GUI macht aber für den anfang reicht @SW_Show allemal
|
|
|
Similar Threads
|
[QUESTION]How do i bypass Xtrap for any private server?[QUESTION]
10/12/2009 - Cabal Online - 3 Replies
Exactly what the title says.
I keep on getting an xTrap error when i try and load ANY private server that uses XTrap and it's driving me absolutely insane.
I cant figure out why it's showing me the error. If anyone has any bypasser for Helix / PaRaDoX
or any other server u know that has xTrap can u either PM me the bypass or post it here pls......this is driving me nuts
Bump.
|
[QUESTION]How do i bypass Xtrap for any private server?[QUESTION]
10/02/2009 - Cabal Private Server - 2 Replies
Exactly what the title says.
I keep on getting an xTrap error when i try and load ANY private server that uses XTrap and it's driving me absolutely insane.
I cant figure out why it's showing me the error. If anyone has any bypasser for Helix / PaRaDoX
or any other server u know that has xTrap can u either PM me the bypass or post it here pls......this is driving me nuts
|
All times are GMT +2. The time now is 22:03.
|
|