امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 1
  • 1
  • 2
  • 3
  • 4
  • 5
ارور دستور case
#1
با سلام خدمت دوستان عزیز
یک برنامه نوشتم که توی اون از دستور case استفاده کردم اما بسکام سه تا ارور میده که نفهمیدم برای چیه، ممنون میشم راهنماییم کنید.

$regfile = "m32def.dat"
$crystal = 8000000

Config Porta = Output
Config Lcdpin = Pin , Db4 = Pina.3 , Db5 = Pina.2 , Db6 = Pina.1 , Db7 = Pina.0 , Rs = Pina.4 , E = Pina.5
Config Lcd = 16 * 2

Dim A As Byte
Dim A1 As Byte
Dim A2 As Byte
Dim T As Word
Dim T1 As Byte
Dim T2 As Byte
Dim T3 As Byte
Dim T4 As Byte
Dim T5 As Byte

Enable Interrupts
A = 2
Do
Main:


Debounce Pind.4 , 1 , Per
Debounce Pind.5 , 1 , Nexte
Debounce Pind.6 , 1 , Exite
Debounce Pind.7 , 1 , Menu


If A = 3 Then A = 0
Select Case A
Case A = 0        
Goto N_tarikh
Case A = 1:
Goto N_dama
Case A = 2:
Goto N_trip
End Select
Loop
Return
End





Per:
Decr A
If A = 3 Then A = 0

Return

Nexte:
Incr A
If A = 3 Then A = 0

Return

Exite:
Goto N_tarikh
Return

Menu:
Goto Tanzim
Return




N_tarikh:
Locate 2 , 4
Lcd Date
Return

N_dama:
Locate 2 , 6
Lcd C
Return

N_trip:
Locate 2 , 5
Lcd T
Return

Do
Tanzim:
Debounce Pind.4 , 1 , T_per
Debounce Pind.5 , 1 , T_nexte
Debounce Pind.6 , 1 , T_exite
Debounce Pind.7 , 1 , T_menu

If A1 = 5 Then A1 = 0
Select Case A1
Case A1 = 0:
Goto T_clock
Case A1 = 1:
Goto T_tarikh
Case A1 = 2:
Goto T_dama
Case A1 = 3:
Goto T_trip
Case A1 = 4:
Goto T_info
End Select
Loop
Return

T_per:
Decr A1

T_nexte:
Incr A1

T_exite:
Goto Main

T_clock:
Locate 2 , 5
Lcd "  clock  >"

T_tarikh:
Locate 2 , 5
Lcd "<  tarikh  >"

T_dama:
Locate 2 , 6
Lcd "<  dama  >"

T_trip:
Locate 2 , 6
Lcd "<  trip  >"

T_info:
Locate 2 , 7
Lcd "<  info  "

T_menu:
Select A1
Case A1 = 0:
Goto Clock
Case A1 = 1:
Goto Tarikh
Case A1 = 2:
Goto Dama
Case A1 = 3:
Goto Trip
Case A1 = 4:
Goto Info
End Select

Info:
Cls
Locate 1 , 2
Lcd "s.reza babaee"
Locate 2 , 2
Lcd "09196648460"


Trip:
Cls
Lcd "00000"
Cursor On Blink
Locate 1 , 4
Do
Debounce Pind.4 , 1 , M_per
Debounce Pind.5 , 1 , M_nexte
Debounce Pind.6 , 1 , M_exite
Debounce Pind.7 , 1 , M_menu

If A2 = 5 Then A2 = 0
Select Case A2
Case A2 = 0:
Mid(t , 1 , 1) = T1
Case A2 = 1:
Mid(t , 2 , 1) = T2
Case A2 = 2:
Mid(t , 3 , 1) = T3
Case A2 = 3
Mid(t , 4 , 1) = T3
Case A2 = 4
Mid(t , 5 , 1) = T5

M_menu:
Select Case A2
Case A2 = 0:
Incr T1
If T1 = 10 Then T1 = 0
Case A2 = 1:
Incr T2
If T2 = 10 Then T2 = 0
Case A2 = 2:
Incr T3
If T3 = 10 Then T3 = 0
Case A2 = 3:
Incr T4
If T4 = 10 Then T4 = 0
Case A2 = 4:
Incr T5
if T5 = 10 Then T5 = 0



M_per:
Decr A2

M_nexte:
Incr A2

M_exite:
Goto Tanzim

If A2 = 5 Then A2 = 0



ارور هایی که میده اینه :
line32: 3parameters expected
line34: 3parameters expected
line0: end select expected
ممنون از لطفتون
 
پاسخ
#2

مشکل دستور من:

$regfile = "m16def.dat"
$crystal = 5000000
Config Pina.1 = Input
Config Pina.2 = Input
Config Portc = Output
Set Porta.1
Set Porta.2
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Porta.7 , Db5 = Porta.4 , Db6 = Porta.6 , Db7 = Porta.5 , E = Porta.3 , Rs = Portb.3
Dim B As Bit
Cls
Locate 1 , 5
Lcd "start"


Waitms 300
Do
If Pina.1 = 0 And Porta.2 = 0 Then
Set Portc.1
Reset Portc.2
Reset Portc.3
Cls
Lcd "finder"


Elseif Pina.1 = 1 And Pina.2 = 0 Then
Set Portc.1
Reset Portc.2
Set Portc.3
Cls
Lcd "ran0"


Elseif Pina.1 = 1 And Pina.2 = 1 Then
Set Portc.1
Reset Portc.2
Set Portc.3
Cls
Lcd "ran1"

 Else
Reset Portc.1
Set Portc.2
Reset Portc.3
Cls
Lcd "abpash"

End If
Loop

End
 
پاسخ
#3
سلام.
ساختار دستور case  به شکل زیر است :


کد:
Select Case I
   Case 1 : Print "1"
   Case 2 : Print "2"
   Case 3 To 5 : Print "3-5"
   Case Is >= 10 : Print ">= 10"
  Case Else : Print "Not in Case statement"
End Select

شما end select رو فراموش کردی

soso مشکل دستورات شما چیه؟ چه خطایی میده؟

soso مشکل دستورات شما چیه؟ چه خطایی میده ؟

 
Love is the Slowest Form of Suicide ...
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Brick ارور پرگرام جواد 2015 3 1,230 12-7-1395، 10:26 عصر
آخرین ارسال: امیرحسین
  مشکل با دستور wait firan 5 1,439 25-5-1392، 09:21 عصر
آخرین ارسال: firan

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان