www.mikrocontroller.net

Forum: PC-Programmierung schnelle GUI mit wxWidgets für win-prog einsteiger?

Autor: Moritz E (Gast)
Datum: 03.05.2008 22:59

Hallo Forum,

konkret möchte ich eine Messdaten-Anzeige und Aufbereitung
(Visualisierung) auf der PC-Seite für eine Schaltung über RS232
zusammenstricken, und das möglichst fix, also mit möglichst gutem
Aufwand/Nutzen-Verhältnis.

Dazu habe ich C/C++ Grundlagen drauf, die in den letzten Jahren eher
brach gelegen haben, mit konkreter Windows-Programmierung habe ich noch
nie was gemacht, konkret heißt das, das ich keinerlei erfahrung mit c
STL oder win apis habe, das Programm für meinen AVR habe ich komplett in
ASM geschrieben (inzwischen auf 20kb angewachsen, ich weiß da macht
langsam c mehr sinn, es sah anfangs nicht nach dem Umfang aus)

Jetzt ist die Frage, wie kriege ich das am schnellsten hin. Mit
irgendwelchen Skriptsprachen will ich mich nicht noch belasten (Qt oder
Py), und jede Zeile per Hand schreiben ist auch nicht drin. Daher habe
ich mir in den letzten Tagen mal einige Nächte zu wxWidgets um die Ohren
geschlagen (aufgrund von einigen Erwähnungen in diesem Forum).

Da die Forumsbeiträge aber inzwischen auch schon um die 2 Jahre her sind
interessiert mich mal eine aktuelle Einschätzung von euch, besonders
gute Erfahrungen würde ich gerne hören ;). Den wahren Durchbruch
scheints da aber noch nicht gegeben zu haben, zumindest hatte ich
schwierigkeiten ausführliche aktuelle Dokumentationen, Tutorials zu
finden (SF.net, wxwidgets.org, wxCode, wxCommunity habe ich schon
abgegrasst). Aber vermutlich liegt das Problem darin, dass die
opensource-Gemeinde naturgemäß nicht unbedingt den Anfänger im Auge hat.

Auf mich macht wxwidgets einen sehr schicken eindruck, besonders da es
einige spezialisiertere opensource wx-Komponenten gibt, die eigentlich
alles nötige für mein Vorhaben bieten sollten, wie
Messwert-Verarbeitungs und Visualisierungs komponenten (z.b. wxCTB).

Als Toolchain tendiere ich nach einschlägiger Forenlektüre zu VisualC++
(vielleicht auch nur Code::Blocks) als IDE, DialogBlocks (ein wirklich
feines Programm!) mit wxwidgets als GUI Framework. wxwidgets scheint
selbst keine direkten I/O sachen anzubieten, daher habe ich mir wxCTB
angeschaut, was Serialport kann, denn ich will mich soweit wie möglich
aus windows-APIs raushalten.

Ein paar konkrete Sachen machen mir noch kopfzerbrechen:

- Am ende soll eine unabhängige .Exe dabei rauskommen, also nichts mit
managed code oder interpretiertem zeug. Wie funktionert es da mit den
Libs, muss ich A) die sourcecodes der Libs einzeln kompilieren und am
ende einlinken, oder B) erst includen und dann in einem mal builden?

- Das Programm soll auf gängingen WindowsOS laufen, mindestens XP und NT
oder 2000, kann das neue Visual C++ 2008 Express für alle Wins
compilieren?

- Da ich gerad dabei bin, hat jemand Erfahrungen mit VC Express 2008
gemacht? :) Ich hätte sonst noch ein richtiges Visual Studio 2003, aber
das dauert ja einen Tag allein zum installieren. Kommt man mit VC
Express gut über die Runden?


Um einigen kopfschüttelnden Kommentaren vorzubeugen der Art "Kauf dir
erstmal ein Buch, so wird das nie was", ich bin mir bewusst, dass es
nicht der einfachste Weg ist in so ein riesiges Thema einzusteigen (wie
ich in meinen nächtlichen Ausflügen herausgefunden habe), andererseits
stehe ich etwas unter Zeitdruck, wenn ich das Ding nicht in einigen
Tagen zusammenstricken kann, müsste ich es erstmal verschieben bis ich
etwas mehr Zeit habe (Semesteranfang ;).
Allerdings habe ich auch gemerkt, das ich mir die zusammenklickerei und
klauerei aus den Internet als Lernmethode viel besser liegt, als erstmal
einen 1000-seitigen Schinken durchzuarbeiten. Ich hoffe ja, das ich aus
den vielen Sources mir das meiste nur zusammenklauen muss, und die
eigentliche Arbeit codeschnipsel kleben und make-tool konfigurieren sein
wird :)

Ich wäre euch dankbar für alle Kommentare, tipps, und hinweise rund um
die angesprochenden Themen, auch allgemeiner Art zur Grundsteinlegung
eines (opensource-orientierten) Einstiegs in die Windows-Programmierung.
In den letzten Tagen hat mich das Fieber schon gepackt, und würde auch
gerne langfristig in das Thema eintauchen. Die einzigen "No-Gos" sind
für mich zur Zeit nur Unix oder "Nicht-C", sowie Skriptsprachen (Wenn
sich Py zum Libs bauen vermeiden lässt), irgendwie muss man sich ja
beschränken ;).

Gruß,
Moritz
Autor: Thomas B. (detritus)
Datum: 04.05.2008 00:05

Moritz E wrote:

> Jetzt ist die Frage, wie kriege ich das am schnellsten hin. Mit
> irgendwelchen Skriptsprachen will ich mich nicht noch belasten (Qt oder
> Py), und jede Zeile per Hand schreiben ist auch nicht drin. Daher habe
> ich mir in den letzten Tagen mal einige Nächte zu wxWidgets um die Ohren
> geschlagen (aufgrund von einigen Erwähnungen in diesem Forum).

Qt ist keine Skriptsprache, sondern was ähnliches wie wxwidgets.

> Da die Forumsbeiträge aber inzwischen auch schon um die 2 Jahre her sind
> interessiert mich mal eine aktuelle Einschätzung von euch, besonders
> gute Erfahrungen würde ich gerne hören ;). Den wahren Durchbruch
> scheints da aber noch nicht gegeben zu haben, zumindest hatte ich
> schwierigkeiten ausführliche aktuelle Dokumentationen, Tutorials zu
> finden (SF.net, wxwidgets.org, wxCode, wxCommunity habe ich schon
> abgegrasst). Aber vermutlich liegt das Problem darin, dass die
> opensource-Gemeinde naturgemäß nicht unbedingt den Anfänger im Auge hat.

Kann jetzt nur für Qt sprechen und da siehts ganz gut aus. Die Doku
taugt was und es gibt sehr aktive communities.

> Auf mich macht wxwidgets einen sehr schicken eindruck, besonders da es
> einige spezialisiertere opensource wx-Komponenten gibt, die eigentlich
> alles nötige für mein Vorhaben bieten sollten, wie
> Messwert-Verarbeitungs und Visualisierungs komponenten (z.b. wxCTB).

qwt.

> Als Toolchain tendiere ich nach einschlägiger Forenlektüre zu VisualC++
> (vielleicht auch nur Code::Blocks) als IDE, DialogBlocks (ein wirklich
> feines Programm!) mit wxwidgets als GUI Framework. wxwidgets scheint
> selbst keine direkten I/O sachen anzubieten, daher habe ich mir wxCTB
> angeschaut, was Serialport kann, denn ich will mich soweit wie möglich
> aus windows-APIs raushalten.

qextserialport.

> - Da ich gerad dabei bin, hat jemand Erfahrungen mit VC Express 2008
> gemacht? :) Ich hätte sonst noch ein richtiges Visual Studio 2003, aber
> das dauert ja einen Tag allein zum installieren. Kommt man mit VC
> Express gut über die Runden?

Habs mal installiert, aber gleich wieder gelöscht. Braucht ewig viel
Platz, ist langsam und mit der Bedienung bin ich einfach nicht warm
geworden.
Dann hab ich QT installiert und als IDE Qdevelop eingesetzt. Alles
kostenlos.
Ich hab mir auch mal Wxwidgets angeschaut, aber irgendwie keine
brauchbare IDE dafür gefunden. wx-devcpp war SEHR instabil.


Und: 20kb in Assembler? Respekt...
Autor: Thomas Linder (tom)
Datum: 04.05.2008 08:27

Du könntest auch die .NET Variante verwenden (die mit dem klassischen
C++ jedoch nur mehr die Syntax gemein hat). Dann könntest du ab der
Version 2.0 des .NET Frameworks die SerialPort Klasse verwenden, die
genau für solche Sachen gedacht ist :)
Alternativ könntest auch auf die einzig "richtige" .NET Sprache
umsteigen: C# ;)

Antwort schreiben

Die Angabe einer Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
  • Aussagekräftigen Betreff wählen
  • Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
  • JPEG-Dateien (.jpg) nur für Fotos verwenden, Schaltpläne, Screenshots usw. als PNG oder GIF anhängen

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel






webmaster@mikrocontroller.netImpressumWerbung auf Mikrocontroller.net