mit Visual Basic Daten über tragen und visuell auswerten

Gast #3619200
Lesenswert?

Hallo,

ich will Daten seriell über einen USB-Adapter an den PC übermitteln und 
dort mit einem einfachen Programm auswerten.
Das Programm soll nach Möglichkeit mindestens unter XP und Win7 laufen.

Habe das Buch "USB in der Elektronik" von J. Hulzebosch vorliegen. Dort 
sind viele Programmbeispiele zur Datenübertragung für Visual Basic (VB) 
aufgeführt. Das Buch ist von 2008.
Leider werden dort, so weit ich das sehe, keine weiteren Angaben 
gemacht, welche Visual Basic Version verwendet werden soll.

Kenne mich leider mit VB in der Praxis bisher nur wenig aus.

Habe einige Literatur zu Visual Basic 2008 ( = VB.NET?) besorgt, das 
scheint aber eine ganz neue, eigene Entwicklung von VB zu sein und ich 
bezweifle, dass sie so ohne weiteres mit den Beispielen im Buch 
funktioniert (bitte gegebenenfalls korrigieren!).
Wahrscheinlich wird eher Visual Basic 6 (Visual Basic Classic) 
benötigt?!


Frage: Welche VB-Version wäre nun für mein Ansinnen ausreichend?

Hier noch mal die Anforderungen:
- Programm soll mindestens unter XP und Win7 laufen
- nach Möglichkeit einfacher Installationsaufwand
- serieller Datenaustausch über USB möglich
- einfache graphische Darstellung von Messwerten in einem 
Koordinatensystem
- nach Möglichkeit downloadbare kostenlose Entwicklungsumgebung
Gast #3619226
Lesenswert?

überhaupt kein VB.

Mache es mit C# - Seriell ist dort überhaupt kein Problem. Läuft auf 
alles aktuellen Windows Versionen ohne Zusatz Installation.

Kannst es auch mit VB.net machen, aber wenn du es erst lernen musst 
macht es wenig sinn. Dann kannst du auch C# lernen. Dafür findest du 
auch genug Beispiele im Netz.
Persönliche Seite #3619243
Lesenswert?

g_reichert schrieb:
> Das Buch ist von 2008.
> Leider werden dort, so weit ich das sehe, keine weiteren Angaben
> gemacht, welche Visual Basic Version verwendet werden soll.

Ich halte es für ziemlich unwahrscheinlich, daß ein 2008 erschienenes 
Buch sich noch mit der Steinzeitversion VB6 beschäftigt. VB6 ist nicht 
von 2006, sondern von 1998. VB.net gibt es seit 2002.

Dieses Buch wird sich von daher auf irgendeine VB.net-Variante beziehen.

Peter II schrieb:
> überhaupt kein VB.
>
> Mache es mit C#

Das ist nicht nötig. Die grundlegenden Mechanismen sind bei allen 
.Net-Sprachen identisch, nur der obendrüberliegende syntaktische 
Zuckerguss unterscheidet sich.
Gast #3619252
Lesenswert?

Rufus Τ. Firefly schrieb:
> Das ist nicht nötig. Die grundlegenden Mechanismen sind bei allen
> .Net-Sprachen identisch, nur der obendrüberliegende syntaktische
> Zuckerguss unterscheidet sich.

nötig nicht. Aber ich halte es für sinnvoll. VB ist vom Syntax her immer 
anders als übliche Programmiersprachen. mit C# wissen kann man später 
mehr anfangen also mit VB-Wissen.
Gast #3619266
Lesenswert?

Hallo,

Danke für die schnellen Antworten!

Mir persönlich ist es eigentlich relativ egal ob VB oder C#, da ich mich 
eigentlich nur von früher mit Quickbasic und von der µC-Programmierung 
halbwegs mit C auskenne und beides wohl weder mit VB, noch mit C# 
nennenswert verwandt sein dürfte.

Peter II schrieb:
> mit C# wissen kann man später
> mehr anfangen als mit VB-Wissen.

Wenn dem so ist würde ich tatsächlich eher zu C# tendieren.
Gast #3619276
Lesenswert?

Rufus Τ. Firefly schrieb:
> Tja, das liegt im Auge des Betrachters. Der Threadersteller hat ein Buch
> mit Programmbeispielen, und mit --davon gehe ich zumindest aus--
> weiterführenden Erläuterungen, da wäre es schon sinnvoll, wenn er das
> Buch auch anwenden und umsetzen kann.

wobei wir nicht wissen ob es für VB6.0 oder VB.net ist - und das ist 
nicht das gleiche.
Gast #3619288
Lesenswert?

Peter II schrieb:
> zeige uns doch mal ein Beispiel code aus dem Buch. Daran sollte man
> schon erkennen ob das VB.net oder VB6.0 ist.

Im Anhang der Inhalt des Ordners von Beispiel 1 und die Datei Module.bas


Rufus Τ. Firefly schrieb:
> Ein Buch ist irgendwelchen "Online-Tutorials" gegenüber überlegen.

Hallo Rufus, gut erkannt! Wenn ich auf die Schnelle keine 
Hardware-Literatur zu C# bekomme, bleibt es bei VB.
Angehängte Dateien:
#3619300
Lesenswert?

Also für dein Problem braucht man eigentlich kein Buch. Es gibt fertige 
Beispiele, diese muss man nur zusammensetzen.

Ob man dann VB.NET oder C# nimmt ist vollkommen egal. Beide sind vom 
.NET Framework abhängig, somit laufen sie (wenn man von umständlichen 
inoffiziellen Tricks absieht) nur auf Windows. Die Umgebung ist gleich, 
die Idee hinter der Sprach gleich. Der Syntax etwas verschieden. Der 
eine eben an Basic angelehnt, der andere an C. Je nachdem was dir lieber 
ist.

Für die serielle Schnittstelle suchst du am einfachsten nach COM Port, 
dann findest du zahlreiche Beispiele und erklärungen:
http://www.lvr.com/serial_ports_dotnet.htm
http://forum.arduino.cc/index.php?PHPSESSID=urtpuptafq82jdn4dgqnpe6ga4&topic=185085.msg1371171#msg1371171
http://www.innovatic.dk/knowledg/SerialCOM/SerialCOM.htm

Zur visuellen Anzeige kannst du auf fertige Controls zurückgreifen:
http://blogs.msdn.com/b/davidlean/archive/2009/04/20/free-chart-controls-for-net-windows-and-web-handy-links.aspx

oder du zeichnest den Graphen von selbst. Ist auch keine Kunst.


Das ganze gibt es auch fertig:
http://www.codeproject.com/Articles/42557/Arduino-with-Visual-Basic
Gast #3619308
Lesenswert?

Danke für die Antworten!

Frank M. schrieb:
> Ob man dann VB.NET oder C# nimmt ist vollkommen egal. Beide sind vom
> .NET Framework abhängig, somit laufen sie (wenn man von umständlichen
> inoffiziellen Tricks absieht) nur auf Windows.

Dann muss man in jedem Fall .NET Framework installiert haben.


Frank, Danke für die Links!!!

Ok, dann denke ich mal in Ruhe darüber nach, was der nä#chste Schritt 
wird.

Falls jemand noch weitere Ideen, Hinweise und/oder Anregungen zu Thema 
hat, immer her damit!


Eine Frage hätte ich noch: Was wären die Vor(?)/Nachteile bei Verwendung 
des alten VB?
Gast #3619317
Lesenswert?

Frank M. schrieb:
> Beide sind vom
> .NET Framework abhängig, somit laufen sie (wenn man von umständlichen
> inoffiziellen Tricks absieht) nur auf Windows.

apt-get install mono

ist das schon ein inoffiziellen Trick?

Meine Programm laufen zumindest unter Linux bis jetzt ohne Probleme.
#3619645
Lesenswert?

Peter II schrieb:
> Frank M. schrieb:
>> Beide sind vom
>> .NET Framework abhängig, somit laufen sie (wenn man von umständlichen
>> inoffiziellen Tricks absieht) nur auf Windows.
>
> apt-get install mono
>
> ist das schon ein inoffiziellen Trick?
>
> Meine Programm laufen zumindest unter Linux bis jetzt ohne Probleme.

Ich gebe vorweg zu, ich habe mich nicht ausführlich mit dem Thema 
beschäftigt, also lasse ich mich gerne eines besseren belehren.
C#, VB.NET, ... sind von MS entwickelte und gepflegte Sprachen, die die 
von MS offiziell vertriebene .NET Laufzeitumgebung benötigen, welche nur 
auf Windows läuft.
Mono ist ein Versuch .NET Progarmme auch auf Linux etc. zum Laufen zu 
bringen, in kurz die CLI platformübergreifend zu implementieren. Somit 
ist es in meinen Augen eine inoffizielle Erweiterung, da MS, die Firma 
die viele Rechte/Patente auf ihre Sprachen besitzt, Mono nicht 
unterstützt, sondern als 'Pseudokonkurrent', vermutlich gerne, 
toleriert.


Schaut man bei Wikipedia mal auf die CLI-übersicht:
http://de.wikipedia.org/wiki/Common_Language_Infrastructure
So steht dort:
".NET von Microsoft (Implementierung für Windows, die den Standard um 
zahlreiche weitere Klassenbibliotheken erweitert)"

Was mir eben sorgen bereiten würde, da durch diese Erweiterungen ich die 
Sorge hätte, dass eben nicht jedes .NET Programm auf Mono läuft.


Und tatsächlich, unter Mono findet man auf Wikipedia:
http://de.wikipedia.org/wiki/Mono-Projekt
"Anwendungen, die auf .NET 3.0, .NET 3.5 oder .NET 4.0 basieren, sind 
derzeit unter Mono unter Umständen nicht lauffähig, da bislang nur eine 
Teilmenge umgesetzt ist. Es fehlen Windows Presentation Foundation, 
Windows Workflow Foundation und teilweise Windows Communication 
Foundation"


Da ich selbst viel in Visual Basic Classic programmiere kann ich mich ja 
kaum beschweren, da auch VB 6.0 ein Framework braucht und noch stärker 
an Windows gebunden ist. Andereseits sehe ich daran die großen Nachteile 
einer solchen Abhängigkeit von einem einzigen Hersteller und ärgere mich 
jedes mal aufs neue, dass MS langsam aber sicher VB Classic Programme 
inkompatibel zu neueren Windows Versionen macht.
Schaut man in die Zukunft, so ist es offensichtlich, dass der Großteil 
aller 'Computer' (ob Smartphone, Tablet, Laptop, ...) im Haushalt nicht 
mehr mit Windows laufen und daher vielleicht gerne seine Programme auch 
auf Nicht-Windows Maschinen laufen lassen würde. Da stelle ich mir 
andere Sprachen sinnvoller vor.


Nichts desto trotz, es war nur als Anmerkung gemeint, dass falls er in 
Zukunft planen sollte bspw. die Auswertung auf seinem iOS/Android 
Smartphone/Tablet zu visualisieren er vielleicht besser dran ist eine 
andere Sprache zu verwenden/erlernen also nun viel Zeit in eine .NET 
Sprache zu investieren.
Gast #3619682
Lesenswert?

Hallo,

g_reichert schrieb:
> Mir persönlich ist es eigentlich relativ egal ob VB oder C#, da ich mich
> eigentlich nur von früher mit Quickbasic und von der µC-Programmierung
> halbwegs mit C auskenne und beides wohl weder mit VB, noch mit C#
> nennenswert verwandt sein dürfte.

Wenn Du ohnehin eine neue Programmiersprache lernen möchtest, warum dann 
nicht gleich eine moderne und plattformunabhängige Skripsprache wie 
Python?

Der Zugriff auf serielle Schnittstellen ist dank des "serial"-Moduls im 
wahrsten Sinne des Wortes ein Kinderspiel und die Visualisierung der 
Daten kann über etliche verschiedene Wege erfolgen -- über die 
Python-eigene GUI mit Tkinter/Tix, über eine externe GUI-Library wie Qt 
oder wxWidgets oder über das grandiose Python-Modul Matplotlib, das 
gerne im wissenschaftlichen Umfeld verwendet wird und nahezu keine 
Wünsche offen läßt. Und als kleines Extra funktioniert das Ganze dann 
auch unter Windows, MacOS und Linux.

HTH,
Karl
Gast #3619707
Lesenswert?

Karl Käfer schrieb:
> Wenn Du ohnehin eine neue Programmiersprache lernen möchtest, warum dann
> nicht gleich eine moderne und plattformunabhängige Skripsprache wie
> Python?

weil es immer noch Scriptsprachen sind. Also Fehler erst zu Laufzeit 
auffallen.

Frank M. schrieb:

> Mono ist ein Versuch .NET Progarmme auch auf Linux etc. zum Laufen zu
> bringen, in kurz die CLI platformübergreifend zu implementieren. Somit
> ist es in meinen Augen eine inoffizielle Erweiterung, da MS, die Firma
> die viele Rechte/Patente auf ihre Sprachen besitzt, Mono nicht
> unterstützt, sondern als 'Pseudokonkurrent', vermutlich gerne,
> toleriert.

was MS hat sind Module sie sie in ihrer Runtime hinzufügen. Wie bei Java 
einige Klassen von SUN (Oracle)

> Es fehlen Windows Presentation Foundation,
> Windows Workflow Foundation und teilweise Windows Communication
> Foundation"
ja, aber das braucht man nun nicht wirklich. Viele Projekte laufen unter 
WindowsForms und die "Windows Communication Foundation" hat nichts mit 
Seriell oder LAN direkt zu tun. Sie stellt also keine Einschränkung für 
diese diesen Anwendungsfall dar.

.net ist läuft auf ARM, x86 und 64bit ist damit also schon recht 
Platformunabängig.

> Zukunft planen sollte bspw. die Auswertung auf seinem iOS/Android
> Smartphone/Tablet zu visualisieren er vielleicht besser dran ist eine
> andere Sprache zu verwenden/erlernen also nun viel Zeit in eine .NET
> Sprache zu investieren.
und was glaubst du wie Windows Phones Programmiert werden?

Adroid ist Java, Ios ist ObektivC also hier ist man mit keiner Sprache 
überall dabei.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren