![]() |
Hilfe zu Programm in Visual Basic
ersteinmal Hallo an alle Programmierer.
Ich habe die Aufgabe bekommen folgendes Visual Basic Programm zu analysieren, das heißt die einzelenen Befehle zu beschreiben und wann das Programm was macht. Ich bekam den Auftrag das mit der MSDN Hilfe zu machen, das Problem ist nur das ich erstens von Visual Basic noch nie was gehört hab und zweitens die Hilfe so geschrieben ist, das ich mich noch weniger auskenne. Ich denke, dass das für einen Programmierer nicht wirklich eine Herausforderung sein wird. Danke im Vorhinein. Programm: 2 Computer sind mit einem seriellen Kabel miteinander verbunden. Ziel ist es eine Sinusschwingung zu übertragen. Sende-Programm: Private Sub Command_Click() MSCom.CommPort = 1 MSCom.Settings = "9600,N,8,1" MSCom.Handshaking = comRTS MSCom.PortOpen = True For i = 0 To 628 MSCom.Output = Chr(100 * Sin(i / 100#) + 100) Next MSCom.Output = Chr(255) MSCom.PortOpen = False MsgBox ("Daten geschickt") End Sub Private Sub List1_Click() End Sub Empfänger: Private Sub Command_Click() MSCom.CommPort = 1 MSCom.Settings = "9600,N,8,1" MSCom.Handshaking = comRTS MSCom.PortOpen = True Do DoEvents flo$ = flo$ & MSCom.Input Loop Until InStr(flo$, Chr(255)) MsgBox (" daten erhalten") MSCom.PortOpen = False Picture.Line (0, 125)-(0, 125) For i = 1 To 629 Picture.Line -(i, 250 - (Asc(Mid(flo$, i, 1)) + 25)) Next End Sub //sender drückt auf sende Button und anschließend Empfänger auf Empfangsbutton. Sinusschwingung wird in der Picturebox angezeigt |
Private Sub Command_Click() beim klicken auf den Button wird folgendes Programm abgearbeitet
MSCom.CommPort = 1 definieren, welches COM Port verwendet wird MSCom.Settings = "9600,N,8,1" COM Einstellungen - 9600bit/s, keine Parität, 8 Datenbits, 1 Stoppbit MSCom.Handshaking = comRTS Art des Handshakes MSCom.PortOpen = True Portkommunikation "öffnen" For i = 0 To 628 For Schleife, wird 629x abgearbeitet MSCom.Output = Chr(100 * Sin(i / 100#) + 100) Das Ergebnis der Rechnung wird als Character am COM Port ausgegeben Next das müsste next i heißen - erhöht den Zähler um 1 MSCom.Output = Chr(255) ein Leerzeichen wird übertragen MSCom.PortOpen = False Port "schließen" MsgBox ("Daten geschickt") in einem Popup- Fenster wird die Meldung ausgegeben End Sub Ende des Programmes Private Sub List1_Click() die beiden Zeilen kannst löschen, weil ja kein Code drinnen steht End Sub Empfänger: Private Sub Command_Click() Die ersten 5 Zeilen siehe oben MSCom.CommPort = 1 MSCom.Settings = "9600,N,8,1" MSCom.Handshaking = comRTS MSCom.PortOpen = True Do Beginn einer Do- Schleife DoEvents alle Events, die möglicherweise noch in der Queue sind abarbeiten -> ohne der Zeile geht das Programm nicht!! flo$ = flo$ & MSCom.Input Jeder empfangene Charakter wird der Variable angehängt Loop Until InStr(flo$, Chr(255))Bis ein Leerzeichen folgt MsgBox (" daten erhalten") Popup Fenster mit der Bestätigung MSCom.PortOpen = False Port wird wieder geschlossen Picture.Line (0, 125)-(0, 125) In die Picture Box wird ein Punkt gezeichnet [Linie mit den gleichen Anfangs- & Endkoordinaten] For i = 1 To 629 Wieder eine Schleife mit 630 Durchläufen Picture.Line -(i, 250 - (Asc(Mid(flo$, i, 1)) + 25)) Eine Linie wird gezeichnet, Anfangskoordinate mit x=Zähler, y=250 minus der Ascii- Wert, der an der Stelle i in der Variable flo$ steht plus 25 (damit du die richtige Zahl bekommst) Next erhöhen des Zählers End Sub Programmende Erklärung OK? |
Passt, danke
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 19:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag