1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158
| #Region "Imports"
Imports System
Imports System.Data
Imports System.Data.OleDb
Imports Microsoft.VisualBasic
#End Region
Public Class Form1
Inherits System.Windows.Forms.Form
#Region "Variables connexion + courses"
Dim num_porte_selected As Integer = 1
Dim num_course_selected As Integer = 1
Dim nb_porte As Integer
Dim gate_valid As Boolean
#End Region
#Region "Variables monitorées"
Dim pl_latitude As String
Dim pl_longitude As String
Dim pl_heading As String
Dim pl_bank As String
Dim pl_pitch As String
Dim gr_alt As String
Dim pl_alt As String
Dim pl_gforce As String
Dim pl_gforce_max As String 'nécessite le rechargement de l'appareil pour une remise à zéro...
Dim pl_gforce_min As String 'nécessite le rechargement de l'appareil pour une remise à zéro...
Dim pl_speed As String
#End Region
#Region "Variables position de la porte"
'Calcul des variables pour le passage des portes - Pour les portes de 14m, cela correspond à une distance de 0,002
Dim diff_distance As Double
Dim r_action As Double '= 0.003
Dim gate_latitude As Double '= 36.98276667
Dim gate_longitude As Double '= -110.109
Dim distance_etat As Boolean
#End Region
#Region "Variables CAP"
Dim cap_consigne As Double '= 10
Dim cap_marge As Double '= 12
Dim cap_etat As Boolean
Dim cap_bRes As Boolean = False
#End Region
#Region "Variables BANK"
Dim bank_consigne As Double
Dim bank_marge As Double
Dim bank_etat As Boolean
Dim bank_bRes As Boolean = False
#End Region
#Region "Variables PITCH"
Dim pitch_consigne As Double
Dim pitch_marge As Double
Dim pitch_etat As Boolean
Dim pitch_bRes As Boolean = False
#End Region
#Region "Variables ALI_SOL"
Dim alt_etat As Boolean
Dim alt_mini As Double
Dim alt_maxi As Double
#End Region
#Region "Variables G_forces"
Dim g_force_min_consigne As Double = -4
Dim g_force_max_consigne As Double = 9
Dim g_force_etat As Boolean
#End Region
#Region " Variables SPEED"
Dim speed_maxi As Double
Dim speed_etat As Boolean
#End Region
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Vérification de la connexion
Dim cnx_bd_courses As OleDbConnection
Dim objCommand As OleDbCommand
Dim objDataReader As OleDbDataReader
Try
Catch ex As Exception
End Try
'Comptage du nombre de portes
cnx_bd_courses = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & _
"E:\Mes documents\Ben\FS2004\Air Race\Chrono\bd_courses.mdb")
cnx_bd_courses.Open()
objCommand = cnx_bd_courses.CreateCommand()
objCommand.CommandText = "SELECT COUNT(*) FROM param_course WHERE num_course=@num_course"
objCommand.Parameters.AddWithValue("@num_course", num_course_selected)
nb_porte = objCommand.ExecuteScalar()
'Chargement des paramètres de la porte selectionnée
objCommand = cnx_bd_courses.CreateCommand()
objCommand.CommandText = "SELECT * FROM param_course WHERE num_course=@num_course AND num_porte=@num_porte"
objCommand.Parameters.AddWithValue("@num_course", num_course_selected)
objCommand.Parameters.AddWithValue("@num_porte", num_porte_selected)
'Récupération du DataReader
objDataReader = objCommand.ExecuteReader()
If Not objDataReader.HasRows Then
gate_latitude = 0
gate_longitude = 0
r_action = 0
cap_consigne = 0
cap_marge = 0
bank_consigne = 0
bank_marge = 0
pitch_consigne = 0
pitch_marge = 0
alt_mini = 0
alt_maxi = 0
speed_maxi = 0
Else
'Lecture DataReader
objDataReader.Read()
gate_latitude = objDataReader.GetDouble(2)
gate_longitude = objDataReader.GetDouble(3)
r_action = objDataReader.GetDouble(4)
cap_consigne = objDataReader.GetDouble(5)
cap_marge = objDataReader.GetDouble(6)
bank_consigne = objDataReader.GetDouble(7)
bank_marge = objDataReader.GetDouble(8)
pitch_consigne = objDataReader.GetDouble(9)
pitch_marge = objDataReader.GetDouble(10)
alt_mini = objDataReader.GetDouble(11)
alt_maxi = objDataReader.GetDouble(12)
speed_maxi = objDataReader.GetDouble(13)
End If
Try
Catch ex As OleDbException
MsgBox(ex.Message)
Finally
' Fermeture du DataReader
If Not objDataReader.IsClosed Then objDataReader.Close()
' Fermeture de la connexion
cnx_bd_courses.Close()
End Try
'Vérfication
nr_porte.Text = num_porte_selected
nb_porte_total.Text = nb_porte
End Sub
Private Sub AxFSCopilot1_ValueUpdateEnd(ByVal sender As Object, ByVal e As System.EventArgs) Handles AxFSCopilot1.ValueUpdateEnd
[...]
'Condition pour l'incrémentation de num_porte_selected
If gate_valid = True And num_porte_selected <= nb_porte Then num_porte_selected += 1
Label1.Text = distance_etat & " - " & diff_distance
Label2.Text = cap_etat & " - " & pl_heading
Label3.Text = bank_etat & " - " & pl_bank
Label4.Text = pitch_etat & " - " & pl_pitch
Label5.Text = alt_etat & " - " & (pl_alt - gr_alt)
Label6.Text = g_force_etat & " - " & pl_gforce
Label7.Text = speed_etat & " - " & pl_speed
Label8.Text = gate_valid
End Sub
End Class |