laojikelly 发表于 2009-3-24 03:54:25

Func下不能再有一个Func,请问用什么来代替这个Func?

事情是这样子的,之前在论坛上面看到一个例子.
#include <GUIConstantsEx.au3>

Opt("GUIOnEventMode", 1)
$Form1_1 = GUICreate("清理系统日志", 485, 493, 293, 154)
GUISetOnEvent($GUI_EVENT_CLOSE, "_form1")

$Button1 = GUICtrlCreateButton("清理系统日志", 56, 312, 129, 33, 0)
GUICtrlSetOnEvent($Button1, "_Button1")

GUISetState(@SW_SHOW)

While 1
        Sleep(1000)
WEnd

Func _form1()
        Exit
EndFunc


Func _Button1()
       
EndFunc

我想把清理系统日志这段代码放上去,
                        _CleanEvent(1)
                        Func _CleanEvent($s = 1)
                                $strComputer = "."
                                $objWMIService = ObjGet("winmgmts:" & "{impersonationLevel=impersonate,(Backup)}!\\" & $strComputer & "\root\cimv2")
                                Dim $mylogs
                                $mylogs = "application"
                                $mylogs = "system"
                                $mylogs = "security"

                                For $logs In $mylogs
                                        $colLogFiles = $objWMIService.ExecQuery('Select * from Win32_NTEventLogFile where LogFileName="' & $logs & '"')
                                        For $objLogfile In $colLogFiles
                                                $objLogfile.ClearEventLog()
                                        Next
                                Next
                                GUICtrlSetState($Button50, $GUI_DISABLE)
                        EndFunc

那么这个按钮就会有两个Func,请问类似上面的这种情况,怎么去解决呢?
我想好多跟我一样的新手都一样不知道怎么去处理的,因为语法本身就有错误,在网上面找了两天的例子,没找到类似的.
麻烦知道的帮个忙处理下好吗?如果解决了,我想很多遇到这个问题的人都会感谢这个帖的...

[ 本帖最后由 laojikelly 于 2009-3-25 09:35 编辑 ]

laojikelly 发表于 2009-3-24 05:48:19

我已经解决了......:face (29):

laojikelly 发表于 2009-3-24 05:53:21

#NoTrayIcon
#include <GUIConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form1_1 = GUICreate("", 230, 132, 193, 115)
$Button1 = GUICtrlCreateButton("清除系统日志",48, 24, 129, 65, 0)

GUISetState(@SW_SHOW)

Opt("WinTitleMatchMode", 2)

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
    Case $GUI_EVENT_CLOSE
exit
Case $Button1
    _CleanEvent(1)
        EndSwitch
WEnd

    Func _CleanEvent($s=1)
    $strComputer= "."
    $objWMIService = ObjGet("winmgmts:" & "{impersonationLevel=impersonate,(Backup)}!\\" & $strComputer & "\root\cimv2")
      Dim $mylogs
      $mylogs="application"
      $mylogs="system"
      $mylogs="security"

      For $logs in $mylogs
      $colLogFiles = $objWMIService.ExecQuery ('Select * from Win32_NTEventLogFile where LogFileName="' & $logs & '"')
      For $objLogfile in $colLogFiles
            $objLogFile.ClearEventLog()
      Next
      Next
    EndFunc


给更多的人看看,我是看过N多个例子无意中变通得来的...我很菜的...大家不要取笑我......

laojikelly 发表于 2009-3-24 07:04:15

又遇到新问题了。。。:face (32):
新手真是惨。。。:face (13):
等我查多点资料如果还是没果再发上来。
到时希望可以得到帮助。。。
:face (36):

sxd 发表于 2009-3-25 04:30:39

我觉得在你继续学习下去之前 最好先看看帮助的一些基础部分

laojikelly 发表于 2009-3-25 09:35:48

恩恩,,,谢谢,,,我最大的缺点就是急于求成...

298311657 发表于 2009-3-25 21:46:34

func中可以调用func

laojikelly 发表于 2009-3-27 09:47:08

敢问298311657君,能给个例子我看看吗???
我学AU3不知从何学起...
基础十分差...
页: [1]
查看完整版本: Func下不能再有一个Func,请问用什么来代替这个Func?