嘿傢伙我是一個老屁,這是我的第一篇文章,所以請善待。我正在使用基於測量機器上的基礎的專有語言。爲了測試目的,我故意將前兩項檢查設置爲失敗。尺寸X的第一組ifs很好。當代碼運行並且它到達Size_Y時,如果操作符選擇「不,我不想重新測量」(返回7),則代碼跳轉到最後一端。我懷疑我不適當地嵌套我的Ifthens,但我看不到它。嵌套if語句跳過其他ifs
Private Sub CheckSpec
'give operator a message if the measure is out of spec
StartAgain:
If Size_X <= 3.125 OR Size_X >= 3.125 then 'actual spec
'Warn that measure is not in spec and ask for remeasure
BoxPick=Msgbox("Measurement in Zone " & Zone & " for Die Size in X is not in spec. Do you want to measure it again?" , 4 , "Measurment NOT Within Tolerance")
If BoxPick = 6 THEN 'if operator wants to remeasure, measure again and start checks over
Call Measure_Die
GoTo StartAgain
ElseIF BoxPick <> 7 Then 'If value returned is NOT 6 or 7, throw error
OperatorMsg "An error has occured. Contact the tool owner"
Call Unload
ElseIF BoxPick = 7 Then 'If operator chooses not to remeasure then keep going
Else
End If
Elseif Size_Y <= 1.925 OR Size_Y >= 1.925 then
'Warn that measure is not in spec and ask for remeasure
BoxPick=Msgbox("Measurement in Zone " & Zone & " for Die Size in X is not in spec. Do you want to measure it again?" , 4 , "Measurment NOT Within Tolerance")
If BoxPick = 6 THEN 'if operator wants to remeasure, measure again and start checks over
Call Measure_Die
GoTo StartAgain
ElseIF BoxPick <> 7 Then 'If value returned is NOT 6 or 7, throw error
OperatorMsg "An error has occured. Contact the tool owner"
Call Unload
ElseIF BoxPick = 7 Then 'If operator chooses not to remeasure keep going
Else
End If
Elseif Centration_X <= 0.175 OR Centration_X >= 0.225 then
'Warn that measure is not in spec and ask for remeasure
BoxPick=Msgbox("Measurement in Zone " & Zone & " for Die Size in X is not in spec. Do you want to measure it again?" , 4 , "Measurment NOT Within Tolerance")
If BoxPick = 6 THEN 'if operator wants to remeasure, measure again and start checks over
Call Measure_Die
GoTo StartAgain
ElseIF BoxPick <> 7 Then 'If value returned is NOT 6 or 7, throw error
OperatorMsg "An error has occured. Contact the tool owner"
Call Unload
ElseIF BoxPick = 7 Then 'If operator chooses not to remeasure keep going
Else
End If
Elseif Centration_Y <= 0.95 OR Centration_Y >= 1.0 then
'Warn that measure is not in spec and ask for remeasure
BoxPick=Msgbox("Measurement in Zone " & Zone & " for Die Size in X is not in spec. Do you want to measure it again?" , 4 , "Measurment NOT Within Tolerance")
If BoxPick = 6 THEN 'if operator wants to remeasure, measure again and start checks over
Call Measure_Die
GoTo StartAgain
ElseIF BoxPick <> 7 Then 'If value returned is NOT 6 or 7, throw error
OperatorMsg "An error has occured. Contact the tool owner"
Call Unload
ElseIF BoxPick = 7 Then 'If operator chooses not to remeasure keep going
Else
End If
Else
End If
Print #1, Column & "," & Row & "," & Level & "," & Zone & "," & Size_X & "," & Size_Y & "," & Centration_X & "," & Centration_Y & "," & RightNow
End Sub 'CheckSpec
歡迎使用stackoverflow!我格式化了一下。它實際上看起來很像我的Visual Basic ... – MPelletier 2012-02-24 15:11:35