Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 11:56

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Problem mit Checkbox

Discussion on Problem mit Checkbox within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
butter123's Avatar
 
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
Problem mit Checkbox

Hallo Leute,

ich hab ein Programm geschrieben, dass die aktuelle IP alle x Minuten ausließt und in einer txt speichert.
Es soll auch im Hintergrund gestartet werden können, aber ich hab Probleme mit der Checkbox: sie verändert sich nicht, wenn man draufklickt...



butter123 is offline  
Old 08/05/2011, 22:08   #2
 
Ludder231's Avatar
 
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
PHP Code:
 If GUICtrlRead($start)= $GUI_CHECKED Then
                FileWrite
($config"1")
            Else
                
FileWrite($config"0")
            EndIf 
Ludder231 is offline  
Old 08/05/2011, 22:19   #3
 
elite*gold: 0
Join Date: Mar 2011
Posts: 8,645
Received Thanks: 3,454
oder so
PHP Code:
$a GUICtrlRead($start)
If 
$a 1 Then
    FileWrite
($config"1")
Else
    
FileWrite($config"0")
EndIf 
Freddy​ is offline  
Old 08/05/2011, 22:55   #4
 
butter123's Avatar
 
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
Das wars leider nicht ich kann die Box immer noch nicht anklicken...

Edit: Kommt das evtl. durch

PHP Code:
            If $file[3] = "1" Then             
                GUICtrlSetState
($start,$GUI_Checked)
            Else
                
GUICtrlSetState($start,$GUI_Unchecked)
            EndIf 
, dass die Box den Wert immer beibehalten will?
Aber wie bekomm ich es dann hin, dass sie den vorher gespeicherten Wert wieder hat?
butter123 is offline  
Old 08/05/2011, 22:56   #5
 
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
Dein Lösungsweg lässt doch zu wünschen übrig. Die Lösung mit der 2. Dauerschleife und den vielen Sleeps die zudem noch enorm hoch ausfallen können ist schlichtweg zu schlecht. Ich finde das ganze Script schlecht, möchte jetzt aber nicht auf jede Kleinigkeit eingehen.

Ich habe mal eine bessere Lösung erstellt, diese kannst du ja nach deinen Wünschen ausbauen:
PHP Code:
#include <GUIConstantsEx.au3>
#include <INet.au3>

Global $Timer$bSaveIP True
GUICreate
("KD"10050)
$Button GUICtrlCreateButton("Start"0010025)
$Checkbox GUICtrlCreateCheckbox("Hintergrund"5259025)
GUICtrlSetState(-1IniRead("Settings.ini""Checkbox""State"$GUI_UNCHECKED))
If 
BitAND(GUICtrlRead($Checkbox), $GUI_UNCHECKEDThen
    $bSaveIP 
False
    GUISetState
()
EndIf

Do
    
$Msg GUIGetMsg()
    If 
$Msg == $Button Then
        $Timer 
0
        $bSaveIP 
Not $bSaveIP

        
If $bSaveIP Then
            GUICtrlSetData
($Button"Stopp")
        Else
            
GUICtrlSetData($Button"Start")
        EndIf
    ElseIf 
$Msg == $Checkbox Then
        $State 
GUICtrlRead($Checkbox)
        
IniWrite("Settings.ini""Checkbox""State"$State)
        If 
BitAND($State$GUI_CHECKEDThen GUISetState(@SW_HIDE)
    EndIf

    If 
$bSaveIP Then
        
If TimerDiff($Timer) >= 10 60 1000 Then ;10 Minuten
            FileWrite
("IPList.txt", @MDAY "." & @MON "." & @YEAR " " _
                                    
@HOUR ":" & @MIN ":" & @SEC "    IP Adresse: " _GetIP() & @CRLF)
            
$Timer TimerInit()
        EndIf
    EndIf

    
Sleep(50)
Until $Msg == $GUI_EVENT_CLOSE 

Zu deinem Fehler:
PHP Code:
If $file[3] = "1" Then
    GUICtrlSetState
($start,$GUI_Checked)
Else
    
GUICtrlSetState($start,$GUI_Unchecked)
EndIf 
Das hat ohne Abfrage NICHTS in der Schleife verloren.

Haja, bist ja schon selbst drauf gekommen.
KDeluxe is offline  
Thanks
1 User
Old 08/05/2011, 23:30   #6
 
butter123's Avatar
 
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
Deine Lösung ist in der Tat wesentlich eleganter

Ich werd mich morgen mal weiter reinarbeiten, danke dir
butter123 is offline  
Old 08/06/2011, 09:58   #7
 
~>Kredar<~'s Avatar
 
elite*gold: 0
Join Date: Aug 2011
Posts: 19
Received Thanks: 1
#Stop-Beiträge
______


Nach den Regeln dürfen wir nicht zu schreiben, dass wir ein Problem haben.

Diese Regel wurde erstellt von Adroxxx













Klicken
~>Kredar<~ is offline  
Old 08/06/2011, 14:21   #8
 
omer36's Avatar
 
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
Quote:
Originally Posted by ~>Kredar<~ View Post
#Stop-Beiträge
______


Nach den Regeln dürfen wir nicht zu schreiben, dass wir ein Problem haben.

Diese Regel wurde erstellt von Adroxxx













Klicken
Threadtitle sollen so gewählt werden, dass man erkennt um was für ein Problem es sich handelt. "Problem mit Checkbox" also sieht man, dass es sich um eine Checkbox handelt.

Was man bei deinem Threadtitle nicht sagen kann:

Lern lieber AutoIt, da du anscheinend mit deinem C&P nicht weit gekommen bist. Schaust du hier:
omer36 is offline  
Old 08/06/2011, 14:32   #9
 
butter123's Avatar
 
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
Naja die Grundlagen aus den Tutorial gehen nicht sehr weit, damit kann man nicht sehr viel machen. Ich schreibe das Programm grad nochmal neu und versuche das von KillerDeluxe geschreibene einzubauen.
butter123 is offline  
Old 08/06/2011, 15:31   #10
 
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
Wofür was neues erstellen? Ein Input hätte gereicht:
PHP Code:
#include <GUIConstantsEx.au3>
#include <INet.au3>

Global $Timer$bSaveIP True
GUICreate
("KD"11075)
$B_Start GUICtrlCreateButton("Start"0011025)
GUICtrlCreateLabel("Alle"5332017)
$I_Delay GUICtrlCreateInput("10"30303021)
GUICtrlCreateLabel("Minuten"65334017)
$C_Background GUICtrlCreateCheckbox("im Hintergrund"55010025)
GUICtrlSetState(-1IniRead("Settings.ini""Checkbox""State"$GUI_UNCHECKED))
If 
BitAND(GUICtrlRead($C_Background), $GUI_UNCHECKEDThen
    $bSaveIP 
False
    GUISetState
()
EndIf

Do
    
$Msg GUIGetMsg()
    If 
$Msg == $B_Start Then
        $Timer 
0
        $bSaveIP 
Not $bSaveIP

        
If $bSaveIP Then
            GUICtrlSetData
($B_Start"Stopp")
        Else
            
GUICtrlSetData($B_Start"Start")
        EndIf
    ElseIf 
$Msg == $C_Background Then
        $State 
GUICtrlRead($C_Background)
        
IniWrite("Settings.ini""Checkbox""State"$State)
        If 
BitAND($State$GUI_CHECKEDThen GUISetState(@SW_HIDE)
    EndIf

    If 
$bSaveIP Then
        
If TimerDiff($Timer) >= GUICtrlRead($I_Delay) * 60 1000 Then
            FileWrite
("IPList.txt", @MDAY "." & @MON "." & @YEAR " " _
                                    
@HOUR ":" & @MIN ":" & @SEC "    IP Adresse: " _GetIP() & @CRLF)
            
$Timer TimerInit()
        EndIf
    EndIf

    
Sleep(50)
Until $Msg == $GUI_EVENT_CLOSE 
KDeluxe is offline  
Old 08/06/2011, 16:34   #11
 
butter123's Avatar
 
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
Soooo, bin fast fertig^^



Zwei Fragen:
Wieso verwendest du kein While 1 Switch Case... für die Buttons? So hab ich es in bisher jedem Beispiel gesehen.

Wieso Funktioniert das mit dem Traymenü nciht richtig? (es passiert nichts, wenn ich auf "Vordergrund" klicke) In der Hilfe ist es mit While 1 Select Case... gemacht, lässt sich das nicht einfach in deine Version einbauen?

lg und schonmal danke :P

keks
butter123 is offline  
Old 08/06/2011, 17:37   #12
 
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
Natürlich, bei einem oder zwei Controls benutze ich aber meistens If-Abfragen und eine Do-Schleife. Prinzipiell ist das aber egal.
KDeluxe is offline  
Old 08/06/2011, 19:11   #13
 
butter123's Avatar
 
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
So Programm ist fertig. Danke ncohmal für die Hilfe

Für alle die es wissen wollen: Ich habe
PHP Code:
    Select
        
Case $tMsg $tVordergrund                                                 ;traymenü

            $show 
Not $show
            
If $show True  Then
                GUISetState
(@SW_SHOW)
                
TrayItemSetState($tVordergrund,$TRAY_CHECKED)
            Else
                
GUISetState(@SW_HIDE)
                
TrayItemSetState($tVordergrund,$TRAY_UNCHECKED)
            EndIf

    
EndSelect 
in die Do Schleife eingefügt, und an entsprechenden Stellen die Variable... geändert.
Die Variable musste ich einfügen, da es mit TrayItemGetState() nicht 100% funktioniert hat.
butter123 is offline  
Reply


Similar Threads Similar Threads
Checkbox abfragen
11/06/2010 - AutoIt - 24 Replies
Hi liebe Com., Da ich mit der Suchfunktion nichts passendes gefunden habe, frage ich euch...: wie kann ich in diesem Skript: $Form1 = GUICreate("SpammBot by Laex", 290, 94, 192, 120) GUICtrlCreateLabel("Was willst du Spammen?",8,8) $Text = GUICtrlCreateInput("", 8, 24, 185, 21) $Button1 = GUICtrlCreateButton("LOS SPAMMEN...", 8, 48, 185, 41, $WS_GROUP) $Checkbox1 = GUICtrlCreateCheckbox("Mit Enter", 200, 3, 89, 57) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ###
checkbox in rls bereich
09/20/2010 - Main - 0 Replies
ich weiß nicht ob das jetzt "erlaubt" ist nach zufragen egal wenn nicht > close plawks^^ wenns hier falsch gepostet ist dann pls move^^ und sry wegen meiner rechtschreibung :( ich habe im crossfire forum was auch wahrscheinlich in den aderen foren sein wird gesehn das man eine checkbox anklicken muss um ein thread erstellen zu können. ich spiele 2 online games (maplestory, crossfire) natürlich bin ich auch in einem guten maplestory hack forum angemeldet und ich muss feststellen das...
Checkbox Hilfe!
09/11/2010 - AutoIt - 6 Replies
Hallo ich brauche schnell eure hilfe... Ich schreibe einen Trainer und möchte, dass wenn z.B. $Checkbox14 angekreuzt ist, $Checkbox15 nicht angekreuzt ist. und wenn dann
Help-CheckBox zuweisen!
11/29/2009 - AutoIt - 13 Replies
Hallo Leute ich hab mal wieder ne Frage xD Also, ich wollte mal mit AutoIT ein Programm schreiben für mich und meine freunde und so, dass wenn sie den Pc neumachen das dieses Programm halt die wichtigsten bzw. auch guten Programme automatisch insterliert. Das mit dem Automatisch insterlieren war ja kein Problem für mich, doch wie mache ich es das er jetzt z.b. anklickt das er Antivir haben will und Firfox, dass er die nacheinander Insterliert. Also hier noch mal mehr Infos. Wenn er jetzt...
checkbox auslesen ?
05/27/2009 - AutoIt - 3 Replies
Hey, brauche hilfe da weder search hier im forum noch au3 help was ausgespuckt hat wie bekomme ich checkbox ausgelesen (vieleicht so wie $radio??) sodas ich diese dann in eine if/else reinpacken kann hier mal ansatz //Edit:so habe es hinbekommen aber wie packe ich diese nun in eine if/else also das wenn z.b. alle 3 ausgewählt sind er auch alle 3 ausführt? danke euch schonmal ;D



All times are GMT +1. The time now is 11:57.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.