有關case structure執行的問題

請問做case structure的同時,可以做case以外的程式嗎?

我程式快到最後階段~~不過就卡在我用判斷T或F在做case structure的同時~

需抓取這個case以外的一個值進來使用~不過偏偏做case裡的動作時~case外的

動作是停止的~讓我無法抓的這筆及時的資料~~

請問有辦法解決嗎?

謝謝

初學者請多多包函38317.482650463

只要進入任一種structure的狀況, 是無法執行structure外的程式

但是你的情況如果是要將case structure外的數值傳入structure內

可用local variable或global variable做到

![](upload://ndxS1wUSZjLVtA7z91s5myYdGGS.png)

yao38317.6365046296

請問yao,上圖中的Numeric控制能不能放在while structure裡面,因為若如上圖的做法,當Numeric保持固定值時當然是沒問題,但是若是正在變化的數值或波形,這樣的做法是不是會造成while structure外的控制/顯示元值保持不變?? 如果放在while structure內,即使內部的case structure狀態改變,應該是不影響Numeric的數值變化才是!!!這是我的淺見,不知道對不對??

謝謝yao~你這樣好像會把在進入case structure之前的numeric值給放進去~但是numeric是固定的~所以應該只會把進入case structure之前的那個固定的值放入~但是我想要放入的是用counter即時抓到的值~~所以照你講的~"只要進入任一種structure的狀況, 是無法執行structure外的程式"那我不就要改變程式的流程囉~~

麟仔大大你好~~"如果放在while structure內,即使內部的case structure狀態改變,應該是不影響Numeric的數值變化才是"可是如果一執行case裡的程式~外部的程式就不動~那numeric的數值不是一樣是固定的嗎~"while structure"是指case structure和while loop 裡面嗎..

因為這只是一個簡單的例子, 所以我只是假設要把Numeric的值在case內取到而已
當然可以直接把Numeric放到Case內, 不過使用local variable是一樣的意思
因為local variable是"read"的狀態 , 所以case內的程式不會影響到Numeric

當Boolean為true時, 則進入true case, 如果沒用local variable的話
應該我們怎麼去改變Numeric的值, Numeric 2都不會改變
但是現在使用local variable將值傳入
所以即使我們已經在while loop或者case structure內
Numeric的值改變 , Numeric 2也會跟者改變
這應該是 初學者請多多包函 所希望的功能吧
你們直接run一下程式, 應該可以了解

![](upload://foaNITHchveby3AVsIzWDo5nF5t.png)

2004-11-26_150832_localvar.vi

 

 

yao38317.6377199074

我做了一個例子給你參考....你可以發現不論while structure中的case structure為false或true,在while structure中的亂數值仍不斷改變,並不會停止下來,所以不論case 為true或false,在while structure中的控制或顯示元仍可以任意改變數值,應該不會受case狀態的影響!!!
![](upload://pv5nbjLEZdIUU7VmyPDuZKt7xZI.gif)

程式:2004-11-26_151555_while_case_test.vi

我覺得可以用state Machines架構取代Case structure可以解決這問題

不過不知道是不是偏離主題了...呵呵

![](upload://7hJSikbXdk5rzzqCRsICQXsMOVf.jpeg)