【剑仙教程】易语言的结构体。自定义数据类型。
1樓.?【劍仙教程】易語言的結構體。自定義數據類型。
在易語言中,有基本數據類型,自定義數據類型。
自定義數據類型,在C語言/C++中稱為結構體。這是面向對象和類的編程。
.
.
先上代碼。打開易語言的IDE,IDE,是開發環境。
點擊“插入”菜單,選擇“數據類型”
這時,代碼編輯框就會增加一個數據類型的窗口。
把“數據類型1”命名為“精易_座標”,勾選“公開項”。
這樣,一個?精易_座標?的類就做好了。
.
再按回車鍵,給這個類增加2個成員。
x?整數型
y?整數型
.
訪問時,直接寫代碼就OK。這些操作是不是很簡單?
精易_座標.x?=?100
精易_座標.y?=?101?
輸出調試文本(精易_座標.x)
輸出調試文本(精易_座標.y)
.
2樓.?下面詳細講解。
.
【結構體的作用】
結構體具有基本數據類型,?一樣的功能。
它有一個最強項,打包功能。
結構體可以把,多個小數型,整數型,文本型,字節型,字節集打包成一個類,
方便日后的調用。
//
//
結構體的好處不是簡便,而是封裝。
封裝的好處,在于可以再次調用,重復調用。
這樣可以讓使用者不必關心這個類是什么,
只需要根據定義來使用就可以。
====================================================
.
結構體是把很多種基本的數據類型,歸納為一個類來管理。
(面向對象和類的編程)
.
.
在C語言中,
結構體聲明了一個具有某種屬性的類,可以用它定義具有這屬性的變量,
屬性值由一個或多個同種或不同基本類型(包括聯合類型、枚舉類型、數組、其他結構體)組成。
結構體類型,可以把不同類型的變量歸納到一起,以方便管理。
.
3樓.?舉三個實例。
.
.
例子1:
一批學生去參加軍訓,
生活物品要打包成包裹,
收集到車廂,
到達目的地再分發。
.
把所有學生的?牙膏,牙刷,杯子,毛巾統一歸類,做成一個包。
衣服統一歸類,打成一個包。
被子統一歸類,打成一個包。
這樣自然不行。違反衛生要求又不斯文,而且難分發。
//
//
實際上,每個學生都是一個對象。把每個對象的東西打成一包
(牙膏,牙刷,杯子,毛巾,衣服,被子,鞋子?),貼上姓名標簽。
再把這些包裹,統一收集到車廂匯總。
去到目的地,再分發。這樣就變得簡單了。
//
//
按照這個操作方法,
把學生01的物品,打包成一個數據類型,貼上標簽。
.數據類型?學生01,公開
.成員?牙膏,?整數型
.成員?牙刷,?整數型
.成員?杯子,?整數型
.成員?毛巾,?文本型
.成員?衣服,?文本型
//
把學生02的物品,打包成一個數據類型,貼上標簽。
.數據類型?學生02,公開
.成員?牙膏,?整數型
.成員?牙刷,?整數型
.成員?杯子,?整數型
.成員?衣服,?文本型
.成員?被子,?文本型
//
把學生03的物品,打包成一個數據類型,貼上標簽。
.數據類型?學生03,公開
.成員?牙膏,?整數型
.成員?牙刷,?整數型
.成員?杯子,?整數型
.成員?衣服,?文本型
.成員?鞋子,?字節型
……
……
學生01,學生02,學生03這些編號,相當于包裹上面的標簽。
//
//
再右鍵,新建數據類型,做一個車廂_包裹匯總。
2樓講到,結構體里面的成員可以是結構體。
剛才?學生01,學生02,學生03這些都是結構體,現在新建的?車廂_包裹匯總?也是結構體。
.
.數據類型?車廂_包裹匯總,公開
.成員?a01,?學生01
.成員?a02,?學生02
.成員?a03,?學生03
這樣?a01?就有了“學生01”的屬性。a01=學生01,,可以這樣理解。
//
//
調用時,建立一個局部變量“as”,數據類型定義為“車廂_包裹匯總”。
這樣?as?就帶有了“車廂_包裹匯總”的屬性。
as=車廂_包裹匯總,,可以這樣理解。
.
as.a01.杯子?=?100
輸出調試文本(as.a01.杯子)
這樣就OK了。
//
//
as.a01.杯子?=?100
剛才把“學生01”的屬性,賦值給?a01變量。
把 “車廂_包裹匯總”的屬性,賦值給?as變量。
上面代碼的意思,可以理解成
車廂_包裹匯總.學生01.杯子?=?100
.
4樓.?例子2:
在一家商店,每天都有不同的顧客來購物。
每個買家都買了4件同樣的東西,?醬油?大米?黃豆?綠豆
這樣,?就可以用一個結構體來管理。
這是結構體的嵌套用法。把一個結構體,做成另一個結構體的成員。在表單中經常用到。在游戲外.掛.中也經常用到。
這些和例子1的做法是一樣的。
.
.數據類型?出貨單
.成員?醬油,?小數型
.成員?大米,?整數型
.成員?黃豆,?字節型
.成員?綠豆,?子程序指針
.
5樓.?例子3:
windows?api?大多數都會用到結構體。系統的API和結構體。
函數原型:BOOL?GetCursorPos(LPPOINT?lpPoint)
參數:
IpPoint:POINT結構體指針,用結構體來接收光標的屏幕坐標。
//
//
‘數據類型。先自定義數據類型point,在下面的三個地方,都要用到point
.版本?2
.數據類型?point,?,?point
.成員?x,?整數型,?,?,
.成員?y,?整數型,?,?,
//
.版本?2?
.DLL命令?GetCursorPos,?整數型,?“user32.dll”,?“GetCursorPos”
.參數?當前位置,?point
//
‘在子程序中這樣使用
.版本?2
.子程序?函數,?整數型
.局部變量?當前座標,?point
GetCursorPos(當前座標)
輸出調試文本(當前座標.x)
輸出調試文本(當前座標.y)
劍仙十號?5-12?07:32?回復??刪
6樓.?總結。
結構體,是面向對象和類的編程。這是一門仿生學,在電腦中模擬真實的物理世界。
它用來描述一個事物/一件事件的集合。
.
比如,用來形容某個人的真實信息。?
名字,性別?,身高?,體重,學歷,?年齡,
這些參數組成的一個集合,用來描述一個人。
這個人就是一個對象?,這個對象里面有名字,性別?,身高?,體重,學歷,?年齡這些信息。
所以,在初始化一個結構體?對象參數的時候,
必須一次給出所有的參數,即使沒有給出具有實際意義的參數,也要把這些參數?賦值為0,賦值為“”。
6樓學習,借鑒群主的資料。
//
//
呵呵俠客60:?回復?說白了就?是把一堆變量堆到一起。
簡單易懂的理解。[真棒]
//
7樓.?為什么直接抄精易模塊的代碼?
樉?5-9?16:24
你會寫對象嗎?你會用類嗎?你會JAVA?C++這些理論?用精易_座標舉個例子而已。
精易的,對新手來說好理解,印象深刻。某個新手見到精易座標,說不定找精易源碼來學習,鼠標,鍵盤,找圖,找色,找字識字這些的,,大大的有進步。
.
用精易_座標做例子,其實是深有考慮的。
學習思維圖像,學習記憶模型,
好的講師只用幾條線條,簡單的幾句話,就讓人把理論記住一輩子。
.
不好的講師,他啰嗦啰嗦的講半天,長篇大論,學生卻在下面睡大覺。什么也沒有學到。
使用復雜,高強度的例子,反而不好記。
//
582828767:?回復?貌似沒有見到過,詳細介紹自定義類型?的教程,不過自定義類型的?確很重要。
還好有c語言基礎,直接就理解了。
轉載于:https://www.cnblogs.com/champion8/p/5569899.html
總結
以上是生活随笔為你收集整理的【剑仙教程】易语言的结构体。自定义数据类型。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 判断函数是否存在
- 下一篇: XX公司珠宝进销分销系统设计