單擊【last name復選小按鈕,程序進入本分支運行【last name】運算圖標中的代碼。
代碼中應用sortbyvalue函數使列表按最后姓氏首寫字母順序升序排列。
checked語句設置【last name】按鈕為核選狀態,其他按鈕為非核選狀態。
單擊【student id】復選小按鈕,程序進入本分支運行【student id】運算圖標中的代碼。
代碼中應用sortbyvalue函數使列表按學生號升序排列。
checked語句設置 【student id】按鈕為核選狀態,其他按鈕為非核選狀態。
單擊【score】復選小按鈕,程序進入本分支運行【score】運算圖標中的代碼。
代碼中應用sortbyvalue函數使列表按學生考分升序排列。
checked語句設置【score】按鈕為核選狀態,其他按鈕為非核選狀態。
及時點評 列表的排序由sortbyvalue函數完成。其應用格式如下:
sortbyvalue(list1,[list2,list3…list10,][order])
該函數可同時對10個相關列表進行排序,但以位置放在第一的列表為標準。參數order為1時,列表升序排列;為0時,列表降序排列。這里默認為1。 當第一列表升序排列時,后面的相關列表元素,則按與第一列表元素的關聯關系來排序,因此后面列表元素并不一定也是升序排序。
checked變量設置語句可使得選中的復選按鈕保持核選狀態,而未被選中的復選按鈕保持非核選狀態。這種設置方式在有多個復選按鈕選擇使用時是經常用到的。
查找學生信息是在圖26-1所示的【finding a value】按鈕響應分支中完成的。該分支的下級流程如圖26-7所示。
圖26-7 【finding a value】分支下級流程
【choose sort】交互響應圖標下含有3個按鈕響應分支,這便是單擊【finding a value】
按鈕后左側窗口顯示出的3個復選小按鈕。
單擊【bob】復選按鈕,程序進入本分支運行【bob】運算圖標中如圖26-8所示的代碼。
圖26-8 【bob】分支運算圖標中的代碼
及時點評 代碼中應用checked 語句設置了“bob”按鈕的核選狀態與“ted”和“mary”按鈕的非核選狀態。
firstname:=icontitle語句巧妙地應用了設計圖標名即為學生第一姓氏的設計,從而很方便地獲得了要查找的學生的第一姓氏。
findvalue和valueatlndex兩個關于列表操作函數的應用完成了由學生第一姓氏bob找到其對應考分的功能。
findvalue是一個列表操作函數,該函數應用格式如下:
index:=findvalue(anylist,value[,index])
其含義為返回列表中從index往后第一個具有指定value值的字符串的位置。如果沒有找到具有value值的字符串或anylist不是一個列表,則返回0。
而valueatindex也是一個列表操作函數,該函數應用格式如下:
valueatindex(anylist,index)
其含義為返回指定列表中指定位置的值。
單擊【ted】復選按鈕,該分支運算圖標代碼如圖26-9所示。
圖26-9 【ted】分支運算圖標代碼
該代碼設置了【ted】按鈕的核選狀態,取消其他按鈕核選狀態;并且完成由學生姓氏ted查找到其對應考分的功能。
單擊【mary】復選按鈕,該分支運算圖標代碼如圖26-10所示。
圖26-10 【mary】分支運算圖標代碼
該代碼設置了【mary】按鈕的核選狀態和其他按鈕的非核選狀態,并完成由學生姓氏mary查找到其對應考分的功能。
按照這一設計原理,查找其他信息也就是十分容易的事情了。
如圖26-5所示的【choose sort】交互圖標本身嵌入了如圖26-11所示的多個變量。而如圖26-7所示的【choose sort】交互圖標本身則嵌入了如圖26-12所示的變量。
圖26-11 圖標中嵌入變量一 圖26-12 圖標中嵌入變量二
因此,當列表按要求排序完成后便實時顯示在窗口畫面上,如圖26-13所示。
圖26-13 信息顯示畫面
本例演示了一個對列表進行排序或查找的各項操作功能,主要運用了關于列表操作的幾個函數實現了列表按要求完成升序(降序)的排列,以及按要求查找列表中的信息的功能。
此外還應用了按鈕核選狀態的設置/列表變量的創建以及設計圖標名稱的巧妙應用等技巧設計。
新聞熱點
疑難解答