Danke es hat geklappt. Man Sieht es zwar nur beim kompilieren Programm, aber das reicht ja auch.
Danke dafür
Danke es hat geklappt. Man Sieht es zwar nur beim kompilieren Programm, aber das reicht ja auch.
Danke dafür
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:
;#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
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
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
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:
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