作者fossil313 (阵雨)
看板EzHotKey
标题Re: [AHK-] 计次中如何保持最少位数?
时间Mon Mar 14 21:31:56 2011
※ 引述《ScorAlan (漫步在云端)》之铭言:
: 请问大家
: 我想要做一个可以帮我计次的
: 按F10就加1後输出
: F11就保持原状不加也不减後输出
: F12则是减一後输出
: 但在使用者输入上需要的最低显示位数却不固定
: 譬如开头是用1,2,3...9,10,11...99,100,101...表示最少显示位数为一个位数
: 01,02,03,...09,10,11,.....99,100,101...表示最少显示位数为两个位数
: 001,002,003,...,009,010,011,...,099,100,111...表示最少显示为数为三个位数
: 又譬如有时输入从56开始计算
: 这样也就没办法知道需要最少显示位数是一个位数还是两个位数
: 就先当成最低显示位数为一个位数
: 按下F10时会输出57,按下F11时会输出56,按下F12时会输出55
: 但如果是056开始算的话就可以知道最低显示位数为三个位数
: 不晓得这样子有没有办法能够让程式自动判断且输出呢?
: 感谢
: -----------------------------------------------------------------------
: Gui, Add, Edit, x11 y14 w100 h20 , %Edit%
: Gui, Add, Button, x11 y44 w100 h30 , Button
: Gui, Show, autosize, NEW Window
: Return
: GuiClose:
: ExitApp
: ButtonButton:
: controlgettext,inputvar,edit1, NEW Window
: return
: F10::
: inputvar:=inputvar+1
: msgbox,%inputvar%
: return
: F11::
: msgbox,%inputvar%
: return
: F12::
: inputvar:=inputvar-1
: msgbox,%inputvar%
: return
: ------------------------------------------------------------------
用下面这段来找出位数
if instr(inputvar, "0") = 1
a := strlen(inputvar)
else
a = 1
return
然後在变动inputvar时 加入setformat
setformat, float,
0%a%.
0
inputvar +=
1.0
return
0是表示填零
%a%是数字字元数 负数时"-"也是字元之一 要再写个判断的式子
0是小数点位数
1.0是为了让inputvar变为浮点数(float 是这样说吧? = =)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.117.1.186
※ 编辑: fossil313 来自: 59.117.1.186 (03/14 21:40)
1F:推 ScorAlan:太感谢了 ^^ 03/15 06:33