Re: [AHK-] mile <-> KM 小小轉換

看板EzHotKey作者時間16年前 (2008/07/23 18:12), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
剛剛無聊也寫了一個 當做gui的簡單範例XD --8<------ #^C:: ;如果gui已經存在就關閉 IfWinExist, ahk_class AutoHotkeyGUI IfWinExist, a.ahk { Gosub, GuiClose return } ;否則建立gui Gui, Add, Edit, x010 y11 w50 h21 vkm gkcal Number ;Edit是可以輸入的文字框 ;x y w h 為座標以及寬高 ;v為variable,取名為km,用來儲存這個control的內容 ;g為gosub,取名為kcal,這個control內容改變時會呼叫 ;Number表示只能輸入數字 Gui, Add, Text, x065 y14 w30 h14, KM = ;Text是文字標籤 Gui, Add, Edit, x100 y11 w50 h21 vmi gmcal Number Gui, Add, Text, x155 y14 w30 h14, Mile ;改變一些視窗外觀(去標題、加框) Gui, -Caption +Border ;顯示gui Gui, Show, h42 w185 return kcal: ;確定目前的focus是在km這邊,表示是人輸入的,才去作換算 ControlGetFocus, focus if focus = Edit1 { ;取得新的資料(改變後的km) Gui, Submit, NoHide mi:=km/1.609344 ;換算後更新mile的內容 GuiControl,, mi, %mi% } return mcal: ControlGetFocus, focus if focus = Edit2 { Gui, Submit, NoHide km:=mi*1.609344 GuiControl,, km, %km% } return ;關閉gui GuiClose: Gui, Destroy GuiEscape: Gui, Destroy --8<------ ※ 引述《sodeass (基米拉)》之銘言: : 小弟剛接觸沒很久 : 不過看棒球時,常無法把mile(哩)轉成我們習慣的公里(KM), 所以拿AHK試看看 : 順便把MessageBox, String處理, 字串<->數值, 判斷式 都一起練一下 : Ctrl + M : 出現對話窗, 可以填入 m100 或 k100 或1000 : m100 : 把100 mile 轉為 公里 : k100 : 把100 KM 轉為 mile : 100 : 不加字首,就直接把數字轉為 KM : ----><--------- : ^m:: : InputBox, input_string, Mile <-> KM Convert, e.g.m100/k100/100, : StringMid, input_unit, input_string, 1, 1 : StringMid, input_value, input_string, 2, : if input_unit = m : { : ;字首為m,則由"哩"轉成"公里" : output := input_value*1.61 : } : else if input_unit = k : { : ;字首為k, 則由"公里"轉為"哩" : output := input_value*0.621 : } : else : { : ;沒有加字首的話,直接"哩"轉成"公里" : StringMid, input, input_string, 1, : output := input*1.61 : } : msgbox %output% : return : -----><-------------------------------------------- : 其中StringMid是AHK內部function, 用來抓取任意字串裡的特定單字或字串 : StringMid (S1, S2, S3, S4) : S1: 變數名, StringMid抓出來的字串要給哪一個變數 : S2: 要處理的字串 : S3: 要S2字串裡的第幾個字(空白也算一個字喔) : S4: (可以不加), 從S3位置開始要抓多少個"字母" : 來個例子吧 : SrtingMid (var, "AHK is good", 2) : 則var就是H : StringMid (var, "AHK is good", 5, 4) : 則var就是is g (有空格喔) : 也就是從第1個字後,抓2個字母出來 : 小小心得, 和大家分享 : (會不會太簡單了 >< ) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.72.42

07/24 11:28, , 1F
這才是真正GUI版 XD 小弟又學到東西了 推~
07/24 11:28, 1F
文章代碼(AID): #18XmGhn8 (EzHotKey)
文章代碼(AID): #18XmGhn8 (EzHotKey)