- 3D-Druck Einstieg und Tipps         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: Quellcode von Visual Basic 6.0 nach Visual Basic .NET

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    02.08.2005
    Beiträge
    78

    Quellcode von Visual Basic 6.0 nach Visual Basic .NET

    Anzeige

    Praxistest und DIY Projekte
    Hallo,

    auf Grund eines Beispielprogramms unter VB 6.0 hab ich mir dieses auf meine Anforderungen abgeaendert.
    Nun bin ich aber gezwungen VB.NET zu benutzen.
    Bei dem Programm werden Daten an der RS232 Schnittstelle eingelesen und verarbeitet.
    Ich moechte nur wissen was ich fuer VB.NET aender muss.
    Klar dass ich das Benutzerfenster mit den Buttons und der Ein- und Ausgabe neu machen muss, aber mir kommt es hier eher auf die Ansteuerung der RS232 Schnittstelle an.


    Hier der Quellcode:

    Code:
    VERSION 5.00
    
    Object = "{648A5603-2C6E-101B-82B6-000000000014}#1.1#0"; "mscomm32.ocx"
    
    Private Sub BtnGetData_Click()
    	
    	Dim val(1) As Single, min As Single, max As Single
    
    	val = TLC548_GetData()
    
    	min = val(0)
    	max = val(1)
    	
    	Min.Text = CStr(min)
    	Max.Text = CStr(max)
    End Sub
    
    
    Private Sub Form_Load()
        On Error Resume Next
        MSComm1.Settings = "9600,N,8,1"
        MSComm1.CommPort = 1
        MSComm1.PortOpen = True
        MSComm1.DTREnable = False
        MSComm1.RTSEnable = True
        BtnGetData.Enabled = False 
    End Sub
    
    Private Sub Option1_Click(Index As Integer)
    	On Error Resume Next
    	BtnGetData.Enabled = False
    	MSComm1.PortOpen = False
    	If Option1(0).Value = True Then
        		MSComm1.CommPort = 1
    	End If
    	If Option1(1).Value = True Then
        		MSComm1.CommPort = 2
    	End If
    	MSComm1.PortOpen = True
    	BtnGetData.Enabled = True
    	MSComm1.DTREnable = False
    	MSComm1.RTSEnable = True
    End Sub
    
    
    Private Function TLC548_GetData() As Single
    
    	Dim i As Integer, temp As Byte, min As Single, max As Single, values(1) As Single, x As Integer, vref As Single
    
    	temp = 0, min = 9999, max = 0
    
    	vref = CSng(URef.Text)
    
    	MSComm1.RTSEnable = False 
    	
    	For x = 1 To 1000000 Step 1
    
    		For i = 7 To 0 Step -1
    
    			MSComm1.DTREnable = True
    
        			If MSComm1.CTSHolding = True Then
           				temp = temp + 2 ^ i
        			End If
    
    			MSComm1.DTREnable = False
    		Next
    
    		If (temp * (vref/256)) < min Then
    			min = (temp * (vref/256))
    		End If
    		
    		If (temp * (vref/256)) > max Then
    			max = (temp * (vref/256))
    		End If	
    	Next
    
    	MSComm1.RTSEnable = False   'set Chip Select high
    
    	values(0) = min
    	values(1) = max
    
    	TLC548_GetData = values
    
    End Function

    Funktioniert das Ansprechen der RS232 Schnittstelle unter VB.NET noch genauso???
    schon mal vielen Dank!

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.03.2005
    Ort
    Villach
    Alter
    33
    Beiträge
    995
    zum portieren gibs nen einfachen trick. wo man nicht sicher weis das es nicht gleich geht lasst man alles 1:1 und kompilliert einfach mal. dann kommen mehrere fehlermeldungen und nach der reihe bügelt sie man aus.
    ich hab keine erfahrung mit vb.net. nur das .net programme bei mir (herumspielen in der schule wegen windows zwang) immer langsamer liefen als vb.

  3. #3
    Erfahrener Benutzer Roboter Experte Avatar von marvin42x
    Registriert seit
    02.08.2005
    Ort
    Berlin
    Alter
    75
    Beiträge
    703
    Hi danionbike,
    zwischen vb6 und .Net gibt es teilweise erhebliche Unterschiede.
    Ich habe mich schon mehrfach aus diesem Problem geschlichen in dem ich vb6 Source mit VB2005 Express geöffnet habe.
    VB2005 erkennt, dass es sich um VB6 Source handelt und bietet darauf hin eine Konvertierung an.
    Dem stimmt man zu und dann findet eine Konvertierung statt.

    Am Ende steht ein VB2005 Projektordner mit dem meistens lauffähigen Programm zur Verfügung. Der geänderte Programmtext ist an Stellen die eventuell nicht konvertiert werden konnte mit Kommentaren versehen wie man das Problem lösen kann.

    Die RS232 Geschichte ist für VB2005 leider noch nicht so gut mit Beispielprogrammen gesegnet wie das alt ehrwürdige VB6.

    VB2005 bringt für alte VB6 Programme sogar eine eigene Kompatibilitätsbibliothek mit.
    Langfristig wird es aber vermutlich besser sein vollständig auf VB2005 zu wechseln.

    Leider habe ich mich mit RS232 noch nicht speziell beschäftigt und kann Dir die Unterschiede nicht aus dem Ärmel schütteln.

    Netter Gruß
    http://www.marvins-lab.roboterbastler.de/
    Die ersten zehn Millionen Jahre waren die schlimmsten. Und die zweiten Zehn Millionen Jahre, die waren auch die schlimmsten.url

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    02.08.2005
    Beiträge
    78
    ihr redet da von VB2005, wir wurde gesagt das die software miscrosoft development environment 2003 Visual Basic.NET Version 7 heisst.

    ist das nochmals ein unterschied???

    kennt sich jemand mit RS232 unter der von mir geschilderten software umgebung aus?

    ein beispielprogramm waere hilfreich.

    danke!

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    23.04.2007
    Alter
    35
    Beiträge
    10
    vb2005 ist schon die version 8

    gibts als express version kostenlos bei microsoft zum runterladen

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.04.2005
    Beiträge
    1.469
    Hi,
    es gibt auch ein Tool für VB6, mit dem man den Code überprrüfen kann.
    Das zeigt auch an, welche Dinge für VB.Net geändert werden müssen.
    Das Teil heißt "Code Advisor" und gibt's direkt von Microsoft.

    Gruß
    Christopher

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    02.08.2005
    Beiträge
    78
    danke fuer die ratschlaege!

    gibt es fuer mich einen unterschied zwischen der Version 7 und der Version 8?

    funktioniert ein in Version 8 geschriebenes programm auch in version 7 und umgekehrt?

    wer noch weitere tipps bezueglich vb.net und RS232 hat - immer her damit!

  8. #8
    Erfahrener Benutzer Roboter Experte Avatar von marvin42x
    Registriert seit
    02.08.2005
    Ort
    Berlin
    Alter
    75
    Beiträge
    703
    Der große Umbruch war meinem Wissen nach zwischen VB6 und den folgenden, also .NET, 2003, 2005. Da wurde ein neues Objektorientiertes Datenmodell eingeführt.
    Der geschriebene Code benötigt ab da Framework zur Ausführung.
    Framework ist ab Vista serienmäßig in Windows enthalten.
    Mein Eindruck ist, dass man den Programmierer vom Kern des Betriebssystems fernhalten will um so die Stabilität von Windows zu steigern.

    VB2003 und VB2005 sind daher recht kompatibel zueinander weil sie zur neuen Familie gehören.

    An einer Demo für das Ansprechen der Seriellen über VB2005 (oder 2003) wäre ich auch interessiert. Also falls es zu einer Lösung kommt bitte die Lösung auch posten.
    Es gibt einige VB Internetseiten die eine Menge zu bieten haben (Google suche: VB 2005)

    Netter Gruß
    Die ersten zehn Millionen Jahre waren die schlimmsten. Und die zweiten Zehn Millionen Jahre, die waren auch die schlimmsten.url

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    02.08.2005
    Beiträge
    78
    Zitat Zitat von marvin42x
    Der große Umbruch war meinem Wissen nach zwischen VB6 und den folgenden, also .NET, 2003, 2005. Da wurde ein neues Objektorientiertes Datenmodell eingeführt.
    Der geschriebene Code benötigt ab da Framework zur Ausführung.
    Framework ist ab Vista serienmäßig in Windows enthalten.
    Mein Eindruck ist, dass man den Programmierer vom Kern des Betriebssystems fernhalten will um so die Stabilität von Windows zu steigern.

    VB2003 und VB2005 sind daher recht kompatibel zueinander weil sie zur neuen Familie gehören.

    An einer Demo für das Ansprechen der Seriellen über VB2005 (oder 2003) wäre ich auch interessiert. Also falls es zu einer Lösung kommt bitte die Lösung auch posten.
    Es gibt einige VB Internetseiten die eine Menge zu bieten haben (Google suche: VB 2005)

    Netter Gruß

    dann waeren wir ja schon mal zwei die an einer loesung interessiert sind!

    wer wohl heute oder anfang naechster woche das VB.NET 2003 installieren und mir mal angucken ob das bereits geschriebene programm vielleicht doch laeuft und wenn nicht an was es wohl liegen koennte ...

    wem sonst noch was einfaellt in hinsicht auf VB.NET 2003 und RS232 ansprechen, der kann das gerne hier posten - DANKE!

    EDIT: Gibt es eigentlich von Visual Basic 6.0 eine Freeware-Version oder so aehnlich?

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    29.05.2005
    Beiträge
    1.018
    Hallo zusammen,
    da ich selbst 'nur' mit VB6 rummache, kam für mich noch nix mit NET oder weiteren Versionen in Frage.
    Gefunden habe ich aber ein 'Muster', unter http://www.gssg.de/visbas.htm
    Da nach RS323 suchen oder gleich nach http://www.gssg.de/net_serport.htm gehen, downloaden und probieren.

    Hoffe es klappt, da ich mir den Code im Download nicht angesehen habe.
    Ich bin im übrigen auch an dem Thema interessiert.
    Lieber Asuro programieren als arbeiten gehen.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests