在上一篇擷取螢幕畫面併存成圖檔的範例中有提到,該流程在執行後是會直接覆蓋掉存檔路徑中,

原本存在以執行當天的日期為檔名的圖片的,並沒有任何的防呆或是檢查!

 

所以有很高的機率會因為不小心按到執行,又讓流程跑完,然後原本要的圖檔就不見了…

(因為新的圖檔給取代掉了)

 

這時候,如果這圖檔非常重要,那麼如果有做備份就馬上找備分中的檔案回來以外,

就真的是沒招了!

 

所以這時候在流程設計之初,就要先想到這一點,並加入一個判斷流程,

讓電腦先確認指定的資料夾路徑(存檔路徑)中,到底有沒有當天的檔案存在,

如果沒有的話才直接存檔!(這點不只針對圖檔,也適用於各種類型的檔案)

 

而讓電腦確認指定的資料夾中有沒有指定檔名的檔案存在,其實是有好幾種方式的,

但這篇的範例主要是針對存檔時,要電腦先去做確認的流程喔。

 

其他的做法會等有機會的時候再來講解。

 

下面就來看看確認檔案是否存在的流程要怎麼製作吧!

 

首先先把"拍攝螢幕截去畫面"動作中設定的存檔路徑複製下來!

 

 

先在左側動作清單中找到"檔案"項目,

並展開清單後選取並將"如果檔案已存在"動作

 

然後把這動作拖曳到編輯區中"拍攝螢幕畫面"的上方!

 

 

 

在跳出的設定視窗中的"檔案路徑"欄位上貼上剛剛複製的路徑後點"儲存"

 

之後,在編輯區的流程中就會多一個"如果檔案已存在""End"判斷式

"如果檔案已存在""End"中間的區域就是設定判斷式的條件的位置


判斷式是什麼呢?

 

就是如果滿足了你設定的條件後,你要電腦去做什麼事情。

 

口語化點就是:如果怎樣,就這樣…

 

這部分和"條件"動作清單中的If是一樣的概念。

 

 

"條件"清單中的動作主要是針對PAD中設定的"變數"去做判斷,

而檔案的"如果檔案已存在"這個動作,單純只針對"檔案"的存在與否去做判斷


 

※雖然"檔案已存在"這個動作名稱是"已存在",但在其設定視窗中,

"如果檔案"後面的下拉清單內,其實是可以切換"存在""不存在"的!


 

由於這篇還沒有說到"迴圈"(loop),所以這邊就單純的讓機器人在發現檔案已存在時,

直接跳出個通知視窗告知使用者檔案已存在了!

 

所以就到左邊動作區域,展開"訊息方塊"的清單

 

"顯示訊息"給拖曳到右邊編輯區中,"如果檔案已存在"的下方

 

然後設定下"顯示訊息"的內容

 

主要設定"訊息方塊標題""要顯示的訊息"即可。

 

"訊息方塊圖示"的部分則可視需求調整(預設為"")

 

設定完成後,點擊"儲存"即可。

 

這樣就能讓電腦自己先去判斷檔案存不存在了!

 

到此,目前的流程是下面這樣的:

 

但是如果只是這樣還是會有問題,因為剛剛的判斷式並不"完整"!!

 

因為如果照上面的流程來說,電腦只是單純地去檢查有沒有檔案

如果有檔案的話,就跳個訊息通知告訴使用者而已。

 

然後電腦會繼續執行下一個動作,也就是"拍攝螢幕擷取畫面",然後擷取畫面並存成檔案。

 

也就是說,在這流程中,如果原本有檔案的話,還是會被取代掉的

 

那也許有人會問:我不是已經加了一個判斷式了嗎?

 

答案是沒錯的。

 

我們上面是加了判斷式,而判斷式也能正常執行的,

只是我們要電腦做判斷的條件是:

"存檔路徑中有沒有檔案,有的話就跳個通知"罷了!

 

也就是說,我們並沒有在判斷式中告訴電腦,

"如果路徑中沒有檔案的時候,它要怎麼做"!!

 

 

也許還會有人問:下面一個動作就是"拍攝螢幕擷取畫面"了啊!?

 

這個答案也是正確的,不過問題就在於這動作的擺放位置上。

 

因為我們並不是把"拍攝螢幕擷取畫面"這個動作放在判斷式內,

而是要電腦判斷完之後才去執行"拍攝螢幕擷取畫面"這個動作,

也就是對於電腦來說,整個判斷式會視為"一個""連貫的動作",每一個步驟都是"一個單獨的動作"

(一個判斷式會對應一個End當作結束)

 

 

所以遇到判斷式時,電腦會將判斷式中的流程視為"一個動作"

因此電腦會執行完判斷式中的所有動作以後,才會繼續執行下個動作(6)

 

電腦執行順序:12(3~5)6

 

因為我們這個流程相對簡單,所以看不出來12(3~5)6123456的差異

 

所以我們假設下,在第4步是呼叫一個有10個動作的子流程A,那麼執行順序會是什麼呢?

 

其實對這流程來說還是12(3~5)6,但實際上電腦做了12(3A(1~10)5)6

 

這邊也許我的表達不是很好,也有點難理解......

 

不過這邊就先記得:

"遇到判斷式時,電腦是會先把判斷式內的動作都執行完,接著才會執行下個動作"

的原則吧!

 

所以基於上述的原則,就來修改下判斷式吧!

 

首先在判斷式中加入一個Else的動作(在動作區域的條件清單)

 

拖曳到到右邊編輯區中,"顯示訊息"的下方

 

 

 

Else是指和判斷式設定的條件相反時的意思。

 

口語化來說就是,如果怎樣,就這樣,不然就那樣

 

所以在這判斷式中,放在這個Else下面的動作是在電腦判斷出檔案"不存在"時才被觸發!

 

所以接下來就是把"拍攝螢幕擷取畫面"這個動作給拉到Else下面:

 

完成後如下:

 

先將流程"儲存"之後,來執行兩次看看結果吧!

 

 

執行第一次:

 

結果正常,電腦直接跑完流程,並產生一個圖檔。

 

 

 

執行第二次:

 

跳出訊息通知視窗,告知檔案已存在。

 

 

並且不會取代原本的檔案!

 

 

如此一來,基本的防呆就完成啦!

 


 

※補充說明

 

判斷式:

基本上就是以前數學學過If x = 1, y = 0,然後怎樣怎樣的概念!

 

只是在電腦這邊還多了ElseElse If

 

Else If是用在多條件的判斷式,但是在簡易的流程中,

其實可以用If判斷式中加入另一個If去做

 

 

 

顯示訊息:

訊息方塊按鈕可以調整成常見的兩個按鈕(確認+取消)或其他。

 

都可以在設定視窗的"訊息方塊按鈕"旁的下拉式按鈕中調整!

 

預設按鈕也可以變更。

 

如果不想訊息視窗被其他軟體給蓋掉,則可以開啟"訊息方塊一律保持在最上方"

 

 

如果想要訊息視窗自動消失,也可以在開啟"自動關閉訊息方塊",並設定持續顯示的秒數

 

 

 


 

文章標籤
全站熱搜
創作者介紹
創作者 PIZZ不是PIZZA啦 的頭像
PIZZ不是PIZZA啦

PIZZ不是PIZZA的IT(挨踢)人生

PIZZ不是PIZZA啦 發表在 痞客邦 留言(0) 人氣(238)