Public Class Form1 Dim offset As Integer = 12 'Pomocná proměnná, offset, určuje, odkud jdou z portu bajty s daty Dim a(0 To 36) As Byte 'Obvykle jde o bajty posílaných příkazů Dim a1, a2, a3, a4, a5, a6, a7, a8, a9 As Byte Dim a_string As String Dim b(0 To 36) As Byte 'Obvykle jde o bajty čtených odpovědí z rádia Dim b1, b2, b3, b4, b5, b6, b7, b8, b9 As Byte Dim b_string As String ' Procedury základních funkcionalit Private Sub Adresy() 'Definice prvních 4 bajtů protokolu a(1) = 254 'FE znak protokolu a(2) = 254 'FE znak protokolu a(3) = NumericUpDown9.Value 'Adresa Icomu (zařízení) a(4) = NumericUpDown10.Value 'Adresa kontroléru End Sub Private Sub Koder() 'Kóduje frekvenci zadanou v Hz do bajtů a(7) až a(10) (pro Icom CI-V) a_string = NumericUpDown1.Value.ToString If a_string.Length = 8 Then a_string = "0" + a_string If a_string.Length = 7 Then a_string = "00" + a_string If a_string.Length = 6 Then a_string = "000" + a_string If a_string.Length = 5 Then a_string = "0000" + a_string If a_string.Length = 4 Then a_string = "00000" + a_string If a_string.Length = 3 Then a_string = "000000" + a_string If a_string.Length < 3 Then Text = "zadej frekvenci od 100 kHz do 999 MHz" 'Vlastní kódování a(10) = CByte(a_string.Substring(0, 1)) a(9) = 16 * CByte(a_string.Substring(1, 1)) a(9) = a(9) + CByte(a_string.Substring(2, 1)) a(8) = 16 * CByte(a_string.Substring(3, 1)) a(8) = a(8) + CByte(a_string.Substring(4, 1)) a(7) = 16 * CByte(a_string.Substring(5, 1)) a(7) = a(7) + CByte(a_string.Substring(6, 1)) a(6) = 16 * CByte(a_string.Substring(7, 1)) a(6) = a(6) + CByte(a_string.Substring(8, 1)) End Sub Private Sub Numeric_set() 'Z přijatých bajtů b() přiřazuje do NumericUpDown NumericUpDown13.Value = b(offset) NumericUpDown14.Value = b(offset + 1) NumericUpDown15.Value = b(offset + 2) NumericUpDown16.Value = b(offset + 3) NumericUpDown17.Value = b(offset + 4) End Sub Private Sub Serial_6() 'Procedura k posílání krátkého, 6 bajtového povelu, se čtením z portu SerialPort1.Close() SerialPort1.Open() SerialPort1.Write(a, 1, 6) ' toto posílá dbajts s povelem na odeslání frekvence displeje z rádia Icom Threading.Thread.Sleep(100) ' pauza 0.1 sekunda For i As Integer = 1 To 24 If SerialPort1.BytesToRead > 0 Then b(i) = SerialPort1.ReadByte() ' toto přijme byte a dosadí jako číslo! End If Next i Threading.Thread.Sleep(100) ' pauza 0.1 sekunda Prijate_bajty() 'Zobrazení přijatých bajtů Parse_1() 'Zjištění frekvence z bajtů Numeric_set() End Sub Private Sub Serial_7() 'Procedura k posílání krátkého, 7 bajtového povelu, se čtením z portu SerialPort1.Close() SerialPort1.Open() SerialPort1.Write(a, 1, 7) ' toto posílá dbajts s povelem na odeslání frekvence displeje z rádia Icom Threading.Thread.Sleep(100) ' pauza 0.1 sekunda For i As Integer = 1 To 24 If SerialPort1.BytesToRead > 0 Then b(i) = SerialPort1.ReadByte() ' toto přijme byte a dosadí jako číslo! End If Next i End Sub Private Sub Serial_11() 'Procedura k posílání 11 bajtového povelu a čtení z portu SerialPort1.Close() SerialPort1.Open() SerialPort1.Write(a, 1, 11) 'toto posílá 11 bajtů a s povelem definovaným dříve Threading.Thread.Sleep(100) 'pauza milisekund For i As Integer = 1 To 24 If SerialPort1.BytesToRead > 0 Then b(i) = SerialPort1.ReadByte() ' toto přijme byte a dosadí jako číslo! End If Next i SerialPort1.Close() End Sub Private Sub Cti_serial_F() 'Čtení portu z rádia 'Tady musí být definice bajtů, povel, aby Icom odeslal frekvenci VFO Adresy() 'Definice hlavičky protokolu a(5) = 3 'Command na čtení frekvence VFO (podle CI-V manuálu) a(6) = 253 'FD znak Serial_6() 'Procedura s povelem a vyčtením portu End Sub Private Sub Set_serial_F() 'Procedura, která nastavuje povel skrz serial 'Vsechny NumericUpDown musí být nastaveny na hexadecimal=true 'Tady musí být definice bajtů: Adresy() 'Definice hlavičky protokolu a(5) = 5 'Commannd Nr., tento je nastaven tak, aby poslal F VFO do rádia Koder() a(11) = 253 'FD znak Serial_11() 'Procedura s odesláním dlouhého povelu End Sub Private Sub Set_B() 'Procedura k nastavování kmitočtu v pásmu Serial_11() 'Odešle připravený povel pro nastavení F a(5) = 3 'Povel k vyčtení F a(6) = 253 'FD znak protokolu Serial_6() 'Procedura s odesláním 6 bajtového povelu End Sub Private Sub Send_OK() 'Procedura, která odešle potvrzovací protokol 'Tady musí být definice bajtů: Adresy() a(5) = 251 'Znak FB...význam OK a(6) = 253 'FD znak Serial_7() 'Procedura s odesláním 7 bajtového povelu End Sub Private Sub Prijate_bajty() 'Zobrazuje bajty v textboxu. offset = NumericUpDown2.Value b_string = b(offset + 4).ToString & " " & b(offset + 3).ToString & " " & b(offset + 2).ToString & " " & b(offset + 1).ToString & " " & b(offset).ToString TextBox2.Text = b_string 'Zobrazuje bajty oddělené mezerou v Textbox2 End Sub Private Sub Parse_1() 'Zjistí z bajtů (provede jednoduchý parsing) a zobrazí frekvenci v textboxu. a1 = b(offset + 4) a2 = Int(b(offset + 3) / 16) a3 = b(offset + 3) Mod 16 a4 = Int(b(offset + 2) / 16) a5 = b(offset + 2) Mod 16 a6 = Int(b(offset + 1) / 16) a7 = b(offset + 1) Mod 16 a8 = Int(b(offset) / 16) a9 = b(offset) Mod 16 a_string = a1.ToString + a2.ToString + a3.ToString + "." + a4.ToString + a5.ToString + a6.ToString + " " + a7.ToString + a8.ToString + a9.ToString + " MHz" TextBox1.Text = a_string 'Zobrazuje frekvenci v TextBox1 End Sub ' Procedura při startu - natažení Form1 není třeba dělat nic speciálního Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub 'Procedury menu - módy Private Sub LSB() Adresy() a(5) = 6 a(6) = 0 a(7) = 253 Serial_7() End Sub Private Sub USB() Adresy() a(5) = 6 a(6) = 1 a(7) = 253 Serial_7() End Sub Private Sub AM() Adresy() a(5) = 6 a(6) = 2 a(7) = 253 Serial_7() End Sub Private Sub CW() Adresy() a(5) = 6 a(6) = 3 a(7) = 253 Serial_7() End Sub Private Sub RTTY() Adresy() a(5) = 6 a(6) = 4 a(7) = 253 Serial_7() End Sub Private Sub FM() Adresy() a(5) = 6 a(6) = 5 a(7) = 253 Serial_7() End Sub Private Sub WFM() Adresy() a(5) = 6 a(6) = 6 a(7) = 253 Serial_7() End Sub 'Procedury menu - Steps 'S ohledem na krok ladění rádia se nastavuje i krok na řídítkách NumericUpDown1, která jsou k přímému zadávání F (Hz) Private Sub S10() NumericUpDown1.Increment = 10 Adresy() a(5) = 16 a(6) = 0 a(7) = 253 Serial_7() End Sub Private Sub S100() NumericUpDown1.Increment = 100 Adresy() a(5) = 16 a(6) = 1 a(7) = 253 Serial_7() End Sub Private Sub S1k() NumericUpDown1.Increment = 1000 Adresy() a(5) = 16 a(6) = 2 a(7) = 253 Serial_7() End Sub Private Sub S5k() NumericUpDown1.Increment = 5000 Adresy() a(5) = 16 a(6) = 3 a(7) = 253 Serial_7() End Sub Private Sub S9k() NumericUpDown1.Increment = 1000 'Tady je výjimka, increment je u kroku 9 kHz jen 1 kHz Adresy() a(5) = 16 a(6) = 4 a(7) = 253 Serial_7() End Sub Private Sub S10k() NumericUpDown1.Increment = 10000 Adresy() a(5) = 16 a(6) = 5 a(7) = 253 Serial_7() End Sub Private Sub S12k5() NumericUpDown1.Increment = 12500 Adresy() a(5) = 16 a(6) = 6 a(7) = 253 Serial_7() End Sub Private Sub S20k() NumericUpDown1.Increment = 20000 Adresy() a(5) = 16 a(6) = 7 a(7) = 253 Serial_7() End Sub Private Sub S25k() NumericUpDown1.Increment = 25000 Adresy() a(5) = 16 a(6) = 8 a(7) = 253 Serial_7() End Sub Private Sub S100k() NumericUpDown1.Increment = 100000 Adresy() a(5) = 16 a(6) = 9 a(7) = 253 Serial_7() End Sub 'Procedury menu - pásma 'Kmitočty jsou vybrány pro kontrolní body, které mám nastavené v paměti generátoru 'Na těchto kmitočtech obvykle dělám orientační zkoušku RX i TX Private Sub B_MW() Adresy() a(5) = 5 'Commannd Nr., tento je nastaven tak, aby poslal F VFO do rádia a(6) = 0 'Data (frekvence) a(7) = 64 'Data (frekvence a(8) = 149 'Data (frekvence a(9) = 0 'Data (frekvence a(10) = 0 'Data (frekvence ' a(11) = 253 'FD znak Set_B() End Sub Private Sub B_160m() Adresy() a(5) = 5 'Commannd Nr., tento je nastaven tak, aby poslal F VFO do rádia a(6) = 0 'Data (frekvence) a(7) = 0 'Data (frekvence a(8) = 145 'Data (frekvence a(9) = 1 'Data (frekvence a(10) = 0 'Data (frekvence ' a(11) = 253 'FD znak Set_B() End Sub Private Sub B_80m() Adresy() a(5) = 5 'Commannd Nr., tento je nastaven tak, aby poslal F VFO do rádia a(6) = 0 'Data (frekvence) a(7) = 48 'Data (frekvence a(8) = 87 'Data (frekvence a(9) = 3 'Data (frekvence a(10) = 0 'Data (frekvence ' a(11) = 253 'FD znak Set_B() End Sub Private Sub B_40m() Adresy() a(5) = 5 'Commannd Nr., tento je nastaven tak, aby poslal F VFO do rádia a(6) = 0 'Data (frekvence) a(7) = 64 'Data (frekvence a(8) = 7 'Data (frekvence a(9) = 7 'Data (frekvence a(10) = 0 'Data (frekvence ' a(11) = 253 'FD znak Set_B() End Sub Private Sub B_30m() Adresy() a(5) = 5 'Commannd Nr., tento je nastaven tak, aby poslal F VFO do rádia a(6) = 0 'Data (frekvence) a(7) = 96 'Data (frekvence a(8) = 19 'Data (frekvence a(9) = 16 'Data (frekvence a(10) = 0 'Data (frekvence ' a(11) = 253 'FD znak Set_B() End Sub Private Sub B_20m() Adresy() a(5) = 5 'Commannd Nr., tento je nastaven tak, aby poslal F VFO do rádia a(6) = 0 'Data (frekvence) a(7) = 64 'Data (frekvence a(8) = 7 'Data (frekvence a(9) = 20 'Data (frekvence a(10) = 0 'Data (frekvence ' a(11) = 253 'FD znak Set_B() End Sub Private Sub B_17m() Adresy() a(5) = 5 'Commannd Nr., tento je nastaven tak, aby poslal F VFO do rádia a(6) = 0 'Data (frekvence) a(7) = 0 'Data (frekvence a(8) = 16 'Data (frekvence a(9) = 24 'Data (frekvence a(10) = 0 'Data (frekvence ' a(11) = 253 'FD znak Set_B() End Sub Private Sub B_15m() Adresy() a(5) = 5 'Commannd Nr., tento je nastaven tak, aby poslal F VFO do rádia a(6) = 0 'Data (frekvence) a(7) = 64 'Data (frekvence a(8) = 7 'Data (frekvence a(9) = 33 'Data (frekvence a(10) = 0 'Data (frekvence ' a(11) = 253 'FD znak Set_B() End Sub Private Sub B_12m() Adresy() a(5) = 5 'Commannd Nr., tento je nastaven tak, aby poslal F VFO do rádia a(6) = 0 'Data (frekvence) a(7) = 80 'Data (frekvence a(8) = 145 'Data (frekvence a(9) = 36 'Data (frekvence a(10) = 0 'Data (frekvence ' a(11) = 253 'FD znak Set_B() End Sub Private Sub B_CB3() Adresy() a(5) = 5 'Commannd Nr., tento je nastaven tak, aby poslal F VFO do rádia a(6) = 0 'Data (frekvence) a(7) = 80 'Data (frekvence a(8) = 152 'Data (frekvence a(9) = 38 'Data (frekvence a(10) = 0 'Data (frekvence ' a(11) = 253 'FD znak Set_B() End Sub Private Sub B_10m() Adresy() a(5) = 5 'Commannd Nr., tento je nastaven tak, aby poslal F VFO do rádia a(6) = 0 'Data (frekvence) a(7) = 64 'Data (frekvence a(8) = 7 'Data (frekvence a(9) = 40 'Data (frekvence a(10) = 0 'Data (frekvence ' a(11) = 253 'FD znak Set_B() End Sub Private Sub B_6m() Adresy() a(5) = 5 'Commannd Nr., tento je nastaven tak, aby poslal F VFO do rádia a(6) = 0 'Data (frekvence) a(7) = 48 'Data (frekvence a(8) = 49 'Data (frekvence a(9) = 80 'Data (frekvence a(10) = 0 'Data (frekvence ' a(11) = 253 'FD znak Set_B() End Sub Private Sub B_4m() Adresy() a(5) = 5 'Commannd Nr., tento je nastaven tak, aby poslal F VFO do rádia a(6) = 0 'Data (frekvence) a(7) = 0 'Data (frekvence a(8) = 16 'Data (frekvence a(9) = 112 'Data (frekvence a(10) = 0 'Data (frekvence ' a(11) = 253 'FD znak Set_B() End Sub Private Sub B_2m() Adresy() a(5) = 5 'Commannd Nr., tento je nastaven tak, aby poslal F VFO do rádia a(6) = 0 'Data (frekvence) a(7) = 0 'Data (frekvence a(8) = 144 'Data (frekvence a(9) = 69 'Data (frekvence a(10) = 1 'Data (frekvence ' a(11) = 253 'FD znak Set_B() End Sub Private Sub B_70cm() Adresy() a(5) = 5 'Commannd Nr., tento je nastaven tak, aby poslal F VFO do rádia a(6) = 0 'Data (frekvence) a(7) = 0 'Data (frekvence a(8) = 128 'Data (frekvence a(9) = 53 'Data (frekvence a(10) = 4 'Data (frekvence ' a(11) = 253 'FD znak Set_B() End Sub 'Procedury tlačítek a menu Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Cti_serial_F() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Set_serial_F() End Sub 'Procedury v menu na nastavování COMXX a BaudRate Private Sub COM3ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles COM3ToolStripMenuItem.Click SerialPort1.PortName = "COM3" SerialPort1.BaudRate = 9600 End Sub Private Sub COM4ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles COM4ToolStripMenuItem.Click SerialPort1.PortName = "COM4" SerialPort1.BaudRate = 9600 End Sub Private Sub COM5ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles COM5ToolStripMenuItem.Click SerialPort1.PortName = "COM5" SerialPort1.BaudRate = 9600 End Sub Private Sub COM6ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles COM6ToolStripMenuItem.Click SerialPort1.PortName = "COM6" SerialPort1.BaudRate = 9600 End Sub Private Sub COM7ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles COM7ToolStripMenuItem.Click SerialPort1.PortName = "COM7" SerialPort1.BaudRate = 9600 End Sub Private Sub COM11ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles COM11ToolStripMenuItem.Click SerialPort1.PortName = "COM11" SerialPort1.BaudRate = 57600 End Sub Private Sub COM12ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles COM12ToolStripMenuItem.Click SerialPort1.PortName = "COM12" SerialPort1.BaudRate = 57600 End Sub Private Sub COM13ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles COM13ToolStripMenuItem.Click SerialPort1.PortName = "COM13" SerialPort1.BaudRate = 57600 End Sub Private Sub COM14ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles COM14ToolStripMenuItem.Click SerialPort1.PortName = "COM14" SerialPort1.BaudRate = 57600 End Sub Private Sub BR9600ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BR9600ToolStripMenuItem.Click SerialPort1.BaudRate = 9600 End Sub Private Sub BR57600ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BR57600ToolStripMenuItem.Click SerialPort1.BaudRate = 57600 End Sub Private Sub PortToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PortToolStripMenuItem.Click Text = "Port: " + SerialPort1.PortName.ToString + ", Baud: " + SerialPort1.BaudRate.ToString End Sub Private Sub FToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FToolStripMenuItem.Click Cti_serial_F() End Sub Private Sub FSetToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FSetToolStripMenuItem.Click Set_serial_F() End Sub Private Sub RámecOKToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RámecOKToolStripMenuItem.Click Send_OK() End Sub ' Položky menu - mode Private Sub LSBToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LSBToolStripMenuItem.Click LSB() End Sub Private Sub USBToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles USBToolStripMenuItem.Click USB() End Sub Private Sub CWToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CWToolStripMenuItem.Click CW() End Sub Private Sub AMToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AMToolStripMenuItem.Click AM() End Sub Private Sub FMToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FMToolStripMenuItem.Click FM() End Sub Private Sub WFMToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles WFMToolStripMenuItem.Click WFM() End Sub Private Sub RTTYToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RTTYToolStripMenuItem.Click RTTY() End Sub ' Položky menu -step Private Sub HzToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HzToolStripMenuItem.Click S10() End Sub Private Sub HzToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HzToolStripMenuItem1.Click S100() End Sub Private Sub KHzToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KHzToolStripMenuItem.Click S1k() End Sub Private Sub KHzToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KHzToolStripMenuItem1.Click S5k() End Sub Private Sub KHzToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KHzToolStripMenuItem2.Click S9k() End Sub Private Sub KHzToolStripMenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KHzToolStripMenuItem3.Click S10k() End Sub Private Sub KHzToolStripMenuItem4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KHzToolStripMenuItem4.Click S12k5() End Sub Private Sub KHzToolStripMenuItem5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KHzToolStripMenuItem5.Click S20k() End Sub Private Sub KHzToolStripMenuItem6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KHzToolStripMenuItem6.Click S25k() End Sub Private Sub KHzToolStripMenuItem7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KHzToolStripMenuItem7.Click S100k() End Sub Private Sub NastaveníIntervaluToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NastaveníIntervaluToolStripMenuItem.Click Form2.Show() End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Cti_serial_F() End Sub Private Sub TestStartToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TestStartToolStripMenuItem.Click Timer1.Enabled = True End Sub Private Sub TestEndToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TestEndToolStripMenuItem.Click Timer1.Enabled = False End Sub ' Položky menu - band Private Sub MWToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MWToolStripMenuItem.Click B_MW() End Sub Private Sub MToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MToolStripMenuItem.Click B_160m() End Sub Private Sub MToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MToolStripMenuItem1.Click B_80m() End Sub Private Sub MToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MToolStripMenuItem2.Click B_40m() End Sub Private Sub MToolStripMenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MToolStripMenuItem3.Click B_30m() End Sub Private Sub MToolStripMenuItem4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MToolStripMenuItem4.Click B_20m() End Sub Private Sub MToolStripMenuItem5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MToolStripMenuItem5.Click B_17m() End Sub Private Sub MToolStripMenuItem6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MToolStripMenuItem6.Click B_15m() End Sub Private Sub MToolStripMenuItem7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MToolStripMenuItem7.Click B_12m() End Sub Private Sub CB3ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CB3ToolStripMenuItem.Click B_CB3() End Sub Private Sub MToolStripMenuItem8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MToolStripMenuItem8.Click B_10m() End Sub Private Sub MToolStripMenuItem9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MToolStripMenuItem9.Click B_6m() End Sub Private Sub MToolStripMenuItem10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MToolStripMenuItem10.Click B_4m() End Sub Private Sub MToolStripMenuItem11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MToolStripMenuItem11.Click B_2m() End Sub Private Sub CmToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmToolStripMenuItem.Click B_70cm() End Sub Private Sub AboutToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AboutToolStripMenuItem.Click Form3.Show() End Sub End Class