- UiPath RPA開發:入門、實戰與進階
- 邵京京等
- 3249字
- 2021-08-06 14:57:31
3.1 變量的概念與理解
變量是內存中保存數據的一個存儲空間。只要一個數據今后不只使用一次,可能被反復使用時,都要保存在變量中。
在整個自動化項目中,變量起到數據傳遞的重要作用,也可以通過改變值以實現多種目的,例如控制循環主體的執行次數。
首先來看一下Studio中用于管理變量的變量(Variables)面板,如圖3-1所示。

圖3-1 Variables面板
Variables面板中有4個字段。
□Name(名稱):必填,用于填寫變量名稱。
□Variable type(變量類型):必填,用于填寫變量的類型。
□Scope(范圍):必填,用于填寫變量的作用域。
□Default(默認值):選填,用于為變量設定默認值。
在Studio中,創建變量的方式一共有如下3種。
第一種方式:通過活動主體創建變量,如例3.1所示。
【例3.1】完成計算邊長2m的正方形的面積的流程。創建一個項目,計算邊長2m的正方形的面積并存入變量,最后在Output面板中顯示結果(要求通過活動主體創建變量)。
具體實現步驟如下所示。
1)進入Studio界面,點擊Process創建一個新流程,命名為3_1_CreateVariableBy-Activity,如圖3-2所示。
2)進入Main,在Activities面板的搜索框內輸入sequence,如圖3-3所示。

圖3-2 新建流程

圖3-3 搜索Sequence活動
3)將Sequence活動拖入設計器面板。在Properties面板中,將Sequence活動的DisplayName屬性更改為“求正方形面積”,如圖3-4所示。

圖3-4 拖入Sequence活動并更改屬性
4)拖入一個Assign活動到“求正方形面積”活動。在Properties面板中,將Assign活動的DisplayName屬性更改為“計算面積”,在Value屬性中輸入2*2,如圖3-5所示。
5)在“計算面積”活動主體的To輸入框中右擊,從彈出菜單中選擇Create Variable(快捷鍵為Ctrl+K)選項,如圖3-6所示。
6)系統隨即會在輸入框中顯示“Set Var:”字樣,輸入想要創建的變量名稱SquareArea后按下回車鍵,如圖3-7所示。創建變量后,“計算面積”活動依然顯示藍色嘆號,表示存在驗證性錯誤,如圖3-8所示(注:變量名稱要見名知意,這里采用首字母大寫的駝峰命名方式,即每個單詞首字母都大寫,其余字母小寫)。

圖3-5 拖入Assign活動并更改屬性

圖3-6 在活動主體創建變量

圖3-7 填寫變量名稱

圖3-8 變量創建完成
7)在Variables面板中檢查變量SquareArea的類型和作用域,發現錯誤是創建的變量數據類型錯誤導致的,將Variable type更改為Int32,如圖3-9所示(注:在Assign活動中系統會自動創建String類型的變量,作用域會自動設定為所設定活動的最小容器)。

圖3-9 檢查變量類型和作用域
8)此時“計算面積”活動的藍色嘆號消失,表示不存在驗證性錯誤,如圖3-10所示。

圖3-10 驗證性錯誤消除
9)拖拽Write Line活動添加到“求正方形面積”Sequence中。在Properties面板中,將DisplayName屬性更改為“輸出面積”,在Text屬性中輸入“"邊長2米的正方形面積為"+SquareArea.ToString+"平方米。"”,如圖3-11所示。

圖3-11 拖入Write Line活動并更改屬性
10)按F5鍵執行流程,將在Output面板中顯示執行結果,如圖3-12所示。

圖3-12 執行結果
第二種方式:通過Properties面板創建變量,如例3.2所示。
【例3.2】通過Properties面板創建變量的方式完成例3.1中的需求。
具體實現步驟如下所示。
1)進入Studio界面,點擊Process創建一個新流程,命名為3_2_CreateVariableBy-PropertiesPanel,如圖3-13所示。

圖3-13 新建流程
2)參照例3.1中的第2~4步創建項目,完成后如圖3-14所示。

圖3-14 參照例3.1創建項目
3)在“計算面積”活動的Properties面板中,右擊To屬性的輸入框,從彈出的菜單中選擇Create Variable選項,如圖3-15所示。系統隨即會在輸入框中顯示“Set Var:”字樣,填寫想要創建的變量名稱SquareArea后按下回車鍵,如圖3-16所示。

圖3-15 在屬性面板創建變量

圖3-16 填寫變量名稱
4)創建變量后,參照例3.1中的第8~10步檢查變量并完成流程,完成后的流程如圖3-17所示。

圖3-17 參照例3.1完成流程
5)按F5鍵執行流程,將在Output面板中顯示執行結果,如圖3-18所示。

圖3-18 執行結果
第三種方式:通過Variables面板創建變量,如例3.3所示。
【例3.3】通過Variables面板創建變量的方式完成例3.1中的需求。
具體實現步驟如下所示。
1)進入Studio界面,點擊Process創建一個新流程,命名為3_3_CreateVariableBy-VariablesPanel,如圖3-19所示。

圖3-19 新建流程
2)參照例3.1中的第2~4步創建項目,完成后如圖3-20所示。

圖3-20 參照例3.1創建項目
3)在Variables面板中,單擊Create Variable,系統將會自動生成一個變量,以此方式創建的變量默認類型為String型,如圖3-21所示。

圖3-21 在Variables面板中創建變量
4)更改Name為SquareArea,更改Variable type為Int32,如圖3-22所示。

圖3-22 更改變量屬性
5)創建變量后,在“計算面積”活動的To輸入框中輸入變量SquareArea,如圖3-23所示。

圖3-23 計算正方形的面積
6)參照例3.1中的第10步完成流程,完成后的流程如圖3-24所示。

圖3-24 參照例3.1完成流程
7)按F5鍵執行流程,將在Output面板中顯示執行結果,如圖3-25所示。
如果需要刪除一個變量,可以從Variables面板中選中該變量右擊,在彈出的菜單中選擇Delete選項(或選中該變量后直接按下Delete鍵),如圖3-26所示。

圖3-25 執行結果

圖3-26 刪除變量的方式
變量命名需要注意:
□在同一個自動化流程內,變量名稱不能重復;
□變量名稱要見名知意,如果變量名由多個單詞組成,可以采用首字母大寫的駝峰命名方式,所有變量命名規則保持一致;
□為變量命名時,不能使用關鍵字,如String、Boolean、For、While等;
□變量名稱中只能包含字母、數字、下劃線,不能包含其他字符,例如空格等,另外變量名稱不可以以數字開頭;
□在Variables面板中重命名變量會自動更新當前文件中出現的所有對應變量。
我們已經知道在Variables面板的Scope字段中可以設置變量的可用范圍,也稱為變量的作用域。盡管我們可以為創建的變量設置任意的作用域,但還是在使用時建議每個變量的作用域應盡量申明在其最小可用的范圍內,這樣在變量數量比較多的情況下更方便對變量進行整理。若不同范圍中存在同名變量,程序執行時將會優先使用最小范圍的變量。相關應用請參照例3.4深入理解。

圖3-27 流程圖
【例3.4】分兩次彈出窗口,提示用戶輸入自己的姓氏和名字,在用戶輸入后,彈出窗口顯示用戶的全名(要求輸入姓氏和輸入名字的活動分別寫在不同的序列中)。流程圖如圖3-27所示。
具體實現步驟如下所示。
1)在Studio界面中,點擊Process創建名為3_4_VariableScope的新流程,如圖3-28所示。
2)拖入一個Sequence活動到設計器面板。在Properties面板中,將Sequence活動的DisplayName屬性更改為“輸出全名流程”,如圖3-29所示。
3)再拖入一個Sequence至“輸出全名流程”Sequence中。在Properties面板中,將該Sequence活動的DisplayName屬性更改為“輸入姓氏”,如圖3-30所示。

圖3-28 新建流程

圖3-29 拖入Sequence活動并更改屬性

圖3-30 再次拖入Sequence活動并更改屬性
4)拖入一個Input Dialog活動到“輸入姓氏”Sequence中。在Properties面板中,將Input Dialog活動的DisplayName屬性更改為“輸入姓氏”,將Label屬性更改為“"請輸入您的姓氏:"”,將Title屬性更改為“"輸入姓氏"”,如圖3-31所示。
5)在Properties面板的Result字段中右擊,從彈出的菜單中選擇Create Variable選項,系統隨即會在輸入框中顯示“Set Var:”字樣,輸入LastName后按下回車鍵,如圖3-32所示。

圖3-31 輸入姓氏彈出窗口設置

圖3-32 創建存儲姓氏的變量
6)折疊“輸入姓氏”Sequence,再拖入一個Sequence至“輸出全名流程”Sequence中。在Properties面板中,將該Sequence活動的DisplayName屬性更改為“輸入名字”,如圖3-33所示。
7)拖入一個Input Dialog活動到“輸入名字”Sequence中。在Properties面板中,將Input Dialog活動的Display-Name屬性更改為“輸入名字”,將Label屬性更改為“"請輸入您的名字:"”,將Title屬性更改為“"輸入名字"”,如圖3-34所示。

圖3-33 再次拖入Sequence活動并更改屬性

圖3-34 輸入名字彈出窗口設置

圖3-35 創建存儲名字的變量
8)在Properties面板的Result字段中右擊,從菜單中選擇Create Variable選項,系統隨即會在輸入框中顯示“Set Var:”字樣,輸入FirstName后按下回車鍵,如圖3-35所示。
9)折疊“輸入名字”Sequence,拖入一個Message Box活動到“輸出全名流程”Sequence中。在Properties面板中,將Message Box活動的DisplayName屬性更改為“輸出全名”,在Text屬性中輸入LastName+FirstName,如圖3-36所示。

圖3-36 輸出全名窗口設置
10)可以看到,上一步中的Message Box的Text屬性存在驗證性錯誤,錯誤詳情顯示變量LastName和FirstName均未被聲明,如圖3-37所示。

圖3-37 驗證性錯誤提示
11)該錯誤是之前創建變量的作用域過小導致的,這時可以查看一下Variables面板。選中“輸入姓氏”Sequence時的Variables面板如圖3-38所示。
12)選中“輸入名字”Sequence時的Variables面板如圖3-39所示。
13)將兩個變量的作用域都更改為“輸出全名流程”,如圖3-40所示。

圖3-38 查看存儲姓氏的變量作用域

圖3-39 查看存儲名字的變量作用域

圖3-40 更改變量作用域
14)此時驗證性錯誤消失,最終主項目視圖如圖3-41所示。

圖3-41 最終項目主視圖
15)按F5鍵執行流程,系統將顯示“輸入姓氏”窗口,輸入用戶的姓氏后點擊OK按鈕,如圖3-42所示。接著系統將顯示“輸入名字”窗口,輸入用戶的名字后點擊OK按鈕,如圖3-43所示。
16)執行結果如圖3-44所示。

圖3-42 輸入姓氏窗口

圖3-43 輸入名字窗口

圖3-44 執行結果
- HTML5+CSS3王者歸來
- HoloLens Beginner's Guide
- Python數據分析(第2版)
- SQL Server 2016數據庫應用與開發習題解答與上機指導
- Getting Started with Laravel 4
- Getting Started with Gulp
- Java系統化項目開發教程
- Instant Nancy Web Development
- GameMaker Essentials
- PHP項目開發全程實錄(第4版)
- 編程的原則:改善代碼質量的101個方法
- HTML5+CSS3+jQuery Mobile+Bootstrap開發APP從入門到精通(視頻教學版)
- 軟件測試項目實戰之功能測試篇
- JavaWeb入門經典
- Python High Performance(Second Edition)