Forum: PC-Programmierung vb.net com port abfrage


von Fire (Gast)


Lesenswert?

Hallo und Guten morgen.


Irgendwie hänge ich fest und peile nichts mehr suche seit nem tag nach 
einer lösung wie ich in meinem kleinen selbst gebasteltem Programm eine 
comport abfrage hinbekomme.

google hat mir zwar etliche beiträge aufgezeigt werde aber irgendwie 
nicht schlau draus.

Leider sind mir die ganzen vorschläge dich so im netz gefunden habe 
nicht geläufig und ich kann damit rein garnichts anfangen.

habe was gefunden was ich suche ist leider in c geschriebenund somit 
kann ich es leider nicht bei mir verwenden.
http://www.rn-wissen.de/index.php/Feststellung_der_zur_Verf%C3%BCgung_stehenden_COM-Ports_auf_dem_Computer

in der Mainformdesigner.vb steht folgendes:


'
' Erstellt mit SharpDevelop.
' Benutzer: ****
' Datum: 19.09.2010
' Zeit: 02:11
'
' Sie können diese Vorlage unter Extras > Optionen > Codeerstellung > 
Standardheader ändern.
'
Partial Class MainForm
  Inherits System.Windows.Forms.Form

  ''' <summary>
  ''' Designer variable used to keep track of non-visual components.
  ''' </summary>
  Private components As System.ComponentModel.IContainer

  ''' <summary>
  ''' Disposes resources used by the form.
  ''' </summary>
  ''' <param name="disposing">true if managed resources should be 
disposed; otherwise, false.</param>
  Protected Overrides Sub Dispose(ByVal disposing As Boolean)
    If disposing Then
      If components IsNot Nothing Then
        components.Dispose()
      End If
    End If
    MyBase.Dispose(disposing)
  End Sub

  ''' <summary>
  ''' This method is required for Windows Forms designer support.
  ''' Do not change the method contents inside the source code editor. 
The Forms designer might
  ''' not be able to load this method if it was changed manually.
  ''' </summary>
  Private Sub InitializeComponent()
    Me.components = New System.ComponentModel.Container
    Dim resources As System.ComponentModel.ComponentResourceManager = 
New System.ComponentModel.ComponentResourceManager(GetType(MainForm))
    Me.button1 = New System.Windows.Forms.Button
    Me.button2 = New System.Windows.Forms.Button
    Me.button3 = New System.Windows.Forms.Button
    Me.button4 = New System.Windows.Forms.Button
    Me.serialPort1 = New System.IO.Ports.SerialPort(Me.components)
    Me.timer1 = New System.Windows.Forms.Timer(Me.components)
    Me.textBox1 = New System.Windows.Forms.TextBox
    Me.textBox2 = New System.Windows.Forms.TextBox
    Me.button5 = New System.Windows.Forms.Button
    Me.button6 = New System.Windows.Forms.Button
    Me.button7 = New System.Windows.Forms.Button
    Me.button8 = New System.Windows.Forms.Button
    Me.button9 = New System.Windows.Forms.Button
    Me.button10 = New System.Windows.Forms.Button
    Me.button11 = New System.Windows.Forms.Button
    Me.button12 = New System.Windows.Forms.Button
    Me.button13 = New System.Windows.Forms.Button
    Me.button14 = New System.Windows.Forms.Button
    Me.button15 = New System.Windows.Forms.Button
    Me.button16 = New System.Windows.Forms.Button
    Me.button17 = New System.Windows.Forms.Button
    Me.SuspendLayout
    '
    'button1
    '
    Me.button1.BackColor = System.Drawing.Color.Lime
    Me.button1.Location = New System.Drawing.Point(12, 12)
    Me.button1.Name = "button1"
    Me.button1.Size = New System.Drawing.Size(75, 23)
    Me.button1.TabIndex = 0
    Me.button1.Text = "Grün"
    Me.button1.UseVisualStyleBackColor = false
    AddHandler Me.button1.Click, AddressOf Me.Button1Click
    '
    'button2
    '
    Me.button2.BackColor = System.Drawing.Color.Yellow
    Me.button2.Location = New System.Drawing.Point(12, 41)
    Me.button2.Name = "button2"
    Me.button2.Size = New System.Drawing.Size(75, 23)
    Me.button2.TabIndex = 1
    Me.button2.Text = "Gelb"
    Me.button2.UseVisualStyleBackColor = false
    AddHandler Me.button2.Click, AddressOf Me.Button2Click
    '
    'button3
    '
    Me.button3.BackColor = System.Drawing.Color.Red
    Me.button3.Location = New System.Drawing.Point(12, 70)
    Me.button3.Name = "button3"
    Me.button3.Size = New System.Drawing.Size(75, 23)
    Me.button3.TabIndex = 2
    Me.button3.Text = "Rot"
    Me.button3.UseVisualStyleBackColor = false
    AddHandler Me.button3.Click, AddressOf Me.Button3Click
    '
    'button4
    '
    Me.button4.BackColor = System.Drawing.Color.Black
    Me.button4.ForeColor = System.Drawing.Color.White
    Me.button4.Location = New System.Drawing.Point(12, 128)
    Me.button4.Name = "button4"
    Me.button4.Size = New System.Drawing.Size(75, 23)
    Me.button4.TabIndex = 3
    Me.button4.Text = "Reset"
    Me.button4.UseVisualStyleBackColor = false
    AddHandler Me.button4.Click, AddressOf Me.Button4Click
    '
    'serialPort1
    '
    Me.serialPort1.PortName = "COM3"
    '
    'timer1
    '
    Me.timer1.Enabled = true
    Me.timer1.Interval = 250
    AddHandler Me.timer1.Tick, AddressOf Me.Timer1Tick
    '
    'textBox1
    '
    Me.textBox1.ForeColor = System.Drawing.Color.Gold
    Me.textBox1.Location = New System.Drawing.Point(229, 12)
    Me.textBox1.Multiline = true
    Me.textBox1.Name = "textBox1"
    Me.textBox1.Size = New System.Drawing.Size(174, 322)
    Me.textBox1.TabIndex = 4
    AddHandler Me.textBox1.MouseClick, AddressOf Me.TextBox1MouseClick
    '
    'textBox2
    '
    Me.textBox2.Location = New System.Drawing.Point(11, 164)
    Me.textBox2.Name = "textBox2"
    Me.textBox2.Size = New System.Drawing.Size(81, 20)
    Me.textBox2.TabIndex = 5
    '
    'button5
    '
    Me.button5.Location = New System.Drawing.Point(40, 185)
    Me.button5.Name = "button5"
    Me.button5.Size = New System.Drawing.Size(23, 23)
    Me.button5.TabIndex = 6
    Me.button5.Text = "8"
    Me.button5.UseVisualStyleBackColor = true
    AddHandler Me.button5.Click, AddressOf Me.Button5Click
    '
    'button6
    '
    Me.button6.Location = New System.Drawing.Point(11, 185)
    Me.button6.Name = "button6"
    Me.button6.Size = New System.Drawing.Size(23, 23)
    Me.button6.TabIndex = 7
    Me.button6.Text = "7"
    Me.button6.UseVisualStyleBackColor = true
    AddHandler Me.button6.Click, AddressOf Me.Button6Click
    '
    'button7
    '
    Me.button7.Location = New System.Drawing.Point(69, 214)
    Me.button7.Name = "button7"
    Me.button7.Size = New System.Drawing.Size(23, 23)
    Me.button7.TabIndex = 8
    Me.button7.Text = "6"
    Me.button7.UseVisualStyleBackColor = true
    AddHandler Me.button7.Click, AddressOf Me.Button7Click
    '
    'button8
    '
    Me.button8.Location = New System.Drawing.Point(40, 214)
    Me.button8.Name = "button8"
    Me.button8.Size = New System.Drawing.Size(23, 23)
    Me.button8.TabIndex = 9
    Me.button8.Text = "5"
    Me.button8.UseVisualStyleBackColor = true
    AddHandler Me.button8.Click, AddressOf Me.Button8Click
    '
    'button9
    '
    Me.button9.Location = New System.Drawing.Point(11, 214)
    Me.button9.Name = "button9"
    Me.button9.Size = New System.Drawing.Size(23, 23)
    Me.button9.TabIndex = 10
    Me.button9.Text = "4"
    Me.button9.UseVisualStyleBackColor = true
    AddHandler Me.button9.Click, AddressOf Me.Button9Click
    '
    'button10
    '
    Me.button10.Location = New System.Drawing.Point(69, 243)
    Me.button10.Name = "button10"
    Me.button10.Size = New System.Drawing.Size(23, 23)
    Me.button10.TabIndex = 11
    Me.button10.Text = "3"
    Me.button10.UseVisualStyleBackColor = true
    AddHandler Me.button10.Click, AddressOf Me.Button10Click
    '
    'button11
    '
    Me.button11.Location = New System.Drawing.Point(40, 243)
    Me.button11.Name = "button11"
    Me.button11.Size = New System.Drawing.Size(23, 23)
    Me.button11.TabIndex = 12
    Me.button11.Text = "2"
    Me.button11.UseVisualStyleBackColor = true
    AddHandler Me.button11.Click, AddressOf Me.Button11Click
    '
    'button12
    '
    Me.button12.Location = New System.Drawing.Point(11, 243)
    Me.button12.Name = "button12"
    Me.button12.Size = New System.Drawing.Size(23, 23)
    Me.button12.TabIndex = 13
    Me.button12.Text = "1"
    Me.button12.UseVisualStyleBackColor = true
    AddHandler Me.button12.Click, AddressOf Me.Button12Click
    '
    'button13
    '
    Me.button13.Location = New System.Drawing.Point(40, 272)
    Me.button13.Name = "button13"
    Me.button13.Size = New System.Drawing.Size(23, 23)
    Me.button13.TabIndex = 14
    Me.button13.Text = "0"
    Me.button13.UseVisualStyleBackColor = true
    AddHandler Me.button13.Click, AddressOf Me.Button13Click
    '
    'button14
    '
    Me.button14.Location = New System.Drawing.Point(69, 185)
    Me.button14.Name = "button14"
    Me.button14.Size = New System.Drawing.Size(23, 23)
    Me.button14.TabIndex = 15
    Me.button14.Text = "9"
    Me.button14.UseVisualStyleBackColor = true
    AddHandler Me.button14.Click, AddressOf Me.Button14Click
    '
    'button15
    '
    Me.button15.Location = New System.Drawing.Point(11, 272)
    Me.button15.Name = "button15"
    Me.button15.Size = New System.Drawing.Size(23, 23)
    Me.button15.TabIndex = 16
    Me.button15.Text = "*"
    Me.button15.UseVisualStyleBackColor = true
    AddHandler Me.button15.Click, AddressOf Me.Button15Click
    '
    'button16
    '
    Me.button16.Location = New System.Drawing.Point(69, 272)
    Me.button16.Name = "button16"
    Me.button16.Size = New System.Drawing.Size(23, 23)
    Me.button16.TabIndex = 17
    Me.button16.Text = "#"
    Me.button16.UseVisualStyleBackColor = true
    AddHandler Me.button16.Click, AddressOf Me.Button16Click
    '
    'button17
    '
    Me.button17.BackColor = System.Drawing.Color.White
    Me.button17.Location = New System.Drawing.Point(12, 99)
    Me.button17.Name = "button17"
    Me.button17.Size = New System.Drawing.Size(75, 23)
    Me.button17.TabIndex = 18
    Me.button17.Text = "Weiß"
    Me.button17.UseVisualStyleBackColor = false
    AddHandler Me.button17.Click, AddressOf Me.Button17Click
    '
    'MainForm
    '
    Me.AutoScaleDimensions = New System.Drawing.SizeF(6!, 13!)
    Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
    Me.BackgroundImage = 
CType(resources.GetObject("$this.BackgroundImage"),System.Drawing.Image)
    Me.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch
    Me.ClientSize = New System.Drawing.Size(415, 349)
    Me.Controls.Add(Me.button17)
    Me.Controls.Add(Me.button16)
    Me.Controls.Add(Me.button15)
    Me.Controls.Add(Me.button14)
    Me.Controls.Add(Me.button13)
    Me.Controls.Add(Me.button12)
    Me.Controls.Add(Me.button11)
    Me.Controls.Add(Me.button10)
    Me.Controls.Add(Me.button9)
    Me.Controls.Add(Me.button8)
    Me.Controls.Add(Me.button7)
    Me.Controls.Add(Me.button6)
    Me.Controls.Add(Me.button5)
    Me.Controls.Add(Me.textBox2)
    Me.Controls.Add(Me.textBox1)
    Me.Controls.Add(Me.button4)
    Me.Controls.Add(Me.button3)
    Me.Controls.Add(Me.button2)
    Me.Controls.Add(Me.button1)
    Me.Name = "MainForm"
    Me.Text = "µc Kontroll Programm"
    Me.ResumeLayout(false)
    Me.PerformLayout
  End Sub
  Private button17 As System.Windows.Forms.Button
  Private button16 As System.Windows.Forms.Button
  Private button15 As System.Windows.Forms.Button
  Private button14 As System.Windows.Forms.Button
  Private button13 As System.Windows.Forms.Button
  Private button12 As System.Windows.Forms.Button
  Private button11 As System.Windows.Forms.Button
  Private button10 As System.Windows.Forms.Button
  Private button9 As System.Windows.Forms.Button
  Private button8 As System.Windows.Forms.Button
  Private button7 As System.Windows.Forms.Button
  Private button6 As System.Windows.Forms.Button
  Private button5 As System.Windows.Forms.Button
  Private textBox2 As System.Windows.Forms.TextBox
  Private textBox1 As System.Windows.Forms.TextBox
  Private timer1 As System.Windows.Forms.Timer
  Private serialPort1 As System.IO.Ports.SerialPort
  Private button4 As System.Windows.Forms.Button
  Private button3 As System.Windows.Forms.Button
  Private button2 As System.Windows.Forms.Button
  Private button1 As System.Windows.Forms.Button
End Class



und in der Mainform.vb:

'
' Erstellt mit SharpDevelop.
' Benutzer: ****
' Datum: 19.09.2010
' Zeit: 02:11
'
' Sie können diese Vorlage unter Extras > Optionen > Codeerstellung > 
Standardheader ändern.
'
Public Partial Class MainForm
  Public Sub New()
    ' The Me.InitializeComponent call is required for Windows Forms 
designer support.
    Me.InitializeComponent()
    serialport1.open
    '
    ' TODO : Add constructor code after InitializeComponents
    '
  End Sub



  Sub Timer1Tick(sender As Object, e As EventArgs)
    if serialport1.BytesToRead > 0 then
   Do
      textbox1.AppendText (chr(SerialPort1.Readbyte))
      textbox1.ScrollToCaret
      If SerialPort1.BytesToRead = 0 Then
         Exit Do
      End If
   Loop
end if
  End Sub

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Hier wird gesagt wenn man im rechten Textfeld reinklickt wird der   '
' Inhalt gelöscht                                                     '
'                                                                     '
''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''


  Sub TextBox1MouseClick(sender As Object, e As MouseEventArgs)
    TextBox1.Clear
    TextBox2.Clear
  End Sub


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Die Buttons in der Oberen linken Ecke                               '
'                                                                     '
''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''


  Sub Button1Click(sender As Object, e As EventArgs)
    serialport1.Write ("g")
  End Sub

  Sub Button2Click(sender As Object, e As EventArgs)
    serialport1.Write ("y")
  End Sub

  Sub Button3Click(sender As Object, e As EventArgs)
    serialport1.Write ("r")
  End Sub

  Sub Button17Click(sender As Object, e As EventArgs)
    Serialport1.Write ("w")
  End Sub

  Sub Button4Click(sender As Object, e As EventArgs)
    serialport1.Write ("_")
  End Sub



'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Die Buttons in der Unteren linken Ecke                              '
'                                                                     '
''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

  Sub Button14Click(sender As Object, e As EventArgs)
    serialport1.Write (9)
    textBox2.Text = "9"
  End Sub

  Sub Button5Click(sender As Object, e As EventArgs)
    serialport1.Write (8)
    textBox2.Text = "8"
  End Sub

  Sub Button6Click(sender As Object, e As EventArgs)
    serialport1.Write (7)
    textBox2.Text = "7"
  End Sub

  Sub Button7Click(sender As Object, e As EventArgs)
    serialport1.Write (6)
    textBox2.Text = "6"
  End Sub

  Sub Button8Click(sender As Object, e As EventArgs)
    serialport1.Write (5)
    textBox2.Text = "5"
  End Sub

  Sub Button9Click(sender As Object, e As EventArgs)
    serialport1.Write (4)
    textBox2.Text = "4"
  End Sub

  Sub Button10Click(sender As Object, e As EventArgs)
    serialport1.Write (3)
    textBox2.Text = "3"
  End Sub

  Sub Button11Click(sender As Object, e As EventArgs)
    serialport1.Write (2)
    textBox2.Text = "2"
  End Sub

  Sub Button12Click(sender As Object, e As EventArgs)
    serialport1.Write (1)
    textBox2.Text = "1"
  End Sub

  Sub Button13Click(sender As Object, e As EventArgs)
    serialport1.Write (0)
    textBox2.Text = "0"
  End Sub

  Sub Button16Click(sender As Object, e As EventArgs)
    serialport1.Write ("#")
    textBox2.Text = "#"
  End Sub

  Sub Button15Click(sender As Object, e As EventArgs)
    serialport1.Write ("*")
    textBox2.Text = "*"
  End Sub





End Class


vllt ist ja jemand dabei der mir den richtigen dank anstoss gibt komme 
einfach nicht weiter.

oder vllt auch so nett ist dieses besagte programm was in c geschrieben 
ist hier einzubauen so das dies als erstes aufgerufen wird beim program 
start und dann an das programm selbst die eingestellten daten 
vermittelt.


Für jede kleine hilfe bin ich sehr dankbar

von Jens (Gast)


Lesenswert?

Versuche es mal hier: msdn.microsoft.com/de-de/library/tf8zk72w.aspx

Allerdings sollte man schon Grundkenntnisse im Aufruf von APIs und 
.NET-Klassen haben, um das zu verstehen.

PS: Längeren Code bitte als Datei anhängen.

von Fire (Gast)


Lesenswert?

Hallo

ist ja schon mächtig was dahinter steckt habe damals in der schulzeit 
ein wenig Programmiert und habe irgendwie den anschluss verpasst^^.

nun zugegeben das es mir doch ne nummer zu hoch ist da ich es einfach 
nicht verstehe.

ich hoffe das es jemanden gibt der mir ganz kurz mal die augen öffnet 
und vllt einen kleinen programm code zusammen bastelt womit ich vllt 
mehr anfangen kann.


wäre zugeil wenn das jemand der richtig plan von der materie hat dies 
mir macht so das ich dann weiter kommen kann, habe mir auch in der 
zwischenzeit ein tuturial runter gezogen und habe dadurch schon einiges 
dazu gelernt oder eher verstanden worum es eigentlich geht.


ps.: hast recht wäre weit aus besser zu lesen, wenn ich es datei 
angehangen hätte, leider war es ja sehr spät geworden und ich habe 
nichts mehr gerafft ...

von Fire (Gast)


Lesenswert?

komme einfach nicht weiter habe soeben mal mein projekt hochgeladen

http://www.file-upload.net/download-2831977/jetzt-richtig.rar.html

vllt kann mir wer helfen

von Sven H. (dsb_sven)


Lesenswert?

Was genau willst du denn machen? (Ich hab mir deinen ganzen Post nicht 
durchgelesen)

Wenn du nur mitm COM-Port quatschen willst, gibts da nen Steuerelement 
für.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.