易語言編程基礎數據類型變量及子程序
一、 易語言的數據類型
易語言的數據類型可以分為基本數據類型和特殊數據類型
基本數據類型分為:
① 數值型
② 邏輯型
③ 日期時間型
④ 文本型
⑤ 字節(jié)集型
⑥ 子程序指針型
基本數據類型中的數值類型有包含了:
① 字節(jié)型
② 短整數型
③ 整數型
④ 長整數型
⑤ 小數型
⑥ 雙精度小數型
數據類型可以用來描述不同變量的類型或者組件屬性的類型
程序:數據類型轉換
.版本 2
.程序集 窗口程序集_啟動窗口
.子程序 __啟動窗口_創(chuàng)建完畢
信息框 (“信息框內容”, 0, “信息框標題”, )
' 這是屏蔽按鈕
' 信息框 (“信息框內容”, 1, “信息框標題”, )
信息框 (“信息框內容”, 2, “信息框標題”, )
信息框 (“信息框內容”, 3, “信息框標題”, )
信息框 (“信息框內容”, 4, “信息框標題”, )
信息框 (“信息框內容”, 5, “信息框標題”, )
信息框 (“信息框內容”, 6, “信息框標題”, )
' 這里是注釋
特殊數據類型
是指除易語言基本數據類型之外的其他數據類型。其中包括了:
① 通用數據類型
② 庫定義數據類型
③ 自定義數據類型
④ 內部組件數據類型
通用型數據類型:
通用型數據類型僅在系統(tǒng)內部使用,它能夠匹配所有的系統(tǒng)基本數據類型、庫定義數據類型、自定義數據類型
庫定義數據類型:
庫定義數據類型由易語言支持庫提供,用戶在程序中可以直接使用,就如同是系統(tǒng)基本數據類型一樣
自定義數據類型:
用戶可以隨時在程序中自行定義新的數據類型。但是自定義數據類型時需要設置數據類型的名稱以及成員,其中數據類型成員各個屬性的設置方法等同于變量設置方法
內部組件數據類型:
在一語言中,每一種內部組件都可以作為一種數據類型來使用
第四個程序:自定義數據類型
.版本 2
.程序集 窗口程序集_啟動窗口
.子程序 _按鈕1_被單擊
.局部變量 人物1, 英靈信息
人物1.姓名 = “001”
人物1.性別 = 真
人物1.職階 = “saber”
人物1.斗級 = 100
程序:內部組件數據類型
.版本 2
.程序集 窗口程序集_啟動窗口
.子程序 _按鈕1_被單擊
.局部變量 變量1, 標簽
變量1 = 標簽1
變量1.左邊 = 10
變量1.頂邊 = 10
變量1.標題 = “我是一個標簽”
程序:動態(tài)添加組件
.版本 2
.程序集 窗口程序集_啟動窗口
.子程序 _按鈕1_被單擊
.局部變量 變量1, 按鈕
.局部變量 個數, 整數型, 靜態(tài)
.局部變量 n, 整數型
' 復制窗口組件 (按鈕1, 變量1)
' 變量1.左邊 = 50 + 個數 × 按鈕1.寬度
' 變量1.頂邊 = 10
' 變量1.可視 = 真
' 個數 = 個數 + 1
' 結果是從左到右增加按鈕,但是當窗體大小容不下的時候還是依次往后添加,思考怎么換行?
.' 如果 (個數 < 5)
' 復制窗口組件 (按鈕1, 變量1)
' 變量1.左邊 = 50 + 個數 × 按鈕1.寬度
' 變量1.頂邊 = 10
' 變量1.可視 = 真
' 個數 = 個數 + 1
.否則
' 復制窗口組件 (按鈕1, 變量1)
' 變量1.左邊 = 50 + (個數 - 5) × 按鈕1.寬度
' 變量1.頂邊 = 10 + 按鈕1.高度
' 變量1.可視 = 真
' 個數 = 個數 + 1
.如果結束
' 這樣可以兩行了但是不是自動換行太死了,繼續(xù)想想怎么改進?
.' 如果 ((個數 + 1) % 5 ≠ 0)
' 復制窗口組件 (按鈕1, 變量1)
' 變量1.左邊 = 50 + 個數 × 按鈕1.寬度
' 變量1.頂邊 = 10 + 到整數 (個數 ÷ 5) × 按鈕1.高度
' 變量1.可視 = 真
' 個數 = 個數 + 1
.否則
' 復制窗口組件 (按鈕1, 變量1)
' 變量1.左邊 = 50 + 到整數 (個數 ÷ 5) × 按鈕1.寬度
' 變量1.頂邊 = 10 + 按鈕1.高度
' 變量1.可視 = 真
' 個數 = 個數 + 1
.如果結束
復制窗口組件 (按鈕1, 變量1)
n = 到整數 (個數 ÷ 5)
變量1.左邊 = 50 + (個數 - 5 × n) × 按鈕1.寬度
變量1.頂邊 = 10 + 到整數 (個數 ÷ 5) × 按鈕1.高度
變量1.可視 = 真
個數 = 個數 + 1
' 成功實現自己想要達到的自動換行的效果
二、 易語言中的變量
1. 雖然在理論上變量是可以任意定義名稱的,但是為了提高編程的效率,和便于識別方面的考慮,在定義變量的時候需要給變量起一個有實際意義的名字。
2. 定義變量名時候需要注意的要點:
① 首字符不可以是數字
② 變量名中除了“_”以外不可以使用其他的符號和標點
3. 變量的分類,變量存在幾種類型,每個類型的變量都有自己的適用范圍,并不是所有的變量都能在程序的任何地方對其進行訪問,只有在其作用域范圍內才是有效、可訪問的。
4. 按照變量的作用范圍可以將變量分為局部變量、程序集變量和全局變量。
① 局部變量:只能在所在的子程序中才能被調用的變量
② 程序集變量:僅在本程序集中才能被調用的變量
③ 全局變量:所有程序集子程序都可以使用的變量
5. 變量還可以按照變量的屬性分為靜態(tài)變量和數組變量
① 靜態(tài)變量:靜態(tài)變量在程序退出后不會被清空
② 數組變量:存放一組數據的變量,數組變量又可以分為單維數組變量和多維數組變量
程序:靜態(tài)變量與非靜態(tài)變量的區(qū)別
.版本 2
.程序集 窗口程序集_啟動窗口
.子程序 _按鈕1_被單擊
.局部變量 靜態(tài)變量, 整數型, 靜態(tài)
.局部變量 非靜態(tài)變量, 整數型
編輯框1.內容 = 編輯框1.內容 + “當前靜態(tài)變量的值為:” + 到文本 (靜態(tài)變量) + #換行符
編輯框1.內容 = 編輯框1.內容 + “當前非 靜態(tài)變量的值為:” + 到文本 (非靜態(tài)變量) + #換行符
靜態(tài)變量 = 靜態(tài)變量 + 1
非靜態(tài)變量 = 非靜態(tài)變量 + 1
.子程序 __啟動窗口_創(chuàng)建完畢
程序:變量初始值賦予
.版本 2
.程序集 窗口程序集_啟動窗口
.子程序 _按鈕1_被單擊
.局部變量 字節(jié)型變量, 字節(jié)型
.局部變量 短整數型變量, 短整數型
.局部變量 整數型變量, 整數型
.局部變量 長整數型變量, 長整數型
.局部變量 小數型變量, 小數型
.局部變量 雙精度小數型變量, 雙精度小數型
.局部變量 邏輯型變量, 邏輯型
.局部變量 日期時間型變量, 日期時間型
.局部變量 文本型變量, 文本型
.局部變量 字節(jié)集變量, 字節(jié)集
' 給變量賦值
字節(jié)型變量 = 255
短整數型變量 = 32767
整數型變量 = 65535
長整數型變量 = 58736232332
小數型變量 = 3.14
雙精度小數型變量 = 3.141592654
邏輯型變量 = 真
日期時間型變量 = [2018年7月10日]
文本型變量 = “易語言學習”
字節(jié)集變量 = { 255, 255, 255, 0 }
編輯框1.內容 = 編輯框1.內容 + “字節(jié)型變量初始值:” + 到文本 (字節(jié)型變量) + #換行符
編輯框1.內容 = 編輯框1.內容 + “短整數型變量初始值:” + 到文本 (短整數型變量) + #換行符
編輯框1.內容 = 編輯框1.內容 + “長整數型變量初始值:” + 到文本 (長整數型變量) + #換行符
編輯框1.內容 = 編輯框1.內容 + “整數型變量初始值:” + 到文本 (整數型變量) + #換行符
編輯框1.內容 = 編輯框1.內容 + “小數型變量初始值:” + 到文本 (小數型變量) + #換行符
編輯框1.內容 = 編輯框1.內容 + “雙精度小數型變量初始值:” + 到文本 (雙精度小數型變量) + #換行符
編輯框1.內容 = 編輯框1.內容 + “邏輯型變量初始值:” + 到文本 (邏輯型變量) + #換行符
編輯框1.內容 = 編輯框1.內容 + “日期時間型變量初始值:” + 到文本 (日期時間型變量) + #換行符
編輯框1.內容 = 編輯框1.內容 + “文本型變量初始值:” + 文本型變量 + #換行符
編輯框1.內容 = 編輯框1.內容 + “字節(jié)集變量初始值:” + 到文本 (字節(jié)集變量) + #換行符
三、 易語言的資源表
1. 便捷的導入圖片資源和音頻資源,其中音頻資源只支持.mid和.wav格式
程序:資源表的導入導出
.版本 2
.程序集 窗口程序集_啟動窗口
.子程序 __啟動窗口_創(chuàng)建完畢
' _啟動窗口.底圖 = #圖片1
' _啟動窗口.底圖方式 = 3
' 成員屬性“底圖方式”所在數據類型為“窗口”,英文名稱為“BackPicMode”,類型為“整數型(int)”。
' 如果設定了底圖,本屬性指定窗口背景上底圖的顯示方式。
' 可供選擇的屬性值:
' 0. 圖片居左上
' 1. 圖片平鋪
' 2. 圖片居中
' 3. 縮放圖片
寫到文件 (“F:\易語言練習\契約.JPG”, #圖片1)
注意導入文件的格式必須和導入的一樣,比如導入的是JPG導出的也必須是JPG
四、 易語言中的運算符
1. 在易語言中根據預算符的性質可以分為算術運算符、比較(關系)運算符、邏輯運算符和賦值運算符。

2. 易語言運算符優(yōu)先級:

五、 易語言中的子程序
1. 事件子程序
對應組件所發(fā)生事件的子程序,稱為事件子程序
程序:子程序
.版本 2
.程序集 窗口程序集_啟動窗口
.子程序 _按鈕1_被雙擊, 邏輯型
.參數 橫向位置, 整數型
.參數 縱向位置, 整數型
.參數 功能鍵狀態(tài), 整數型
信息框(“當按鈕被雙擊時候我就出來了”,0,+#信息圖標,“”)
2. 用戶自定義子程序
① 子程序參數的“參考”屬性:
表示子程序的該參數在傳遞數據的時候是否為傳遞指向數據的地址
程序:子程序的參數的“參考”屬性
.版本 2
.程序集 窗口程序集_啟動窗口
.子程序 _按鈕1_被單擊
.局部變量 變量1, 整數型
.局部變量 變量2, 整數型
參數賦值 (變量1, 變量2)
編輯框1.加入文本 (“參考參數中的變量:” + 到文本 (變量1) + #換行符, “非參考參數屬性中的變量:” + 到文本 (變量2) + #換行符)
.子程序 參數賦值
.參數 參考參數, 整數型, 參考
.參數 非參考參數, 整數型
參考參數 = 100
非參考參數 = 100
'不知道為什么這里的換行符不起作用?
② 子程序參數的“可空”屬性
程序:子程序參數的“可空”屬性
.版本 2
.程序集 窗口程序集_啟動窗口
.子程序 __啟動窗口_創(chuàng)建完畢
.子程序 子程序取得隨機密碼, 文本型
.參數 參數_位數, 整數型
.參數 參數_模式, 整數型, 可空
.局部變量 局部_變量, 整數型
.局部變量 局部_文本, 文本型
置隨機數種子 ()
.判斷開始 (參數_模式 = 1)
.計次循環(huán)首 (參數_位數, 局部_變量)
局部_文本 = 局部_文本 + 字符 (取隨機數 (48, 57))
.計次循環(huán)尾 ()
.判斷 (參數_模式 = 2)
.計次循環(huán)首 (參數_位數, 局部_變量)
局部_文本 = 局部_文本 + 多項選擇 (取隨機數 (1, 2), 字符 (取隨機數 (65, 65 + 25)), 字符 (取隨機數 (97, 97 + 25)))
.計次循環(huán)尾 ()
.判斷 (參數_模式 = 3)
.計次循環(huán)首 (參數_位數, 局部_變量)
局部_文本 = 局部_文本 + 多項選擇 (取隨機數 (1, 3), 字符 (取隨機數 (65, 65 + 25)), 字符 (取隨機數 (97, 97 + 25)), 字符 (取隨機數 (48, 57)))
.計次循環(huán)尾 ()
.判斷 (是否為空 (參數_模式) = 真)
局部_文本 = “666”
.默認
.判斷結束
返回 (局部_文本)
.子程序 _按鈕默認_被單擊
編輯框1.內容 = 子程序取得隨機密碼 (到整數 (編輯框2.內容), )
.子程序 _按鈕數字_被單擊
編輯框1.內容 = 子程序取得隨機密碼 (到整數 (編輯框2.內容), 1)
.子程序 _按鈕字母_被單擊
編輯框1.內容 = 子程序取得隨機密碼 (到整數 (編輯框2.內容), 2)
.子程序 _按鈕混合_被單擊
編輯框1.內容 = 子程序取得隨機密碼 (到整數 (編輯框2.內容), 3)
③ 子程序參數的“數組”屬性
程序:子程序參數的“數組”屬性
.版本 2
.程序集 窗口程序集_啟動窗口
.子程序 __啟動窗口_創(chuàng)建完畢
.子程序 子程序_數組排序
.參數 參數_數組, 整數型, 數組
.局部變量 局部_計次1, 整數型
.局部變量 局部_計次2, 整數型
.局部變量 局部_臨時存放, 整數型
.計次循環(huán)首 (取數組成員數 (參數_數組), 局部_計次1)
.計次循環(huán)首 (取數組成員數 (參數_數組), 局部_計次2)
.如果真 (參數_數組 [局部_計次1] < 參數_數組 [局部_計次2])
局部_臨時存放 = 參數_數組 [局部_計次2]
參數_數組 [局部_計次2] = 參數_數組 [局部_計次1]
參數_數組 [局部_計次1] = 局部_臨時存放
.如果真結束
.計次循環(huán)尾 ()
.計次循環(huán)尾 ()
.子程序 _按鈕_數組排序_被單擊
.局部變量 數組, 整數型, , "0"
.局部變量 局部_計次, 整數型
數組 = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
子程序_數組排序 (數組)
編輯框1.內容 = “”
.計次循環(huán)首 (取數組成員數 (數組), 局部_計次)
編輯框1.內容 = 編輯框1.內容 + 到文本 (數組 [局部_計次]) + “,”
.計次循環(huán)尾 ()
3. 子程序的遞歸調用
一般情況下子程序都是調用其他程序的,但是也存在子程序自己調用自己的情況,而這種特殊的調用就被稱為遞歸。
一般來說遞歸分兩種方式:
① 一種是在調用一個子程序的過程中,又調用了該子程序自身,這種方式稱為直接遞歸 ;
② 另一種是在調用一個子程序(程序1)的過程中,該子程序調用了另外一個子程序(程序2),而在子程序2中又調用了子程序1,這種方式稱為間接遞歸。
4. 使用遞歸方法的注意點
① 編程中使用遞歸方法解決 問題對內存的開銷比較大
② 使用遞歸調用必須有一個明確的遞歸結束條件,無條件的遞歸調用將會造成死循環(huán)
程序:遞歸調用求階乘
.版本 2
.程序集 窗口程序集_啟動窗口
.子程序 __啟動窗口_創(chuàng)建完畢
.子程序 求階乘, 長整數型
.參數 n, 整數型
.如果 (n = 0)
返回 (1)
.否則
返回 (n × 求階乘 (n - 1))
.如果結束
.子程序 _按鈕1_被單擊
標簽2.標題 = 編輯框1.內容 + “的階乘等于:” + 到文本 (求階乘 (到整數 (編輯框1.內容)))
程序:播放器二
.版本 2
.程序集 窗口程序集_啟動窗口
.子程序 _按鈕1_被單擊
' 播放的音樂需要和程序文件在同一個文件夾下
' 播放MP3 (1, “藍井エイル - 流星.mp3”)
' 嘗試不在同一文件夾下要如何處理 ?
' 增加完全路徑試試
播放MP3 (1, “F:\CloudMusic\Ace組合 - 楚地無歌.mp3”)
' 嘗試成功!通過增加全路徑也能夠實現跨文件夾的mp3播放
' 嘗試不通過修改源代碼就能夠播放其它的音樂?
' 暫時沒嘗試出來。。。。
' 上面是之前寫的我的播放器一的代碼,現在對我的播放器一進行升級
_啟動窗口.背景音樂 = { }
_啟動窗口.底圖 = #圖片2
.子程序 __啟動窗口_創(chuàng)建完畢
_啟動窗口.底圖 = #圖片1
' 通過以上代碼就能夠實現播放的時候切換背景圖片了,同樣的道理也能夠做到切換背景音樂
' 可以通過點擊不同的按鈕切換背景圖片和背景音樂達到類似音樂播放器的點歌效果
' 可以進一步考慮歌詞的顯示功能?
以上就是易語言編程基礎數據類型變量及子程序的詳細內容,更多關于易語言數據類型變量子程序的資料請關注腳本之家其它相關文章!

