[AHK-] AutoHotKey 入門教學- 變數與剪貼簿- 看板EzHotKey
文章推薦指數: 80 %
變數與剪貼簿: Using variables and the clipboard http://www.autohotkey.com/docs/Tutorial.htm#Variables 變數(Variable): 變數(Variable) ...
批踢踢實業坊
›
看板EzHotKey
關於我們
聯絡資訊
返回看板
作者VElysian(家瑀致中和)看板EzHotKey標題[AHK-]AutoHotKey入門教學-變數與剪貼簿時間MonJul2123:38:242008
變數與剪貼簿:
Usingvariablesandtheclipboard
http://www.autohotkey.com/docs/Tutorial.htm#Variables
變數(Variable):
變數(Variable)就是可以放入一段文字的空箱子(其實是一小段記憶體空間)。
雖然變數可以儲存任意的字母、字串,
不過當一個變數只包含數字(當然可以包括小數點),並且拿來做運算或比較大小時,
它會被自動轉換成真的可以運算的數字,再做運算。
相反地,如果你將運算結果儲存回變數裡面的話,
它會被轉成字串然後才放進變數裡面。
除了函式裡面的變數屬於區域變數(localvariable),
其他的變數都是全域變數(globalvariable)。
也就是說,一段script裡面所有的指令都可以讀取或儲存全域變數。
關於函式http://www.autohotkey.com/docs/Functions.htm#Locals
變數出生的時候不需宣告,當你寫下變數的名字,它們就已經存在了唷~~
如果沒有特別指定,變數出生時箱子裡面是空空的沒有任何東西。
下面的範例將示範如何指定一段文字給一個變數:
MyVar1=123
MyVar2=我是可愛的文字
下面的例子則是一個變數的與其他字串(數字)比較:
MyVar1=123
MyVar2=我是可愛的文字
ifMyVar2=我是可愛的文字
{
MsgBoxMyVar2的內容是"我是可愛的文字".
}
ifMyVar1>=100
{
MsgBoxMyVar1的內容是%MyVar1%,這個值大於或等於100.
}
在最後一個MsgBox後面,或許有人已經注意到MyVar1兩邊多了%這個符號
(沒注意到的話請洽眼科醫生)。
%MyVar1%(兩邊有%)出現的地方,表示會將MyVar1的資料提取出來,
再依照所下的指令進行顯示、運算等等。
這裡則是直接將內容值顯示出來。
這種使用技巧還可以運用在將變數內容的拷貝或移轉給另一個變數,範例如下:
MyVar1=123
MyVar2=我是可愛的文字
MyVarConcatenated=%MyVar1%%MyVar2%
MsgBox%MyVarConcatenated%
在第三行右邊,會先將等號右邊的東西連結起來再丟進MyVarConcatenated變數中。
等號右邊分成三部份:
第一部份:%MyVar1%也就是123
第二部份:一個空格也就是空白鍵按一下。
^_^|||
第三部份:%MyVar2%也就是我是可愛的文字。
所以最後MyVarConcatenated的內容就是“123我是可愛的文字”
^這裡有一個空格唷~~
這個範例會進行兩個變數的比較:
ItemCount=2
ItemLimit=1
if(ItemCount>ItemLimit)
{
MsgBoxItemCount裡面的數值是%ItemCount%,比%ItemLimit%還大.
}
注意:
if後面有小括號,表示這個if指令包含一個表達式(expression)。
少了這對小括號,則稱為沒有表達式的if-指令(non-expressionif-statement)。
少了小括號,右邊的變數(這裡是ItemLimit)旁邊一定要加上%符號,
而且只能有一個比較運算子(>,=,<=等等),
也就是說,不能使用"AND"、"OR"這類運算子。
像
(Var1>=60ANDVar1<=100)
就一定要在左右加上小括號。
以這個例子來說,一定要寫成下面其中一種,才能正確執行:
ifItemCount>%ItemLimit%
if(ItemCount>ItemLimit)
數學運算:
要將計算結果丟進變數箱子裡面,必須使用:=(冒號-等號)這個運算子。
範例如下:
Price=100
Discount=0.2
NetPrice:=Price*(1-Discount/100)
表達式(expression)那邊有完整的數學運算子介紹。
http://www.autohotkey.com/docs/Variables.htm#Expressions
剪貼簿:
Clipboard是一個特別的變數,因為它裡面裝的是Windows剪貼簿目前儲存的文字。
而且你可以像使用一般變數一樣任意使用它唷~~
下面這個範例會將剪貼簿的文字顯示出來:
MsgBox%clipboard%
下面的例子會改變剪貼簿的內容(替換文字):
clipboard=這是第一行文字.`r`n這是第二行文字.`r`n
`r表示回到那一行的最前面。
`n表示新增一行。
兩個寫在一起,就好像在記事本裡面按[Enter]換行一樣。
要將剪貼簿的文字增加(或者放到其他變數裡面),可以類似像這樣寫:
clipboard=%clipboard%好妙!變長了耶~~
更深入的討論可以參考:
Clipboard、ClipboardAll、還有OnClipboardChange
(Clipboard,ClipboardAll,andOnClipboardChange)
http://www.autohotkey.com/docs/misc/Clipboard.htm
變數和表達式(VariablesandExpressions)
http://www.autohotkey.com/docs/Variables.htm
--
主動是機會的誘餌
--
※發信站:批踢踢實業坊(ptt.cc)
◆From:61.62.93.10
※編輯:VElysian來自:61.62.73.116(07/2201:33)
推CHCOOBOO:推教學07/2208:24
→kslman:我的頭好暈,我需要暈程式碼藥07/2209:48
→VElysian:嗯,看來寫得不夠清楚,歡迎發問唷~~^__^07/2210:09
→VElysian:這樣才方便調製新藥,可以對症下藥。
^^07/2210:10
→kslman:哈哈,是因為我是程式碼門外漢嘛07/2223:38
→kslman:只玩過Dos時代的bat檔,而且是很簡單的指令07/2223:39
→VElysian:軟體裡面的說明文件:VariablesandExpressions07/2318:36
→VElysian:那邊有說明,可以先看看。
改日有空會再補充。
^_^07/2318:37
※編輯:VElysian來自:61.62.150.174(07/2721:28)
※編輯:VElysian來自:61.62.72.58(08/0119:18)
延伸文章資訊
- 1[AHK-] AutoHotKey 入門教學- 變數與剪貼簿- 看板EzHotKey
變數與剪貼簿: Using variables and the clipboard http://www.autohotkey.com/docs/Tutorial.htm#Variables 變...
- 2基礎AHK 中符號的用法 - 程式網
當用= 對變數賦值時,如果一個字串被兩個% 包圍,並且中間沒有空格,那麼含義是取這個變數的值。 在呼叫一個命令時, ...
- 3[AHK-] AutoHotKey 入門教學- 變數與剪貼簿 - PTT Web
[AHK-]AutoHotKey入門教學-變數與剪貼簿@ezhotkey,共有8則留言,3人參與討論,1推0噓7→, 變數與剪貼簿: Using variables and the clipbo...
- 4[Autohotkey入門]你要往盒子裡面裝"點啥"么: 變數- 雪花台湾
摘要每一個變數都是特別的盒子變數的命名與AHK變數命名淺析表達式: 值、運算符Autohotkey中的數據類型變數參與表達式運算符優先順序( . )
- 5變數和表達式- AutoHotKey.tw - Google Sites
變數的類型: AutoHotkey 中沒有明確的變數型別. 然而, 只包含數字(可以含有小數點) ... 給變數賦值: 要把字串或數字儲存到變數中, 有兩種方法: 傳統方法和表達式方法.