找回密码
 加入
搜索
查看: 3465|回复: 5

[GUI管理] <求助>找出edit1'2'3內數字的最大值

[复制链接]
发表于 2010-9-26 17:04:08 | 显示全部楼层 |阅读模式
本帖最后由 tcpuuu 于 2010-9-26 17:08 编辑
GUICreate("COM", 138, 100, 880, 2)

$L1 = GUICtrlCreateInput("", 1, 20, 32, 22, 0x008000)
GUICtrlSetBkColor(-1, 0xFFFFFF)
GUICtrlSetFont(-1, 12)
$L2 = GUICtrlCreateInput("", 34, 20, 32, 22, 0x008000)
GUICtrlSetBkColor(-1, 0xFFFFFF)
GUICtrlSetFont(-1, 12)
$L3 = GUICtrlCreateInput("", 67, 20, 32, 22, 0x008000)
GUICtrlSetBkColor(-1, 0xFFFFFF)
GUICtrlSetFont(-1, 12)
$L4 = GUICtrlCreateInput("", 1, 46, 32, 22, 0x008000)
GUICtrlSetBkColor(-1, 0xFFFFff)
GUICtrlSetFont(-1, 12)
$L5 = GUICtrlCreateInput("", 34, 46, 32, 22, 0x008000)
GUICtrlSetBkColor(-1, 0xFFFFFF)
GUICtrlSetFont(-1, 12)
$L6 = GUICtrlCreateInput("", 67, 46, 32, 22, 0x008000)
GUICtrlSetBkColor(-1, 0xFFFFFF)
GUICtrlSetFont(-1, 12)
$1Button = GUICtrlCreateButton("挑選最大值", 2, 66, 70, 30)
;----------------------------------------------------------
GUISetState()
While 1
    
WEnd
3  2   1  Edit1 最大  Edit4填入1

1  2   3  Edit3 最大  Edit6填入1

如果是 2 2 2   Edit3填入1         

如果是 2 2 1   Edit1 Edit2 一樣大  Edit5填入1  

       1 2 2   Edit2 Edit3 一樣大  Edit6填入1
      
       2 1 2   Edit1 Edit3 一樣大  Edit6填入1




----------------------------------------------------
請求各位高手 解說!  謝謝

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2010-9-26 17:31:09 | 显示全部楼层
#include <Array.au3>

Local $avArray[11] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
MsgBox(0,'最大数学值', _ArrayMax($avArray, 1, 1))
发表于 2010-9-26 17:32:20 | 显示全部楼层
本帖最后由 afan 于 2010-9-26 17:59 编辑

呵呵,又来搞数字了 O(∩_∩)O~

“如果是 2 2 2   Edit3填入1” 按你的逻辑应该是 Edit6填入1 吧
GUICreate('COM', 138, 100, 880, 2)

$L1 = GUICtrlCreateInput('', 1, 20, 32, 22, 0x008000)
GUICtrlSetBkColor(-1, 0xFFFFFF)
GUICtrlSetFont(-1, 12)
$L2 = GUICtrlCreateInput('', 34, 20, 32, 22, 0x008000)
GUICtrlSetBkColor(-1, 0xFFFFFF)
GUICtrlSetFont(-1, 12)
$L3 = GUICtrlCreateInput('', 67, 20, 32, 22, 0x008000)
GUICtrlSetBkColor(-1, 0xFFFFFF)
GUICtrlSetFont(-1, 12)
$L4 = GUICtrlCreateInput('', 1, 46, 32, 22, 0x008000)
GUICtrlSetBkColor(-1, 0xFFFFff)
GUICtrlSetFont(-1, 12)
$L5 = GUICtrlCreateInput('', 34, 46, 32, 22, 0x008000)
GUICtrlSetBkColor(-1, 0xFFFFFF)
GUICtrlSetFont(-1, 12)
$L6 = GUICtrlCreateInput('', 67, 46, 32, 22, 0x008000)
GUICtrlSetBkColor(-1, 0xFFFFFF)
GUICtrlSetFont(-1, 12)
$Button1 = GUICtrlCreateButton('挑選最大值', 2, 70, 70, 25)

GUISetState()

While 1
        $msg = GUIGetMsg()
        Switch $msg
                Case -3
                        Exit
                Case $Button1
                        _Max()

        EndSwitch
WEnd

Func _Max()
        Local $v1 = Number(GUICtrlRead($L1))
        Local $v2 = Number(GUICtrlRead($L2))
        Local $v3 = Number(GUICtrlRead($L3))
        Local $max = $v1, $x = 1, $i
        For $i = 2 To 3
                If Eval('v' & $i) >= $max Then
                        $max = Eval('v' & $i)
                        $x = $i
                EndIf
        Next
        For $i = 4 To 6
                GUICtrlSetData(Eval('L' & $i), '')
        Next
        GUICtrlSetData(Eval('L' & $x + 3), 1)
EndFunc   ;==>_max
发表于 2010-9-26 17:59:12 | 显示全部楼层
光看标题切了,没注意内容。
看来我理解错LZ的意思了,不好意思!
 楼主| 发表于 2010-9-26 18:41:07 | 显示全部楼层
本帖最后由 tcpuuu 于 2010-9-26 19:34 编辑

感謝!   你們 解答

Edit2 / Edit1
結果寫入Edit3 (用%表示)
另外底下這個 拜託了!
WinKill("COM")
GUICreate("COM", 138, 100, 880, 2)

$L1 = GUICtrlCreateInput("總次數 ", 1, 10, 50, 22, 0x008000)
GUICtrlSetBkColor(-1, 0xFFFFFF)
GUICtrlSetFont(-1, 12)
$L2 = GUICtrlCreateInput("命中次數", 54, 10, 40, 22, 0x008000)
GUICtrlSetBkColor(-1, 0xFFFFFF)
GUICtrlSetFont(-1, 12)
$L3 = GUICtrlCreateInput("", 72, 46, 50, 22, 0x008000)
GUICtrlSetBkColor(-1, 0xFFFFFF)
GUICtrlSetFont(-1, 12)

$1Button = GUICtrlCreateButton("命中率%", 1, 42, 70, 30)
;----------------------------------------------------------
GUISetState()
While 1
    
WEnd
-------------------------------------------------------------------------------------
還有  我是要 edit4 5 6 挑選  寫入edit15  16   17
要怎麼改 底下這段
-------------------------------------------------------
Func _Max()
        Local $v1 = Number(GUICtrlRead($L4))
        Local $v2 = Number(GUICtrlRead($L5))
        Local $v3 = Number(GUICtrlRead($L6))
        Local $max = $v1, $x = 1, $i
        For $i = 5 To 6
                If Eval('v' & $i) >= $max Then
                        $max = Eval('v' & $i)
                        $x = $i
                EndIf
        Next
        For $i = 15 To 17
                GUICtrlSetData(Eval('L' & $i), '')
        Next
        GUICtrlSetData(Eval('L' & $x + 3), 1)
EndFunc   ;==>_max

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2010-9-27 17:30:42 | 显示全部楼层
afan  超級版主 你在那兒ㄚ?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-28 18:52 , Processed in 0.079842 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表