1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. vonglahn

Beiträge von vonglahn

  • Icon von InputBox ändern bei TrayIcon App

    • vonglahn
    • 17. Dezember 2014 um 12:43

    Danke es hat geklappt. Man Sieht es zwar nur beim kompilieren Programm, aber das reicht ja auch.

    Danke dafür

  • Icon von InputBox ändern bei TrayIcon App

    • vonglahn
    • 17. Dezember 2014 um 12:06

    Hallo

    ich arbeite gerade an eine Eieruhr bzw. Teeuhr. Hierzu habe ich ein Programm geschrieben, das ausschließlich im als TrayIcon existiert. Es gibt eine InputBox die die Zeit abfragt. Leider hat dieses Fenster nur das normale Autoit Icon und nicht mein eigenes Icon, dass ich geändert habe.

    Ich hoffe Ihr habt eine Idee

    Danke

    Hier ist mein Bescheidener Quelltext:

    C
    ;#include <Array.au3>
    #include <TrayConstants.au3>
    #include <GUIConstantsEx.au3>
    
    
    Global $timerison = 0
    Global $Timer = 0;Handle für Timer
    Global $TimerTime = 1000;Zeit für Timer
    
    
    Opt("TrayMenuMode", 3) ; Default tray menu items (Script Paused/Exit) will not be shown.
    
    
    Local $beepitem = TrayCreateItem("Beep")
    TrayCreateItem("");separator
    Local $aboutitem = TrayCreateItem("About")
    TrayCreateItem("");separator
    Local $exititem = TrayCreateItem("Exit")
    
    
    TraySetIcon("Clock.ico", 0)
    
    
    TraySetState();Show Tray Icon
    
    
    TraySetToolTip("Eieruhr")
    
    
    While 1
    	Local $msg = TrayGetMsg()
    
    
    	If $timerison = 1 Then
    		Local $Diff = TimerDiff($Timer);
    		If $Diff >= $TimerTime Then
    			Beep(1500, 1000)
    			$timerison = 0
    		EndIf
    	EndIf
    
    
    	Select
    		Case $msg = 0
    			ContinueLoop
    		Case $msg = $beepitem
    			Local $TimerTime = InputBox("Zeit", "Geben Sie die Zeit ein", "5")
    			$TimerTime = $TimerTime * 1000
    			If @error = 0 Then
    				Local $Timer = TimerInit()
    				$timerison = 1
    			EndIf
    			TrayItemSetState($beepitem, $TRAY_UNCHECKED)
    		Case $msg = $aboutitem
    			MsgBox(64, "Eieruhr", "Stellen Sie die Zeit und es piep")
    			TrayItemSetState($aboutitem, 4)
    		Case $msg = $exititem
    			ExitLoop
    	EndSelect
    WEnd
    
    
    Exit
    Alles anzeigen
  • TCPrecv

    • vonglahn
    • 26. September 2013 um 12:35

    Hallo,

    ich denke jjj hat recht. Ich kann mit TCPrecv ein Zeit lang warten, also liegt mein Fehler nicht in der Fehlerhaften verwendung von TCPrecv. Ich werde mal testen wie lange man warten kann, bis die Antwort nicht mehr da ist.

    Danke von die Hilfe

  • TCPrecv

    • vonglahn
    • 23. September 2013 um 15:14

    Hallo,

    es kommen zwei byte zurück die entweder 0 oder 1 enthalten. Je nachdem ob die entsprechende Dose ein- oder ausgeschaltet ist. Über diese Informationen zeige ich entsprechenden Icons an. Leider verrutschen die Icons manchmal. Wo eine 1 ist ist jetzt eine Null und umgekehrt. Ich vermute, dass ich etwas falsch mache.

    Was passiert bei einem TCPrecv genau? Sendet der Server einfach die Zahl an den Client oder holt der Client die Zahl beim Server ab?


    Grüße

  • TCPrecv

    • vonglahn
    • 23. September 2013 um 14:28

    Hallo Liebes Forum,

    ich habe eine Frage zum Datenempfang mittels TCPrecv().

    Ich habe eine Steckdosenleiste die ich über IP schalten kann. Mein Program funktioniert soweit schon. Allerdings habe ich Probleme mit dem Status. Man sendet mit TCPsend() einen Befehlt an die Steckdosenleiste. Danach soll man den "Rückgabewert" der Funktion auslesen. Dieses erledige ich mit TCPrecv().

    Das habe ich so gemacht:

    Code
    TCPstartup()
    $socket = TCPConnect($IP, $port);TCP Verbindung herstellen
    TCPSend($socket, "S") ;Status von der Steckdosenleite anfordern
    $status = TCPrecv($socket,2) ;Antwort auslesen


    Mit $status arbeite ich dann weiter (Icons anzeigen und so.)

    Leider geraten die Antworten etwas durcheinander, sodass ich glaube ich habe etwas vergessen oder falsch gemacht. Wie geht man in einem solchen fall vor? Muss man parallel auf die Antwort warten oder kann man das auch später machen?


    Für etwas Aufhellumng wäre ich dankbar

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™