SlideShare a Scribd company logo
1 of 14
Download to read offline
App Inventor 教學講義
3
吳為勇
  2	
  
Chapter	
  3	
  
For	
  Each(迴圈)	
  
根據指定範圍之整數個數來決定 do 的執行次數,可自由設定每次累加的數字
step。 您可使用該變數名稱來取得它的值。
像是底下的 VB For 迴圈指令
For index As Integer = 1 To 10 step 1
Label.Write(index.ToString & " ")
Next
以上的 VB 指令可以用以下的拼塊來表示
範例:	
  
Step1:
在 Designer 設計師作業需要新增一個 Button 元件。由左側的 Basic 元件
區選擇一個按鈕 Button, 拖拉到 Viewer(開發設計區)中放到上方,在
Components(應用元件區)中選此 Button1,按下下方 Rename 修改此元件名稱
為 btnClick。然後再選擇一個 Label 元件。由左側的 Basic 元件區選擇一個標
籤 Label, 拖拉到 Viewer(開發設計區)中放到最下方並修改此元件名稱為
lblShow。
  3	
  
	
  
圖表	
   1	
  For	
   迴圈範例_設計師作業
Step2:
1. 開啟Blocks拼塊編輯器。點選左側Built in 裡的Screen1下的btnClick,
選擇『When btnClick.Click do』。拖拉到中間的 Viewer 中。
2. 點選 Control 選擇『for each name from 1 ..』的拼塊,拖拉到上一
步驟所選的『When btnClick.Click do』的裡面。將 name 改成 index。
其餘維持原來的樣子。
3. 點選 Screen1 下的 lblShow 選擇『set lblSHOW.Text to』,拖拉到『for
each name from 1 ..』的拼塊裡。
4. 點選 Text 選擇 Join 拖拉到『set lblSHOW.Text to』的框框裡。(將兩
個指定字串合成一個新字串。對於此指令,數字也被視為字串。例如: 用
join 指令來合成 1+1 及 2×3 則回傳 26 (2 和 6 合成)。
5. 再點選 Text 選擇 Join 拖拉到『Join』上面的框框裡。
6. 點選 Text 選擇『””』將內容改成『”n”』拖拉到第一個『join』
的下方框框。
7. 點選 Screen1 下的 lblShow 選擇『lblSHOW.Text』,拖拉到第二個『Join』
的上方框框。
8. 點選 Variables 選擇『get』,下拉其內容為『index』,拖拉到第二個『Join』
的下方框框。
  4	
  
9. 這樣就完成了 Blocks 編輯。完整拼塊編輯如下圖。
	
  
圖表	
   2	
  For	
   迴圈範例拼塊編輯
10. 用模擬器看執行結果如下圖。
	
  
圖表	
   3	
  For	
   迴圈範例執行結果
  5	
  
List 清單指令	
  
App Inventor 中的 list 就是一般程式中的陣列,所以相關操作方法皆與陣列非
常相似。但請注意App Inventor的List編號從 1 開始,陣列編號則從 0 開始。
	
  
圖表	
   4	
  List 指令區
拼塊說明:	
  
create empty list
產生一個空的清單。請點選藍色方
塊來調整要插入的 item數量。
  6	
  
make a list
新增一個清單,並自行指定其元素
(item)。若您未指定任何元素,則
此為一空清單,您可以之後再加入
元素。請點選藍色方塊來調整要插
入的 item數量。
add items to list
將指定內容item接在指定清單的
後面。本指令與 append to list指
令的差別在於 append to list指令
是將兩個清單組起來,而 add
items to list指令是將要新增的內
容當作個別參數來操作。請點選藍
色方塊來調整要插入的 item數
量。
is in list?
若指定內容thing存在於清單中回
傳true,反之回傳false。注意:若
一清單中含有子清單,則子清單的
元素不包含在原清單中。例如清單
(1 2 (3 4))的元素為1、 2以及子清
單(3 4);單獨3或4並非這個list的
元素。
length of list
回傳清單的長度,也就是元素數
目。
is list empty?
如果清單為空,回傳true;反之回
傳false。
  7	
  
index in list
指定項目於清單中的位置編號。
pick random item
從清單中隨機取得任一項目。
select list item
取得清單list的指定位置index元素
內容,第一個清單元素位置為1。
insert list item
將指定內容item插入清單的指定
位置。
replace list item
將清單的指定位置元素以新的內
容replacement取代。
remove list item
從清單中刪除指定位置的元素。
append to list
將第一個清單list1與第二個清單
list2組成一個新的清單。
copy list
複製清單,如果清單包含子清單也
會一併複製。
is a list?
如果指定內容格式為清單,回傳
true;反之回傳false。
list to csv row
將清單轉換為CSV表格中的列
row,並以CSV
  8	
  
(comma-separated value)格式
回傳。Row中的每一個項目就是一
個欄位(field)。回傳的文件結尾
不會包含換行符號。
list to csv table
將清單以列優先的方式轉換為CSV
表格,並以CSV格式回傳。回傳清
單中的項目是另一個清單,代表
CSV表格中的列,每列中的項目則
是該列的欄位。列中的項目是以逗
號分隔,列彼此之間則是以CRLF
(rn)符號分隔。
list from csv row
將CSV文件中的列解析並回傳一個
清單,清單內容就是該列的各個欄
位。不同列將以n或 CRLF (rn)
符號來區隔。如果列中的文字是以
新的一列或是CRLF符號結束,這樣
的語法是允許的。
list from csv table
將CSV表格解析並回傳一個清單,
清單內容代表不同的列(再包含不
同的欄位)。不同列將以n或 CRLF
(rn)符號來區隔。
lookup in pairs (請參閱右圖)
在一個以清單來呈現的類字典架
構中來找尋資料。這指令需要三個
輸入:key,一個清單 pairs 以及
結果 notFound。在此的 pairs 需
為內容為一對對的清單,也就是該
清單的內容實際上是另一個兩元
素的清單。
  9	
  
本指令會先尋找清單中的第一
對,其第一個元素就是 key,並回
傳第二個元素。例如,清單 ((a
apple) (d dragon) (b boxcar)
(cat 100))中,如果尋找 'b' 就會回
傳 'boxcar'。
如果清單中沒有這樣的一對,本指
令會回傳 "notFound" 代表沒有
找到。如果 pairs 並非一對對的清
單,則本操作會產生錯誤。
	
  
	
   	
  
  10	
  
範例:	
  
大樂透選號	
  
從1~49號隨機產生出不重複的6個號碼。
使用元件: Button(按鈕), Label(標籤).
Step1:
開啟一個新的名為 Lotto 之 Project 用設計師設計放入一個 btnClick 與一個
lblNumbers 兩個元件。存檔後開啟 Blocks(拼塊設計師)。
	
  
圖表	
   5	
   樂透選號畫面設計
Step2:
1. 開啟拼塊編輯器,先點選左側 Built in 裡的 Variables 選擇新增一個全
域變數『initialize global name to』拉到中間的 Viewer。並將 name
改成 lotto。
2. 點選左側 List 指令選擇『make a list 』,拖拉到『initialize global lotto
to』右邊的框框內。
3. 點選左側 Built in 裡的 Variables 選擇新增一個全域變數『initialize
global name to』拉到中間的 Viewer。並將 name 改成 run。
4. 點選左側 Built in 裡的 Logic 選擇『true』拖拉到『initialize global run
  11	
  
to』的右側框框中。
5. 點選左側 Built in 裡的 Variables 選擇新增一個全域變數『initialize
global name to』拉到中間的 Viewer。並將 name 改成 n。
6. 點選左側 Built in 裡的 Math 選擇『0』。並拖拉到『initialize global n
to』的右側框框中。
7. 點選左側 Built in 裡的 Screen1 的『btnClick』選擇『When
btnClick.Click do』。拖拉到中間的 Viewer 中。
8. 點選左側 Built in 裡的 Variables 選擇『set global lotto to』,拖拉到
『When btnClick.Click do』的框框中。另外點選左側 Built in 裡的 List
選擇『make a List』,將此拼塊放到『set global lotto to』右邊的框框
裡。
9. 點選左側 Built in 裡的 Control 選擇『for each name from do』
拖拉到『set global lotto to』下方。並將此拼塊的原來的『name』改
成『i』。『to』的值改成『6』。
10. 點選左側 Built in 裡的 Variables 選擇『set global run to』,拖拉到『for
each name from do』下方框框中。再點選左側 Built in 裡的 Logic
選擇『true』放到『set global run to』右邊的框框。表示將全域變數
run 設成『true』。
11. 點選左側 Built in 裡的 Control 選擇『while test do』的拼塊放到
『set global run to』之下。再點選左側 Built in 裡的 Variables 選擇
『get global run to』。將此拼塊放到 while test 旁的框框。
12. 在『while test do』拼塊的 do 旁邊的框框裡表示當全域變數『run』
這個變數為 true 時要做的事。點選點選左側 Built in 裡的 Variables
選擇『set global run to』放到 do 旁邊的框框裡。並且將此 run 變數
設為 false。
13. 點選左側 Built in 裡的 Variables 選擇『set global n to』,拖拉到『set
global run to』下方框框中。再點選左側 Built in 裡的 Math 選擇
『random Integer from to 』放到右邊的框框中。然後設定『1』
to 『49』。表示要從 1~49 之間取得亂數。
14. 點選左側 Built in 裡的 Control 選擇『for each name in list do』
放到上一步驟設定之『set global n to』『random Integer from 1 to
  12	
  
49』的下方。更改『name』為『item』。設定此『for each name in list
do』的 List 為全域變數 Lotto。
15. 點選左側 Built in 裡的 Control 選擇『if then』指令拖拉到『for
each name in list do』的框框裡。
16. 點選左側 Built in 裡的 Math 裡的『 = 』放到『if then』的 if 旁
邊的框框。『=』左邊的值設定為全域變數『n』,右邊的值設定為『item』。
17. 點選左側 Built in 裡的 Variables 選擇『set global run to』。將此拼塊
放到『if then』的 then 旁的框框。並設定『set global run to』
為『true』。
18. 點選左側 Built in 裡的 List 選擇『add items to list item』拖拉到
『while test do』的拼塊下方。其中 List 的拼塊設定為全域變數
『lotto』,而 item 則設定為全域變數『n』。
19. 點選左側 Built in 裡的 Screen1 選擇『ListPicker1』,拖拉到『add items
to list item』下方框框中。再點選左側 Built in 裡的 Variable 選擇
全域變數『lotto』拖拉到 to 旁邊的框框。
20. 以上這樣就完成全部的設定了。Blocks 設定完成圖如下:
	
  
圖表	
   6	
   樂透選號 Blocks 設定
	
  
	
  
  13	
  
21. 用模擬器看執行結果如下圖。
圖表	
   7	
   樂透選號執行結果	
  
	
   	
  
  14	
  
參考網站與書籍:	
  
書籍:
1. Android 手機程式超簡單	
   App	
  Inventor	
   入門卷 作者:CAVE 教育團
隊 出版社:馥林文化	
  
2. Google	
  App	
  Inventor 開發手冊:不會寫程式也能設計你的 APP	
   作者:
王培坤	
   出版社:上奇資訊	
  
	
  
網站:
1. http://appinventor.mit.edu	
  

More Related Content

What's hot

Microsoft 2007 Basics
Microsoft 2007 BasicsMicrosoft 2007 Basics
Microsoft 2007 BasicsJulie Van Noy
 
twMVC#18 | 專案分層架構
twMVC#18 | 專案分層架構twMVC#18 | 專案分層架構
twMVC#18 | 專案分層架構twMVC
 
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]DeNA
 
ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμων
ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες ΑλγορίθμωνΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμων
ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμωνevoyiatz
 
【kintone 基本操作ガイド】7.アプリに項目を追加する
【kintone 基本操作ガイド】7.アプリに項目を追加する【kintone 基本操作ガイド】7.アプリに項目を追加する
【kintone 基本操作ガイド】7.アプリに項目を追加するCybozucommunity
 
【Unity道場スペシャル 2017京都】スマホゲーム開発者なら知っておくべきチートのリスク&対策
【Unity道場スペシャル 2017京都】スマホゲーム開発者なら知っておくべきチートのリスク&対策【Unity道場スペシャル 2017京都】スマホゲーム開発者なら知っておくべきチートのリスク&対策
【Unity道場スペシャル 2017京都】スマホゲーム開発者なら知っておくべきチートのリスク&対策Unity Technologies Japan K.K.
 
Παρουσίαση του μαθήματος "Εισαγωγή στις αρχές της Επιστήμης των Η/Υ"
Παρουσίαση του μαθήματος "Εισαγωγή στις αρχές της Επιστήμης των Η/Υ"Παρουσίαση του μαθήματος "Εισαγωγή στις αρχές της Επιστήμης των Η/Υ"
Παρουσίαση του μαθήματος "Εισαγωγή στις αρχές της Επιστήμης των Η/Υ"Ιωάννης Σαρημπαλίδης
 
Α-5_Λογισμικό_Ανάθεση εργασίας
Α-5_Λογισμικό_Ανάθεση εργασίαςΑ-5_Λογισμικό_Ανάθεση εργασίας
Α-5_Λογισμικό_Ανάθεση εργασίαςElenaX
 
系統程式 -- 第 10 章
系統程式 -- 第 10 章系統程式 -- 第 10 章
系統程式 -- 第 10 章鍾誠 陳鍾誠
 
Excel 2016 top features
Excel 2016 top featuresExcel 2016 top features
Excel 2016 top featuresBandhu P. Das
 
ΑΕΠΠ: Σύνθετες Λογικές Συνθήκες
ΑΕΠΠ: Σύνθετες Λογικές ΣυνθήκεςΑΕΠΠ: Σύνθετες Λογικές Συνθήκες
ΑΕΠΠ: Σύνθετες Λογικές ΣυνθήκεςNikos Michailidis
 

What's hot (20)

Microsoft 2007 Basics
Microsoft 2007 BasicsMicrosoft 2007 Basics
Microsoft 2007 Basics
 
twMVC#18 | 專案分層架構
twMVC#18 | 專案分層架構twMVC#18 | 專案分層架構
twMVC#18 | 專案分層架構
 
Κεφ. 10 Υποπρογράμματα
Κεφ. 10 ΥποπρογράμματαΚεφ. 10 Υποπρογράμματα
Κεφ. 10 Υποπρογράμματα
 
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
 
Δομή και υπηρεσίες Διαδικτύου
Δομή και υπηρεσίες ΔιαδικτύουΔομή και υπηρεσίες Διαδικτύου
Δομή και υπηρεσίες Διαδικτύου
 
ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμων
ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες ΑλγορίθμωνΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμων
ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμων
 
【kintone 基本操作ガイド】7.アプリに項目を追加する
【kintone 基本操作ガイド】7.アプリに項目を追加する【kintone 基本操作ガイド】7.アプリに項目を追加する
【kintone 基本操作ガイド】7.アプリに項目を追加する
 
【Unity道場スペシャル 2017京都】スマホゲーム開発者なら知っておくべきチートのリスク&対策
【Unity道場スペシャル 2017京都】スマホゲーム開発者なら知っておくべきチートのリスク&対策【Unity道場スペシャル 2017京都】スマホゲーム開発者なら知っておくべきチートのリスク&対策
【Unity道場スペシャル 2017京都】スマホゲーム開発者なら知っておくべきチートのリスク&対策
 
系統程式 -- 第 6 章
系統程式 -- 第 6 章系統程式 -- 第 6 章
系統程式 -- 第 6 章
 
ΑΕΠΠ - Μάθημα 6
ΑΕΠΠ - Μάθημα 6ΑΕΠΠ - Μάθημα 6
ΑΕΠΠ - Μάθημα 6
 
Παρουσίαση του μαθήματος "Εισαγωγή στις αρχές της Επιστήμης των Η/Υ"
Παρουσίαση του μαθήματος "Εισαγωγή στις αρχές της Επιστήμης των Η/Υ"Παρουσίαση του μαθήματος "Εισαγωγή στις αρχές της Επιστήμης των Η/Υ"
Παρουσίαση του μαθήματος "Εισαγωγή στις αρχές της Επιστήμης των Η/Υ"
 
Α-5_Λογισμικό_Ανάθεση εργασίας
Α-5_Λογισμικό_Ανάθεση εργασίαςΑ-5_Λογισμικό_Ανάθεση εργασίας
Α-5_Λογισμικό_Ανάθεση εργασίας
 
系統程式 -- 第 10 章
系統程式 -- 第 10 章系統程式 -- 第 10 章
系統程式 -- 第 10 章
 
Field properties
Field propertiesField properties
Field properties
 
Excel 2016 top features
Excel 2016 top featuresExcel 2016 top features
Excel 2016 top features
 
系統程式 -- 前言
系統程式 -- 前言系統程式 -- 前言
系統程式 -- 前言
 
ΑΕΠΠ - μάθημα 29
ΑΕΠΠ - μάθημα 29ΑΕΠΠ - μάθημα 29
ΑΕΠΠ - μάθημα 29
 
ΑΕΠΠ - Μάθημα 1
ΑΕΠΠ - Μάθημα 1ΑΕΠΠ - Μάθημα 1
ΑΕΠΠ - Μάθημα 1
 
ΑΕΠΠ - Μάθημα 12
ΑΕΠΠ - Μάθημα 12ΑΕΠΠ - Μάθημα 12
ΑΕΠΠ - Μάθημα 12
 
ΑΕΠΠ: Σύνθετες Λογικές Συνθήκες
ΑΕΠΠ: Σύνθετες Λογικές ΣυνθήκεςΑΕΠΠ: Σύνθετες Λογικές Συνθήκες
ΑΕΠΠ: Σύνθετες Λογικές Συνθήκες
 

Viewers also liked

App inventor 教學講義 chapter6
App inventor 教學講義 chapter6App inventor 教學講義 chapter6
App inventor 教學講義 chapter6Jerry Wu
 
App inventor 3
App inventor 3App inventor 3
App inventor 3Roy Wang
 
App inventor 4
App inventor 4App inventor 4
App inventor 4Roy Wang
 
Android 程式設計(2)
Android 程式設計(2)Android 程式設計(2)
Android 程式設計(2)Roy Wang
 
Android 程式設計(1)
Android 程式設計(1)Android 程式設計(1)
Android 程式設計(1)Roy Wang
 
App inventor 5
App inventor 5App inventor 5
App inventor 5Roy Wang
 
App inventor 1
App inventor 1App inventor 1
App inventor 1Roy Wang
 
App inventor 2
App inventor 2App inventor 2
App inventor 2Roy Wang
 

Viewers also liked (8)

App inventor 教學講義 chapter6
App inventor 教學講義 chapter6App inventor 教學講義 chapter6
App inventor 教學講義 chapter6
 
App inventor 3
App inventor 3App inventor 3
App inventor 3
 
App inventor 4
App inventor 4App inventor 4
App inventor 4
 
Android 程式設計(2)
Android 程式設計(2)Android 程式設計(2)
Android 程式設計(2)
 
Android 程式設計(1)
Android 程式設計(1)Android 程式設計(1)
Android 程式設計(1)
 
App inventor 5
App inventor 5App inventor 5
App inventor 5
 
App inventor 1
App inventor 1App inventor 1
App inventor 1
 
App inventor 2
App inventor 2App inventor 2
App inventor 2
 

App inventor 教學講義 chapter3

  • 2.   2   Chapter  3   For  Each(迴圈)   根據指定範圍之整數個數來決定 do 的執行次數,可自由設定每次累加的數字 step。 您可使用該變數名稱來取得它的值。 像是底下的 VB For 迴圈指令 For index As Integer = 1 To 10 step 1 Label.Write(index.ToString & " ") Next 以上的 VB 指令可以用以下的拼塊來表示 範例:   Step1: 在 Designer 設計師作業需要新增一個 Button 元件。由左側的 Basic 元件 區選擇一個按鈕 Button, 拖拉到 Viewer(開發設計區)中放到上方,在 Components(應用元件區)中選此 Button1,按下下方 Rename 修改此元件名稱 為 btnClick。然後再選擇一個 Label 元件。由左側的 Basic 元件區選擇一個標 籤 Label, 拖拉到 Viewer(開發設計區)中放到最下方並修改此元件名稱為 lblShow。
  • 3.   3     圖表   1  For   迴圈範例_設計師作業 Step2: 1. 開啟Blocks拼塊編輯器。點選左側Built in 裡的Screen1下的btnClick, 選擇『When btnClick.Click do』。拖拉到中間的 Viewer 中。 2. 點選 Control 選擇『for each name from 1 ..』的拼塊,拖拉到上一 步驟所選的『When btnClick.Click do』的裡面。將 name 改成 index。 其餘維持原來的樣子。 3. 點選 Screen1 下的 lblShow 選擇『set lblSHOW.Text to』,拖拉到『for each name from 1 ..』的拼塊裡。 4. 點選 Text 選擇 Join 拖拉到『set lblSHOW.Text to』的框框裡。(將兩 個指定字串合成一個新字串。對於此指令,數字也被視為字串。例如: 用 join 指令來合成 1+1 及 2×3 則回傳 26 (2 和 6 合成)。 5. 再點選 Text 選擇 Join 拖拉到『Join』上面的框框裡。 6. 點選 Text 選擇『””』將內容改成『”n”』拖拉到第一個『join』 的下方框框。 7. 點選 Screen1 下的 lblShow 選擇『lblSHOW.Text』,拖拉到第二個『Join』 的上方框框。 8. 點選 Variables 選擇『get』,下拉其內容為『index』,拖拉到第二個『Join』 的下方框框。
  • 4.   4   9. 這樣就完成了 Blocks 編輯。完整拼塊編輯如下圖。   圖表   2  For   迴圈範例拼塊編輯 10. 用模擬器看執行結果如下圖。   圖表   3  For   迴圈範例執行結果
  • 5.   5   List 清單指令   App Inventor 中的 list 就是一般程式中的陣列,所以相關操作方法皆與陣列非 常相似。但請注意App Inventor的List編號從 1 開始,陣列編號則從 0 開始。   圖表   4  List 指令區 拼塊說明:   create empty list 產生一個空的清單。請點選藍色方 塊來調整要插入的 item數量。
  • 6.   6   make a list 新增一個清單,並自行指定其元素 (item)。若您未指定任何元素,則 此為一空清單,您可以之後再加入 元素。請點選藍色方塊來調整要插 入的 item數量。 add items to list 將指定內容item接在指定清單的 後面。本指令與 append to list指 令的差別在於 append to list指令 是將兩個清單組起來,而 add items to list指令是將要新增的內 容當作個別參數來操作。請點選藍 色方塊來調整要插入的 item數 量。 is in list? 若指定內容thing存在於清單中回 傳true,反之回傳false。注意:若 一清單中含有子清單,則子清單的 元素不包含在原清單中。例如清單 (1 2 (3 4))的元素為1、 2以及子清 單(3 4);單獨3或4並非這個list的 元素。 length of list 回傳清單的長度,也就是元素數 目。 is list empty? 如果清單為空,回傳true;反之回 傳false。
  • 7.   7   index in list 指定項目於清單中的位置編號。 pick random item 從清單中隨機取得任一項目。 select list item 取得清單list的指定位置index元素 內容,第一個清單元素位置為1。 insert list item 將指定內容item插入清單的指定 位置。 replace list item 將清單的指定位置元素以新的內 容replacement取代。 remove list item 從清單中刪除指定位置的元素。 append to list 將第一個清單list1與第二個清單 list2組成一個新的清單。 copy list 複製清單,如果清單包含子清單也 會一併複製。 is a list? 如果指定內容格式為清單,回傳 true;反之回傳false。 list to csv row 將清單轉換為CSV表格中的列 row,並以CSV
  • 8.   8   (comma-separated value)格式 回傳。Row中的每一個項目就是一 個欄位(field)。回傳的文件結尾 不會包含換行符號。 list to csv table 將清單以列優先的方式轉換為CSV 表格,並以CSV格式回傳。回傳清 單中的項目是另一個清單,代表 CSV表格中的列,每列中的項目則 是該列的欄位。列中的項目是以逗 號分隔,列彼此之間則是以CRLF (rn)符號分隔。 list from csv row 將CSV文件中的列解析並回傳一個 清單,清單內容就是該列的各個欄 位。不同列將以n或 CRLF (rn) 符號來區隔。如果列中的文字是以 新的一列或是CRLF符號結束,這樣 的語法是允許的。 list from csv table 將CSV表格解析並回傳一個清單, 清單內容代表不同的列(再包含不 同的欄位)。不同列將以n或 CRLF (rn)符號來區隔。 lookup in pairs (請參閱右圖) 在一個以清單來呈現的類字典架 構中來找尋資料。這指令需要三個 輸入:key,一個清單 pairs 以及 結果 notFound。在此的 pairs 需 為內容為一對對的清單,也就是該 清單的內容實際上是另一個兩元 素的清單。
  • 9.   9   本指令會先尋找清單中的第一 對,其第一個元素就是 key,並回 傳第二個元素。例如,清單 ((a apple) (d dragon) (b boxcar) (cat 100))中,如果尋找 'b' 就會回 傳 'boxcar'。 如果清單中沒有這樣的一對,本指 令會回傳 "notFound" 代表沒有 找到。如果 pairs 並非一對對的清 單,則本操作會產生錯誤。      
  • 10.   10   範例:   大樂透選號   從1~49號隨機產生出不重複的6個號碼。 使用元件: Button(按鈕), Label(標籤). Step1: 開啟一個新的名為 Lotto 之 Project 用設計師設計放入一個 btnClick 與一個 lblNumbers 兩個元件。存檔後開啟 Blocks(拼塊設計師)。   圖表   5   樂透選號畫面設計 Step2: 1. 開啟拼塊編輯器,先點選左側 Built in 裡的 Variables 選擇新增一個全 域變數『initialize global name to』拉到中間的 Viewer。並將 name 改成 lotto。 2. 點選左側 List 指令選擇『make a list 』,拖拉到『initialize global lotto to』右邊的框框內。 3. 點選左側 Built in 裡的 Variables 選擇新增一個全域變數『initialize global name to』拉到中間的 Viewer。並將 name 改成 run。 4. 點選左側 Built in 裡的 Logic 選擇『true』拖拉到『initialize global run
  • 11.   11   to』的右側框框中。 5. 點選左側 Built in 裡的 Variables 選擇新增一個全域變數『initialize global name to』拉到中間的 Viewer。並將 name 改成 n。 6. 點選左側 Built in 裡的 Math 選擇『0』。並拖拉到『initialize global n to』的右側框框中。 7. 點選左側 Built in 裡的 Screen1 的『btnClick』選擇『When btnClick.Click do』。拖拉到中間的 Viewer 中。 8. 點選左側 Built in 裡的 Variables 選擇『set global lotto to』,拖拉到 『When btnClick.Click do』的框框中。另外點選左側 Built in 裡的 List 選擇『make a List』,將此拼塊放到『set global lotto to』右邊的框框 裡。 9. 點選左側 Built in 裡的 Control 選擇『for each name from do』 拖拉到『set global lotto to』下方。並將此拼塊的原來的『name』改 成『i』。『to』的值改成『6』。 10. 點選左側 Built in 裡的 Variables 選擇『set global run to』,拖拉到『for each name from do』下方框框中。再點選左側 Built in 裡的 Logic 選擇『true』放到『set global run to』右邊的框框。表示將全域變數 run 設成『true』。 11. 點選左側 Built in 裡的 Control 選擇『while test do』的拼塊放到 『set global run to』之下。再點選左側 Built in 裡的 Variables 選擇 『get global run to』。將此拼塊放到 while test 旁的框框。 12. 在『while test do』拼塊的 do 旁邊的框框裡表示當全域變數『run』 這個變數為 true 時要做的事。點選點選左側 Built in 裡的 Variables 選擇『set global run to』放到 do 旁邊的框框裡。並且將此 run 變數 設為 false。 13. 點選左側 Built in 裡的 Variables 選擇『set global n to』,拖拉到『set global run to』下方框框中。再點選左側 Built in 裡的 Math 選擇 『random Integer from to 』放到右邊的框框中。然後設定『1』 to 『49』。表示要從 1~49 之間取得亂數。 14. 點選左側 Built in 裡的 Control 選擇『for each name in list do』 放到上一步驟設定之『set global n to』『random Integer from 1 to
  • 12.   12   49』的下方。更改『name』為『item』。設定此『for each name in list do』的 List 為全域變數 Lotto。 15. 點選左側 Built in 裡的 Control 選擇『if then』指令拖拉到『for each name in list do』的框框裡。 16. 點選左側 Built in 裡的 Math 裡的『 = 』放到『if then』的 if 旁 邊的框框。『=』左邊的值設定為全域變數『n』,右邊的值設定為『item』。 17. 點選左側 Built in 裡的 Variables 選擇『set global run to』。將此拼塊 放到『if then』的 then 旁的框框。並設定『set global run to』 為『true』。 18. 點選左側 Built in 裡的 List 選擇『add items to list item』拖拉到 『while test do』的拼塊下方。其中 List 的拼塊設定為全域變數 『lotto』,而 item 則設定為全域變數『n』。 19. 點選左側 Built in 裡的 Screen1 選擇『ListPicker1』,拖拉到『add items to list item』下方框框中。再點選左側 Built in 裡的 Variable 選擇 全域變數『lotto』拖拉到 to 旁邊的框框。 20. 以上這樣就完成全部的設定了。Blocks 設定完成圖如下:   圖表   6   樂透選號 Blocks 設定    
  • 13.   13   21. 用模擬器看執行結果如下圖。 圖表   7   樂透選號執行結果      
  • 14.   14   參考網站與書籍:   書籍: 1. Android 手機程式超簡單   App  Inventor   入門卷 作者:CAVE 教育團 隊 出版社:馥林文化   2. Google  App  Inventor 開發手冊:不會寫程式也能設計你的 APP   作者: 王培坤   出版社:上奇資訊     網站: 1. http://appinventor.mit.edu