by Guest » Mon Oct 10, 2005 8:04 pm
Public Class cls_usbuirt
Private mc As Controller 'var pour l'usb uirt
Private args As LearnCompletedEventArgs = Nothing 'arguments récup lors de l'apprentissage
Private code_format As CodeFormat = CodeFormat.Pronto
Private learn_code_modifier As LearnCodeModifier = LearnCodeModifier.None
'constructor
Public Sub New()
'cree l'objet pour usbuirt
Me.mc = New Controller
'capte les events
AddHandler mc.Received, AddressOf handler_mc_received
End Sub
'**********************************************************
'boucle qui attend kon recoive
Public Function wait_for_code() As String
'handler
AddHandler mc.Learning, AddressOf handler_mc_learning
AddHandler mc.LearnCompleted, AddressOf handler_mc_learning_completed
'lance l'apprentissage
Try
Try
Me.mc.LearnAsync(Me.code_format, Me.learn_code_modifier, Me.args)
Catch ex As Exception
Debug.WriteLine("##### Erreur: " & ex.Message)
Return "Err"
End Try
'attend que ce soit appris
Do While IsNothing(Me.args)
Application.DoEvents()
Loop
'c appris !!!
RemoveHandler mc.Learning, AddressOf handler_mc_learning
RemoveHandler mc.LearnCompleted, AddressOf handler_mc_learning_completed
Catch ex As Exception
Debug.WriteLine("##Erreur ####")
Return "Err"
End Try
'retourne le code
Return Me.args.Code
End Function
'*****************************************************************************
'handler en apprentissage
Private Sub handler_mc_learning(ByVal sender As Object, ByVal e As LearningEventArgs)
Try
Debug.WriteLine("Learning: " & e.Progress & " freq=" & e.CarrierFrequency & " quality=" & e.SignalQuality)
Catch ex As Exception
Debug.WriteLine("Aahhhhhhhhhhhhhhhhhhh")
End Try
End Sub
'*****************************************************************************
'handler a appris
Private Sub handler_mc_learning_completed(ByVal sender As Object, ByVal e As LearnCompletedEventArgs)
args = e
Debug.WriteLine("Learning completed: " & e.Code)
End Sub
End Class