Forum: PC-Programmierung Sprung von VB nach VV++


von Ralf (Gast)


Lesenswert?

Hi,

ich habe bisher ein paar kleinere Programme in VB programmiert, die mit
Microcontrollern kommunizieren, welche ich in C programmiert habe.

Logischerweise wäre es ja praktisch, wenn ich beides in C
programmiere.

Nun habe ich mir mal VC++ von MS angesehen.
Und da stellt sich mir die Frage, ob es vielleicht einen
"einfacheren" Weg gibt, VC++ zu lernen.
Ist es in VC++ tatsächlich so kompliziert, ein Programm mit grafischer
Benutzeroberfläche zu schreiben?

Als Beispiel, in VB ist die Oberfläche in "fünf Minuten" fertig.
Als ich im VC++ von MS einfach mal ein Programm angelegt habe, wurde
ich gleich mit mehreren Dateien erschlagen --> als Auswahl habe ich
"typisches Hallo Welt-Programm" gewählt, um zu sehen, wie das
aufgebaut ist.
In VB gibt es das ganze Zeug nicht, was da offenbar in VC++ nötig ist.

Gibt es einen VC++ Compiler einer anderen Firma, bei dem das nicht so
ist, oder ist das bei allen gleich?
In dem Fall bleib ich nämlich bei VB...

Ralf

von Karl H. (kbuchegg)


Lesenswert?

Erstmal: VC++ ist keine Programmiersprache, sondern
der Name einer Entwicklungsumgebung (Visual C++) von
Microsoft. Die Programmiersprache heist schlicht und
ergreifend C++.

Daher ist auch die Frage: "Gibt es einen VC++ Compiler einer
anderen Firma" sinnlos, da VC++ nun mal unweigerlich mit
Microsoft verknüpft ist. Das wäre so, als ob Du fragen
würdest: Gibt es auch noch eine andere Firma die BMW's baut.

Zur Programmierung: Nun ja. In VC++, wenn mann mit der MFC
programmiert gibt es im wesentlichen 2 Möglichkeiten:
Entweder man baut eine Dialog-basierte Applikation oder
man benutzt das Document/View Modell. Dialogbasierte Applikationen
sind ähnlich einfach zu machen wie in VB (obwohl auch hier
der Komfort von VB nie erreicht wird), während man im
Document/View Modell schon recht genau wissen sollte wie's
geht und was man tut. Dafür habe ich allerdings dort Möglichkeiten,
die Du mit VB so nicht einfach kriegen wirst: Mehrere Fenster
die gleichzeitig dieselben Daten auf unterschiedliche Weise
visualisieren und sich alle bei Änderungen in einem Fenster
updaten; Meherere gleichzeitig geöffnete Dokumente, etc.

VB ist bei all den Dingen die GUI-Lastig sind weit im Vorteil.
D.h. wenn du nur ein paar simple Berechnungen da drin machst
und ansonsten beschäftigt sich dein Program in 80% des Codes
nur mit der Oberfläche: bleib bei VB.

von Ralf (Gast)


Lesenswert?

Also, mir gehts eigentlich nur darum, eine Benutzeroberfläche einfach zu
erstellen, und das Programm in C++ zu schreiben.
Meine Frage wäre in dem Fall halt, ob es vielleicht einen Compiler
gibt, bei dem es so abläuft wie in VB:
Einfach die Oberfläche zeichnen, und mit dem Programm loslegen, aber
so, wie man eine Konsolen-Anwendung programmiert. Also einfach eine
main-Routine anlegen, und loslegen.

Ich bin mir nicht sicher, ob ich meine Frage verständlich formuliert
habe...

Ralf

von Thomas (Gast)


Lesenswert?

Der Borland C++ Builder hat einer sehr komfortable GUI-Erstellung,
ählich der von VB. Ältere Versionen bekommt man ab und an mal bei
Ebay.
Ich hab den C++ Builder 5 und mit dem kann man schon einiges machen.
Eine einfache Benutzeroberfläche hat man auch im Handumdrehen
zusammengeklickt. Das Problem ist jedoch, dass Borland die
Weitereitwicklung dieser Programmierumgebung leider weitestgehend
eingestellt hat.

von Alban (Gast)


Lesenswert?

Schau dir mal QT von Trolltech an. http://www.trolltech.com/

Da gibt es eine sehr guten GUI Designer für.


Alles frei erhältlich und das Beste, die Applikation läuft unter
Windows, Mac und Linux.

von Thomas (Gast)


Lesenswert?

Wie gut der GUI-Designer von QT ist, sieht man ja an den ganzen
verkrüppelten Linux-GUIs unter KDE. Ich kann mir zumindest nicht
vorstellen, dass so viele Programmierer was an den Augen haben.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

... und wenn's auch kommerziell genutzt werden soll, ohne horrende
Lizenzgebühren abzudrücken, dann ist ein Blick auf wxWidgets
interessant.
Damit geschriebene Applikationen laufen auch auf Mac, Windows und
Linux.
Dafür gibt es verschiedene GUI-Builder, ein zwar nicht kostenloser,
aber ziemlich günstiger ist DialogBlocks.

Recht viele verbreitete Anwendungen sind mit wxWidgets geschrieben,
allen voran das "Neue Terminalprogramm für Windows" aus dem Forum
hier, ansonsten der OpenSource-Audio-Editor Audacity, ein
OpenSource-Schaltplan- und Layout-Programm
(https://www.mikrocontroller.net/forum/read-1-332716.html#new) und
vieles mehr.

Es gibt ein recht gutes Buch, das einen in die Feinheiten der
Programmierung mit wxWidgets einweiht, und das ist seit kurzem als
freier PDF-Download verfügbar:

http://www.wxwidgets.org/book/
http://www.phptr.com/content/images/0131473816/downloads/0131473816_book.pdf

von Ralf (Gast)


Lesenswert?

Hat man denn bei den genannten Alternativen auch diesen horrenden
zusätzlichen Code für eine Oberfläche nötig wie bei MS?
Ich hatte ganz zu Anfang gedacht, dass VC++ das gleiche ist wie VB, nur
eben C++. Bei VB ist ja keine einzelne zusätzliche Code-Zeile nötig,
d.h. sämtlicher Code bezieht sich nur auf die vom Programmierer
gewünschte Funktion. Wer das "Typische Hallo Welt-Programm" in VC++
von MS über den Wizard anlegen lässt, weiss was ich meine...

Ralf

von MNR (Gast)


Lesenswert?

Ich habe bisher viel in VB6.0 und in noch mehr in VC++6.0 gemacht, und
muß dem OP zustimmen, was die Unterschiede zw. den beiden Umgebungen
bzgl. GUI- Entwicklung angeht. Ich kann mir auch nicht vorstellen, dass
wxWidgets oder QT an den Komfort von VB herankommen.

Mittlerweile arbeite ich mit C# unter 2005, und kann nur sagen: für
mich  ist ein Traum in Erfüllung gegangen! GUI wie VB (nur besser),
Sprache wie C++ (nur besser). Lediglich die Akzeptanz bei den Anwendern
leidet noch etwas, ist aber vermutlich nur eine Frage der Zeit (wie
immer bei MS ;-)).

Gruß,
Matthias

von orgel (Gast)


Lesenswert?

Hallo Ralf,

ich stimme Mathias vollkommen zu. Es gibt auch eine Entwicklungs
umgebung die Kostenlos ist:
http://www.icsharpcode.net/OpenSource/SD/
oder hier die VSC# Version von M$ für ein Jahr umsonst:
http://www.microsoft.com/germany/msdn/vstudio/express/default.mspx
und wenn das Programm vernünftig Programmiert wurde funktioniert es mit
Mono sogar unter Linux:
http://www.mono-project.de/home/
http://www.mono-project.com/Main_Page

Gruß
Uwe

von Ralf (Gast)


Lesenswert?

Danke für die Beiträge, weiter so ;-)

@MNR:

Das heisst dann, dass C# das ist, was ich suche?
Okay, auch auf die Gefahr hin, mich lächerlich zu machen:
WAS IST C#?
Was sind die Unterschiede zu C/C++?

Ralf

von orgel (Gast)


Lesenswert?


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.