WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Hilfe zu Programm in Visual Basic (http://www.wcm.at/forum/showthread.php?t=120660)

axors 02.01.2004 14:00

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

gorie 04.01.2004 23:31

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?

axors 06.01.2004 12:07

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