sebsabul Posted April 7, 2005 Share Posted April 7, 2005 Hello guys, need some help please. Here is my script: #include <array.au3> #NoTrayIcon Opt("TrayMenuMode",1) $exititem = TrayCreateItem("Exit") TraySetIcon("Shell32.dll",166) AdlibEnable("myadlib", 1) $var = IniRead("C:\Windows\System\status.ini", "section2", "key", "NotFound") sleep(20000) While 1 sleep (20000) Ping("192.168.0.3", 20000) If @error = 0 Then RunWait(@ComSpec & " /c arp.exe -a > " & @TempDir & "\arplog.txt", "", @SW_HIDE) $fic = FileOpen(@TempDir & "\arplog.txt", 0) If $fic = -1 Then Exit $index = 4 $tab_mac = "" While 1 $line = FileReadLine($fic, $index) If @error = -1 Then ExitLoop $mac = StringMid($line, 25, 17) $tab_mac = $tab_mac & $mac & ";" $index = $index + 1 WEnd $tab_mac = StringSplit($tab_mac, ";") For $x = 1 to $tab_mac[0] if $tab_mac[$x] = "00-50-8d-52-35-87" then else Call ( "myfunc" ) EndIf Next Else EndIf Wend While 1 sleep (20000) Ping("192.168.0.3", 20000) If @error = 0 Then RunWait(@ComSpec & " /c arp.exe -a > " & @TempDir & "\arplog.txt", "", @SW_HIDE) $fic = FileOpen(@TempDir & "\arplog.txt", 0) If $fic = -1 Then Exit $index = 4 $tab_mac = "" While 1 $line = FileReadLine($fic, $index) If @error = -1 Then ExitLoop $mac = StringMid($line, 25, 17) $tab_mac = $tab_mac & $mac & ";" $index = $index + 1 WEnd $tab_mac = StringSplit($tab_mac, ";") For $x = 1 to $tab_mac[0] if $tab_mac[$x] = "00-50-8d-52-35-87" then Call("myfunc3") ;goto loop 1/beginn the programm from start ------------------------> HERE else EndIf Next Else EndIf Wend Func myfunc() $var = IniRead("C:\Windows\System\status.ini", "section2", "key", "NotFound") Sleep(5000) Ping("192.168.0.3", 20000) If @error = 0 Then RunWait(@ComSpec & " /c arp.exe -a > " & @TempDir & "\arplog.txt", "", @SW_HIDE) $fic = FileOpen(@TempDir & "\arplog.txt", 0) If $fic = -1 Then Exit $index = 4 $tab_mac = "" While 1 $line = FileReadLine($fic, $index) If @error = -1 Then ExitLoop $mac = StringMid($line, 25, 17) $tab_mac = $tab_mac & $mac & ";" $index = $index + 1 WEnd $tab_mac = StringSplit($tab_mac, ";") For $x = 1 to $tab_mac[0] if $tab_mac[$x] = "00-50-8d-52-35-87" then else call("myfunc2") EndIf Next Else EndIf EndFunc Func myfunc2() If $var = "disabled" Then ProcessClose ( "status.exe" ) Runwait("C:\Windows\System\enabled.exe") Endif EndFunc Func myfunc3() If $var = "enabled" Then Runwait("C:\Windows\System\status.exe") Endfunc Func myadlib() $msg2 = TrayGetMsg() If $msg2 = $exititem Then Exit EndFunc On the marked point, i will go back to the loop1 /the start; but how without a "goto" command Thank you for help! Link to comment Share on other sites More sharing options...
Developers Jos Posted April 7, 2005 Developers Share Posted April 7, 2005 just put a While 1 .. Wend loop around it and do an exitloop .. You are missing an endif in the myfunc3 function.. see below errors generated with Tidy... expandcollapse popup#include <array.au3> #NoTrayIcon opt("TrayMenuMode", 1) $exititem = TrayCreateItem ("Exit") TraySetIcon ("Shell32.dll", 166) AdlibEnable("myadlib", 1) $var = IniRead("C:\Windows\System\status.ini", "section2", "key", "NotFound") Sleep(20000) While 1 While 1 Sleep(20000) Ping("192.168.0.3", 20000) If @error = 0 Then RunWait(@ComSpec & " /c arp.exe -a > " & @TempDir & "\arplog.txt", "", @SW_HIDE) $fic = FileOpen(@TempDir & "\arplog.txt", 0) If $fic = -1 Then Exit $index = 4 $tab_mac = "" While 1 $line = FileReadLine($fic, $index) If @error = -1 Then ExitLoop $mac = StringMid($line, 25, 17) $tab_mac = $tab_mac & $mac & ";" $index = $index + 1 WEnd $tab_mac = StringSplit($tab_mac, ";") For $x = 1 To $tab_mac[0] If $tab_mac[$x] = "00-50-8d-52-35-87" Then Else Call("myfunc") EndIf Next Else EndIf WEnd While 1 Sleep(20000) Ping("192.168.0.3", 20000) If @error = 0 Then RunWait(@ComSpec & " /c arp.exe -a > " & @TempDir & "\arplog.txt", "", @SW_HIDE) $fic = FileOpen(@TempDir & "\arplog.txt", 0) If $fic = -1 Then Exit $index = 4 $tab_mac = "" While 1 $line = FileReadLine($fic, $index) If @error = -1 Then ExitLoop $mac = StringMid($line, 25, 17) $tab_mac = $tab_mac & $mac & ";" $index = $index + 1 WEnd $tab_mac = StringSplit($tab_mac, ";") For $x = 1 To $tab_mac[0] If $tab_mac[$x] = "00-50-8d-52-35-87" Then Call("myfunc3") ExitLoop;goto loop 1/beginn the programm from start ------------------------> HERE Else EndIf Next Else EndIf WEnd WEnd Func myfunc() $var = IniRead("C:\Windows\System\status.ini", "section2", "key", "NotFound") Sleep(5000) Ping("192.168.0.3", 20000) If @error = 0 Then RunWait(@ComSpec & " /c arp.exe -a > " & @TempDir & "\arplog.txt", "", @SW_HIDE) $fic = FileOpen(@TempDir & "\arplog.txt", 0) If $fic = -1 Then Exit $index = 4 $tab_mac = "" While 1 $line = FileReadLine($fic, $index) If @error = -1 Then ExitLoop $mac = StringMid($line, 25, 17) $tab_mac = $tab_mac & $mac & ";" $index = $index + 1 WEnd $tab_mac = StringSplit($tab_mac, ";") For $x = 1 To $tab_mac[0] If $tab_mac[$x] = "00-50-8d-52-35-87" Then Else Call("myfunc2") EndIf Next Else EndIf EndFunc ;==>myfunc Func myfunc2() If $var = "disabled" Then ProcessClose("status.exe") RunWait("C:\Windows\System\enabled.exe") EndIf EndFunc ;==>myfunc2 Func myfunc3() If $var = "enabled" Then RunWait("C:\Windows\System\status.exe") ;### Tidy Error: Level error -> EndFunc is closing previous If EndFunc ;==>myfunc3 ;### Tidy Error: Level error -> "Func" Not closed before Func statement. ;### Tidy Error: Level error -> "Func" cannot be inside any IF/Do/While/For/Case/Func statement. Func myadlib() $msg2 = TrayGetMsg () If $msg2 = $exititem Then Exit EndFunc ;==>myadlib SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
sebsabul Posted April 7, 2005 Author Share Posted April 7, 2005 Thank you! It works fine! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now