µÑÇÍÂèÒ§¢Í§º·¤ÇÒÁªÔé¹¹Õé ¨ÐÇèÒä»áÅéÇá·º¨ÐäÁèµéͧãªéµÃáР(Logic) ÍÐä÷ÕèÁÑ¹ÂØè§ÂÒ¡àŤÃѺ¾Õè¹éͧ à¾Õ§áµè¼ÁÍÂÒ¡¹ÓàʹͧҹẺ CAI (Computer Assisted Instruction) ã¹ÅѡɳТͧ¡ÒÃâµéµÍº¡Ñº¼ÙéàÃÕ¹ä´é (Interactive) ã¹ÍÕ¡ÃٻẺ˹Öè§ ÍÂèÒ§¹éÍÂæ¡çËÇѧãËé¤ÃÙ¼ÙéÊÍ¹ÃØè¹ãËÁè ËÃ×Í ¤Ãپѹ¸ØìãËÁè·Ñé§ËÅÒ ä´éÁÕá¹Ç¤Ô´ ËÃ×Í à¡Ô´áçºÑ¹´ÒÅ㨠㹡ÒùӤÍÁ¾ÔÇàµÍÃìÁÒªèÇ»ÃÐÂØ¡µìãªé§Ò¹ã¹¡ÒÃàÃÕ¹ ¡ÒÃÊ͹ãËéà¡Ô´»ÃÐ⪹ìÁÒ¡¢Öé¹ ·Õáá¼Á¡ç¡Ð¨Ð·ÓãËéàËç¹à»ç¹µÑÇÍÂèÒ§ºÒ§Êèǹà·èÒ¹Ñé¹áËÅФÃѺ ... ¾Õè¹éͧ ·Óä»·ÓÁÒ¡çàÍéÒ ... àÍÒãËéÁѹÊÁºÙóìẺä»àÅ´աÇèÒ áÅмÁ¡ç·Óà»ç¹ªØ´µÔ´µÑé§àÍÒäÇéãËé¡ÑººÃôҾèÍáÁè ¼Ù黡¤Ãͧ ´ÒǹìâËÅ´¢Í§¿ÃÕ äÁèàÊÕ¡еѧ¤ì ä»ãËéÅÙ¡ãËéËÅÒ¹ä´éÅͧàÅ蹴١ѹ ... ͹Öè§ ... ¾Õè¹éͧ¤ÃѺ ÍÂèÒá¤èä»ËÇѧãËéà´ç¡¡´á»é¹¤ÕÂìºÍÃì´ áÅÐÅÒ¡àÁÒÊìà»ç¹á¤è¹Ñé¹¹èФÃѺ µéͧÊ͹ áÅÐá¹Ð¹Óà´ç¡æãËéËÑ´à¢Õ¹µÑÇàŢŧº¹¡ÃдÒÉ´éÇÂÅèÐ ... àËÍææææ ... »ÃÐà´ÕëÂÇà´ç¡æ¨Ðà¢Õ¹˹ѧÊ×͡ѹäÁèà»ç¹
˹éÒµÒâ»Ãá¡ÃÁ
¡ÒúǡàÅ¢
|
Component ·ÕèàÅ×Í¡ÁÒãªé§Ò¹ ... ¤ÃÒǹÕé¼ÁàÅ×Í¡ Flash à¢éÒÁÒªèÇ´éǤÃѺ
|
ÊÒÃÐÊÓ¤Ñ㹡ÒúǡàÅ¢
' â»Ãá¡ÃÁÂèÍÂà¾×èÍãªé㹡ÒÃÊØèÁµÑÇàÅ¢ ... ¼ÁàÅ×Í¡ãªé§Ò¹¿Ñ§¤ìªÑ蹡ÒÃÊØèÁ·Õè¼Áà¤Â¹ÓàʹÍÁÒáÅéǹèФÃѺ
' ´Ùä´é¨Ò¡âÁ´ÙÅ gRandom.bas
' ¨Ò¡¿Ñ§¤ìªÑ蹡ÒÃÊØèÁ¹Õé ÁѹÁÕ»ÃÐÊÔ·¸ÔÀÒ¾·Õè´Õ¡ÇèÒ¡ÒÃÊÑè§ Randomize ·ÕèµÔ´ÁҡѺ Visual Basic ¤ÃѺ¾Õè¹éͧ ...
Sub RandomNumber()
Dim MaxNumber As Integer
' àÅ×Í¡¨Ó¹Ç¹ËÅÑ¡·Õèµéͧ¡ÒÃ
Select Case Digit
Case 1:
MaxNumber = 9
lblCarry.Visible = False
Case 2:
MaxNumber = 99
lblCarry.Visible = True
Case 3:
MaxNumber = 999
lblCarry.Visible = True
Case 4:
MaxNumber = 9999
lblCarry.Visible = True
End Select
' ÊØèÁ¤èÒÇѹàÇÅÒ¡è͹ ... ÊÓÁФѹèФÃѺµÑǹÕé
RandShuffle Date$ + Time$ + Str$(Timer)
' Ê觤èÒµèÓÊØ´ áÅÐ ¤èÒ ÊÙ§ÊØ´ä»Âѧ¿Ñ§¤ìªÑè¹ÊØèÁµÑÇàÅ¢¨Ó¹Ç¹àµçÁ
lblSetNumber.Caption = RandInteger(1, MaxNumber)
lblOperand.Caption = RandInteger(1, MaxNumber)
End Sub
' ¡ÒõÃǨ¤ÓµÍº
Private Sub cmdAnswer_Click()
Dim i As Byte
Dim Result As Integer
' ËÒ¡ÂѧäÁèÁդӵͺãËéÍÍ¡¨Ò¡â»Ãá¡ÃÁÂèÍ ¾ÃéÍÁ¡Ñº Focus ä»Âѧ Control ·ÕèÂѧäÁèä´éµÍº
For i = 0 To Digit - 1
If Trim(txtAnswer(i).Text) = "" Or Len(Trim(txtAnswer(i).Text)) = 0 Then
MsgBox "¹éͧæµéͧ¡ÃÍ¡µÑÇàŢ㹪èͧ·Õè " & i + 1 & " ¡è͹´éǹèФèÐ.", vbOKOnly + vbExclamation, "ÃÒ§ҹʶҹÐ"
txtAnswer(i).SetFocus
Exit Sub
End If
Next
' ¡ÒùӵÑÇÍÑ¡¢ÃÐ (Character) ÁÒàÃÕ§µèÍæ¡Ñ¹ä»´éÇÂà¤Ã×èͧËÁÒ +
' ¨Ò¡¹Ñé¹á»Å§¤èÒãËéÍÂÙèã¹ÃٻẺ¢Í§µÑÇàÅ¢ (Number)
Select Case Digit
Case 1:
Result = Val(txtAnswer(1).Text + txtAnswer(0).Text)
Case 2:
Result = Val(txtAnswer(2).Text + txtAnswer(1).Text + txtAnswer(0).Text)
Case 3:
Result = Val(txtAnswer(3).Text + txtAnswer(2).Text + txtAnswer(1).Text + txtAnswer(0).Text)
Case 4:
Result = Val(txtAnswer(4).Text + txtAnswer(3).Text + txtAnswer(2).Text + txtAnswer(1).Text + txtAnswer(0).Text)
End Select
' ·Óä´é¶Ù¡µéͧ
' ¡çäÁèÁÕÍÐäÃÁÒ¡ ¡ç¹Ó¤èÒã¹ Label Control ¢Í§µÑǵÑ駡ѺµÑǺǡÁÒÃÇÁ¡Ñ¹ áÅéÇä»à»ÃÕºà·Õº¡Ñº¤èÒã¹ TextBox Control ·Õèà´ç¡µÍºÅ§ä»
If (Val(lblSetNumber.Caption) + Val(lblOperand.Caption)) = Result Then
'MsgBox "à¡è§¨Ñ§àŤèÐ ... ˹ٷÓä´é¶Ù¡µéͧáÅéǤèÐ.", vbOKOnly + vbInformation, "ÃÒ§ҹʶҹÐ"
' ¡ÒÃãªé§Ò¹ Shockwave Flash ...
' ¾Õè¹éͧÅͧä»á¡éä¢à¾ÔèÁàµÔÁà¾×èÍãËéÁѹÁÕ¡ÒÃáÊ´§¼Å¡ÒÕÃÊØèÁ Flash (ÁÕÍÂÙè㹺·¤ÇÒÁ¢Í§¼ÁáÅéÇ)
' à¾×èÍÊÃéÒ§áç¨Ù§ã¨ ËÃ×Í ¡ÓÅѧã¨ãËé¡Ñºà´ç¡¼ÙéàÃÕ¹´éǹèФÃѺ
' àÊÕ§·Õè¾Õè¹éͧä´éÂÔ¹¹èÐ à»ç¹àÊÕ§¢Í§¼Áàͧ¤ÃѺ ...
' ¼Áãªéâ»Ãá¡ÃÁ§èÒÂæÍÂèÒ§ Acoustica ¡Ñº GoldWave à¢éÒªèÇ ... âÍ¡ÒÊ˹éÒ¡ç¨Ð·Ó¡ÒÃÊÒ¸ÂÒÂãËé¿Ñ§ÍÕ¡·Õ¹Ö§¤ÃѺ
Flash.Playing = True
Flash.Movie = App.Path & "\Right.swf"
Right = Right + 1
' ·Ó¼Ô´
Else
'MsgBox "˹ٷÓäÁè¶Ù¡¹èФèÐ ... ¾ÂÒÂÒÁ·ÓãËÁè´éǤèÐ.", vbOKOnly + vbExclamation, "ÃÒ§ҹʶҹÐ"
Flash.Playing = True
Flash.Movie = App.Path & "\Wrong.swf"
Wrong = Wrong + 1
End If
' àÃÔèÁµé¹µÑé§â¨·ÂìãËÁè
Call SetupScreen
Call RandomNumber
txtAnswer(0).SetFocus
End Sub
|
ÊÒÃÐÊÓ¤Ñ㹡ÒÃźàÅ¢
Sub RandomNumber()
Dim Temp As Integer
Dim MaxNumber As Integer
Select Case Digit
Case 1:
MaxNumber = 9
lblCarry.Visible = False
Case 2:
MaxNumber = 99
lblCarry.Visible = True
Case 3:
MaxNumber = 999
lblCarry.Visible = True
Case 4:
MaxNumber = 9999
lblCarry.Visible = True
End Select
' ÊØèÁ¤èÒÇѹàÇÅÒ¡è͹
RandShuffle Date$ + Time$ + Str$(Timer)
' Ê觤èÒµèÓÊØ´ áÅÐ ¤èÒ ÊÙ§ÊØ´ä»Âѧ¿Ñ§¤ìªÑè¹ÊØèÁµÑÇàÅ¢¨Ó¹Ç¹àµçÁ
lblSetNumber.Caption = RandInteger(1, MaxNumber)
lblOperand.Caption = RandInteger(1, MaxNumber)
' *** à·¤¹Ô¤¢Í§¡ÒÃÊÅѺ¤èÒ ËÃ×Í Swap ***
' µÃǨÊͺÇèÒµÑǵÑé§ÁÕ¤èÒ¹éÍ¡ÇèÒ µÑÇ¡ÃзÓËÃ×ÍäÁè
' ËÒ¡ãªè¡ç·Ó¡ÒÃÊÅѺà»ÅÕè¹ (SWAP) ¤èÒ·Ñ駤Ùè«èСçËÁ´àÃ×èͧ ...
' «Öè§äÁèµéͧ¡ÒÃãËéµÑǵÑé§ÁÕ¤èÒ¹éÍ¡ÇèÒµÑÇź¹Ñè¹àͧ
' ´Ñ§¹Ñé¹à¾×èÍäÁèãËéàÊÕÂàÇÅÒ àÃÒ¨Ö§äÁèµéͧ价ӡÒÃÊØèÁ¤èÒãËÁè¡çä´é¹èФÃѺ ... ¾Õè¹éͧ
If Val(lblSetNumber.Caption) < Val(lblOperand.Caption) Then
Temp = lblOperand.Caption
lblOperand.Caption = lblSetNumber.Caption
lblSetNumber.Caption = Temp
End If
End Sub
|
à¾ÔèÁàµÔÁ:
' ¾Õè¹éͧ¤ÃѺ ... à¹×èͧ¨Ò¡¼Áãªé MDI Form «Öè§·ÓãËé¿ÍÃìÁ¢Í§¡ÒúǡáÅÐźÊÒÁÒö·Ó¡ÒûԴ˹éÒ¨Íä´é
' ¼ÁÍÂÒ¡ãËé¾Õè¹éͧ·Ó¡Ò÷´Êͺ¤èҢͧµÑÇá»Ã·Ñé§ 3 ·Ò§´éÒ¹ÅèÒ§¹Õé â´ÂãÊè Comment ãËéÁѹ ¾ÃéÍÁ¡Ñº
' ãÊè Comment àÍÒäÇé·Õè Form_Unload áÅéǾÕè¹éͧÅͧ´Ù«Ô¤ÃѺÇèÒ¨Ðà¡Ô´ÍÐäâÖé¹ ?????
Private Sub Form_Load()
' µéͧ¡Ó˹´¤èÒàÃÔèÁµé¹ ãËé¡ÑºµÑÇá»Ã ¡Ã³Õ·ÕèâËÅ´¿ÍÃìÁ¢Öé¹ÁÒãËÁè·Ø¡¤ÃÑé§
' áµè·Õè¼Á·Ó Comment àÍÒäÇé ¡çà¾×èÍãËé¾Õè¹éͧä»Êѧࡵã¹à˵ءÒóì Form_Unload ´éÇÂ
' ã¹ Form_Unload ¼ÁÁÕâ¤é´ Set frmSubtract = Nothing àÍÒäÇé «Öè§ËÒ¡äÁèÁÕâ¤é´µÑǹÕé (ãÊè ' Comment ãËéÁѹ)
' ¤èÒã¹µÑÇá»Ã¨ÐÂѧ¤§ÍÂÙè ... ÅͧàÅè¹´ÙàÍÒà¶Ô´¤ÃѺ ... ¾Õè¹éͧ
'Right = 0
'Wrong = 0
'Total = 0
' àÅ×Í¡¨Ó¹Ç¹ËÅÑ¡¡è͹ ... ¨Ò¡¹Ñé¹ã¹â»Ãá¡ÃÁÂèÍ optDigit_Click ¨Ð·Ó¡ÒÃà¤ÅÕÂÃì˹éÒ¨Íàͧ
Call optDigit_Click(0)
Call RandomNumber
End Sub
Private Sub Form_Unload(Cancel As Integer)
'Set frmAdd = Nothing
End Sub
|
à»ç¹ÍÂèÒ§äáѹºéÒ§ÅèФÃѺ ... â»Ãá¡ÃÁàÅç¡æ¡ÃзѴÃѴẺ¹Õé ÊÒÁÒö¹ÓÁÒ»ÃÐÂØ¡µìãªé§Ò¹¡ÑºÃкº¡ÒÃàÃÕ¹¡ÒÃÊ͹ä´é´Õ¢¹Ò´ä˹ÅèÐ àÍÒäÇéâÍ¡ÒÊ˹éÒ¼Á¨Ð¹ÓàÊ¹Í Visual Basic 6.0 ¼ÊÁ¡Ñº Flash ãéËéÊÁºÙóìẺÂÔè§¢Öé¹ä»¡ÇèÒ¹Õé ... â»Ã´µÔ´µÒÁªÁ¡Ñ¹ä´é㹵͹µèÍä» ... ÊÙéà¢ÒµèÍä»·ÒपÔ
|