GUI Programmierung und PDF Ausgabe
-
Hallo zusammen.
Ich habe einen einfachen aber praktischen Datenlogger, der via USB mit
dem mitgelieferten Tool die Daten als csv Datei ablegt. Bis dato öffne ich die
Datei mit Excell, mache mir ein Diagram, beschrifte das Diagramm mit Titel,
Zeitangaben und Diagrammen und drucke das ganze aus - bzw. speichere es als
pdf Dokument.Meine Frage: Wenn ich so etwas "automatisiert" machen will - wäre da C++, also
das Visual Studio - die richtige Wahl? Ich möchte halt wenn ich mich damit
tiefer beschäftige, ein Werkzeug erlernen mit dem ich so schnell nicht an
die Grenzen stoße.Grüße
Mike
-
Natürlich kann man sowas mit C++ machen. Aber ganz ehrlich, wenn das einzige ist, dass Du aus einer csv-Datei automatisiert ein Diagramm erstellen willst, dann gibt es dafür wesentlich einfachere Alternativen. Zum Beispiel indem Du ein geeignetes Kommandozeilen-Werkzeug verwendest. Eine Möglichkeit wäre gnuplot oder, wenn es ausgefallener ist, R (http://www.r-project.org/). Da kannst Du Dir ein Skript schreiben, das Deine Daten einliest entsprechend labelt, das plottet und in einer pdf-Datei speichert. Bis Du was vergleichbares in C++ zusammen hast dürfte ne ganze Weile vergehen.
-
Klar kannst du dir in C++ da selbst etwas schreiben (und dafür Visual Studio benutzen). Wesentlich schneller (und wahrscheinlich auch hübscher) kommst du aber vermutlich ans Ziel wenn du einfach gnuplot oder ähnliches benutzt.
Ansonsten fällt mir noch Matplotlib ein, mit dem man in Python sowas schön hinbekommt.
-
Hallo,
danke für die raschen Antworten. Gnuplot hört sich für mich nach einem Linux
Tool an. Ich hab aber Windows 7 am Start und möchte nicht gleich einen Betriebssystemwechsel machen. Auch würde ich gerne keine unübersichtlichen
Toolchains züchten.Wenn es in C++ z.B. Klassen/Bibliotheken oder sonst irgendwas griffiges
gäbe, mit denen man eben ein Feld (oder auch Felder) einem "Diagramm"-Objekt
übergibt, selbiges noch konfiguriert und platziert (in einem pdf-Dokument, Innerhalb einer Gui, oder zur Not separat auf dem Bildschirm (es gibt noch die Druck-Taste)), wäre das glaub ich das was ich will.
Gibt es hierzu einen Buch- oder Sitetip? Also wo man mal sieht, wie man aus
Win7 raus derartiges bewerkstelligt? Der nächste Schritt (Wenn mich die
Motivation nicht verlässt) wäre, direkt in meiner GUI den Datenlogger anzusprechen, also entweder ich sprech den USB Port direkt an oder ich "steuer"
die mitgelieferte Anwendung quasi fern.... Also wenn Ihr sagt Ihr wüßtet wo Ihr
nachschlagen wollen würdet um sich das beizubringen - wär ich Euch echt sehr sehr dankbar!Grüße
Mike
-
gnuplot, R, Octave etc. pp. ist alles auch als Windows Variante erhältlich.
Daten einlesen, beschriften, Plot erzeugen und als PDF speichern dürften in gnuPlot/Octave (2. nutzt idr auch Octave) weniger als 20 Zeilen sein.
-
da du etwas mit gui machen willst würde ich nach möglichkeiten mit c# und .net suchen, weil sich die gui-oberflächen relativ bequem zusammenklicken lassen.
fürs plotten käme eventuell die .net chart in frage, guck doch mal in der bildersuche, ob etwas für dich dabei ist
wie man usb ports benutzt und pdfs erstellt, finden sich eine menge beispiele im netz, einfach google fragen.
-
Nimm Excel-VBA, da du ja Excel sowieso schon hast.
In Excel eine CSV einlesen ist sehr einfach, auch kannst du sehr komfortabel den Makrorecorder einsetzen, d.h. du führst deine Aktionen manuell einmal durch und schaust dir den rekordeten VisualBasic Code an.
Das kann man auch automatisieren, d.h. du erstellst eine xlt-Datei mit den Excel-Makros, startest diese und übergibst als Parameter deine CSV-Datei.
-
hallo,
warum willst du das ganze eigentlich mit externen tools machen? warum implementierst du das ganze nicht selbst?
so wie ich das jetzt verstehe, erzeugt dein programm bereits eine csv datei.
warum implementierst du das excel zeugs nicht? du hast bereits so nen datenlogger geschrieben, dann solle das eigentlich kein problem sein.
das einizg größere problem dürfte das pdf sein, das format ist nämlich sehr kompliziert.
-
Hi,
ich hab den Datenlogger nicht geschrieben - der ist gekauft, inkl. der Modularis-Hardware. Der Logger legt entweder ein Matlab-m-File oder eine csv Datei ab. Für
meine kleine Wetterstation optimal. Ich möchte aber halt schon seit längerem
mal wieder selber coden - und da wär diese Automatisierungsaufgabe halt was
interessantes/brauchbares...Danke für den Excell - Tip! Wußt ich gar nicht dass das geht - damit ist meine
Motivation schon fast wieder im Keller. S einzige was mich ärgert: Ich war mal recht fit mit der Programmierung - und bin seit Windows 2000 kam, quasi zum
User Dummie verkommen... darum frag ich so seltsame grundlegende Dinge...Wär super wenn Ihr mir Bücher oder gute Tutorials zeigen könntet, bei denen es nicht nur darum geht, wie man if switch und co benutzt, sondern z.B. dlls einbindet (vor allem wenn man außer der Datei und der Kenntniss was es für ein Gerät eigentlich ist, keine vernünftige Dokumentation dazu hat), wie man z.B.
einen Druckauftrag startet - um z.B. ein "pdf" zu erzeugen, wie man Kurven plottet...C# hab ich gehört - was sich dahinter verbirgt, insb. .net platform weiß ich nicht. Ist das was völlig Neues? Als "Gelegenheitsprogrammierer" such ich halt
eine zeitlose und mächtige Sprache - eben C. Was ich mir jetzt mal angeschaut hab ist Python. Das liest sich ziemlich gut - vor allem weil man da scheinbar auch Guis programmieren, und vor allem C einbinden kann. Oder täusch ich mich da?Grüße
MikeLG
-
EinNeuling schrieb:
Hi,
ich hab den Datenlogger nicht geschrieben - der ist gekauft, inkl. der Modularis-Hardware. Der Logger legt entweder ein Matlab-m-File oder eine csv Datei ab. Für
meine kleine Wetterstation optimal. Ich möchte aber halt schon seit längerem
mal wieder selber coden - und da wär diese Automatisierungsaufgabe halt was
interessantes/brauchbares...Danke für den Excell - Tip! Wußt ich gar nicht dass das geht - damit ist meine
Motivation schon fast wieder im Keller. S einzige was mich ärgert: Ich war mal recht fit mit der Programmierung - und bin seit Windows 2000 kam, quasi zum
User Dummie verkommen... darum frag ich so seltsame grundlegende Dinge...Wär super wenn Ihr mir Bücher oder gute Tutorials zeigen könntet, bei denen es nicht nur darum geht, wie man if switch und co benutzt, sondern z.B. dlls einbindet (vor allem wenn man außer der Datei und der Kenntniss was es für ein Gerät eigentlich ist, keine vernünftige Dokumentation dazu hat), wie man z.B.
einen Druckauftrag startet - um z.B. ein "pdf" zu erzeugen, wie man Kurven plottet...C# hab ich gehört - was sich dahinter verbirgt, insb. .net platform weiß ich nicht. Ist das was völlig Neues? Als "Gelegenheitsprogrammierer" such ich halt
eine zeitlose und mächtige Sprache - eben C. Was ich mir jetzt mal angeschaut hab ist Python. Das liest sich ziemlich gut - vor allem weil man da scheinbar auch Guis programmieren, und vor allem C einbinden kann. Oder täusch ich mich da?Grüße
MikeLG
windows kann nativ nicht in pdfs drucken, da braucht man extratools (z.b. pdf-creator), unter linux geht das übrigens.
python ist finde ich für einen anfänger gut, weils einfach ist, eine große bibliothek mitbringt und man schnell an gute ergebnisse kommt.