Stelle mich vor und bitte höflich um Hilfe



  • Dürfte ich, wie ich es häufig tue, vorschlagen nicht Windows Forms zu verwenden, sondern den QTCreator samt QT-Framework?
    Der QtCreator ist ansich schon eine schicke IDE und die QT-Libraries bieten umfangreiche Funktionalitäten für diverse Programmieraufgaben, besonders für die GUI-Programmierung, um die es dir (dem OP) scheinbar geht.

    Vorteile:
    Einstellungen braucht man, sofern man schon den passenden Compiler via Visual Studio o.ä. auf dem System hat, gar nichts und kann direkt loslegen. QtCreator bietet ebenso wie die Windows Forms eine Oberfläche zum "zusammenklicken" von Guis.
    Das Design der Library ist sehr schick und die Dokumentation phänomenal. (sowohl im Creator direkt als auch im Internet auf den Seiten von Nokia).

    Zudem ist das ganze Plattformunabgängig d.h. wenn man nur QT oder Standard C++ Funktionen nutzt, ist der Code direkt cross-kompilierbar.
    QT ist in C++ geschrieben und orientiert sich in vielen Dingen (ich kenne beileibe nicht alles) an der Standardbibliothek von C++.

    Würde nie wieder was anderes nehmen (Windowss Forms und wxWidget waren beides GRAUSAM im Vergleich).



  • Ich werde es auch bald wieder mit QT zu tun kriegen und habe sehr viel Angst hiervor:

    https://en.wikipedia.org/wiki/Qt_(framework) schrieb:

    Qt uses standard C++ but makes extensive use of a special code generator (called the Meta Object Compiler, or moc) together with several macros to enrich the language.

    Ich Bauer will nicht fressen 😞



  • nwp3 schrieb:

    Ich werde es auch bald wieder mit QT zu tun kriegen und habe sehr viel Angst hiervor:

    https://en.wikipedia.org/wiki/Qt_(framework) schrieb:

    Qt uses standard C++ but makes extensive use of a special code generator (called the Meta Object Compiler, or moc) together with several macros to enrich the language.

    Ich Bauer will nicht fressen 😞

    vielleicht verstehe ich das falsch aber das macht doch boost ebenso, nicht?



  • asfdlol schrieb:

    nwp3 schrieb:

    Ich werde es auch bald wieder mit QT zu tun kriegen und habe sehr viel Angst hiervor:

    https://en.wikipedia.org/wiki/Qt_(framework) schrieb:

    Qt uses standard C++ but makes extensive use of a special code generator (called the Meta Object Compiler, or moc) together with several macros to enrich the language.

    Ich Bauer will nicht fressen 😞

    vielleicht verstehe ich das falsch aber das macht doch boost ebenso, nicht?

    Nein, Boost arbeitet zwar auch mit Makros, aber es gibt keinen Präprozessor, der zusätzliche Sourcedateien erzeugt.



  • Ich schätze Qt zwar sehr, muss aber auch sagen, dass sich Qt für jemanden der viel Standard C++ insbesondere auch C++11 schreibt, wie eine andere Sprache anfühlt. Qt hat zum einen Erweiterungen der Sprache, aber nutzt auch für viele Standardfälle eigene Lösungen.



  • manni66 schrieb:

    Nein, Boost arbeitet zwar auch mit Makros, aber es gibt keinen Präprozessor, der zusätzliche Sourcedateien erzeugt.

    Das ist genau der Punkt. Sowohl Boost selber als auch mit Boost geschriebene Programme lassen sich mit jedem standardkonformen Compiler ohne zusätzliche Hilfsmittel übersetzen. Zudem Fügt sich Boost meist recht harmonisch in die STL ein und wirkt damit wie eine Erweiterung.



  • Der Einstiegstext ist zwar lang, aber verständlich. Es geht um den richtigen Einstieg mit welchem Compiler
    und welchem Framework bei Grundkenntnissen in C.

    Viele bisherigen Antworten verrennen sich in Details, die hier gar nicht gefragt sind - und bringen somit keine Hilfe.

    WindowsForms war angesprochen und erscheint mir auch geeignet. Dafür braucht man VisualStudio C#
    und einen guten Einstieg.

    Ich empfehle dafür das Buch von Thomas Theis: http://www.c-plusplus.net/forum/313049



  • Gibts eigentlich ein Buch, dass sich an "erfahrenere" C++ler richtet, die für GUI-Zwecke auf C# wechseln möchten, bei Software, deren GUI auf jeden Fall nicht Cross-Platform sein muss, also beispielsweise Auftragsspezialarbeiten? Also das so ein bisschen von dem ausgeht, was man in aktuell modernem C++ so macht und weshalb und wie man das in C# ganz anders macht?
    Ich hab als außenstehender da nicht den nötigen Einblick, aber würde die Tage mal gerne "effektiv" in die Richtung studieren...



  • dot schrieb:

    Wenn du Anwendungen mit Fensterchen und Knöpfen etc. meinst: Hängt davon ab, was genau du dafür verwendest. Wie gesagt: Wenn du schnell und einfach GUI zusammenklicken willst, nimm C#.

    µ schrieb:

    Ich kann dot nur zustimmen. C# ist genau das richtige für Deine Zwecke 👍
    Wir haben hier auch ein eigenes Unterforum für C#.

    volkard schrieb:

    Also willst Du gar nicht in die wunderbare Welt des Programmierens einsteigen.
    Ja, nimm C#.

    berniebutt schrieb:

    WindowsForms war angesprochen und erscheint mir auch geeignet. Dafür braucht man VisualStudio C# und einen guten Einstieg.

    VC++Fee schrieb:

    Ich schau mir morgen mal ausgiebig C# an, ob ich damit gut klar komme. Melde mich dann wider um zu berichten.
    LG Susanne

    So, aus dem einen angekündigten Tag sind ein paar Tage "rumspielen" geworden.

    Was gibt es zu sagen: "Vielen Dank an dot, µ, berniebutt und volkard und die Anderen" !
    Ihr habt mir in einer nie dagewesenen Eile (quasi über Nacht 😉 ) DEN richtigen Tip gegeben. C# ist es, was ich zum "schnellen Programmieren" (zusammenklicken und noch etweas Code dazu) (nicht abwertend gemeint) benötige.
    Volltreffer. 👍 👍 👍
    Jetzt habe ich schön was zu tun. Passt genau zum jetzigen Wetterbericht.
    Schlechtes Wetter = kalt und nass = viel daheim = viel lernen möglich.
    Fazit: Einarbeiten++ 😃

    Allerdings werde ich die C++ Schiene nicht ganz verlassen.
    Hier arbeite ich mich mal tiefer ein. Nicht aber im "Klickverfahren", sondern schön bodenständig. Ich denke zum reinen C++ programmieren (ohne Visual, ohne "klicken") kann ich das: Visual Studio 2012 Ultimate-Paket gut nutzen, oder?

    TNA schrieb:

    Wenn es unbedingt C++ sein sollte würde ich mich noch etwas mit den Grundlagen beschäftigen und dann ein modernes Grafik Toolkit wie openFrameworks oder Cinder nehmen. Da ist der Einstieg recht einfach, Mann kann viele standard C++ Techniken weiterverwenden und die Programme laufen praktisch auf allen relevanten Betriebssystemen.

    Da komm ich bestimmt mal zu gegebener Zeit darauf zurück.
    Hab dann auch wieder einige Fragen wie z.B. "Erste Schritte" (Welche Oberfläche? reine Consolen-Anwendungen oder ??? ("kein Geklicke")) für folgendes:

    Hätte da nämlich viele Ideen.
    Ein Traum wäre es, wenn ich -nach gründlichem Einarbeiten- z.B. über Schnittstellen (werde ich benötigen, denke ich) z.B. Schrittmotoren ansteuern könnte, oder DMX-Controller (Lichtsteuerung) oder ähnlich einer SPS oder CNC-Maschine einen Roboter oder Motoren ansteuern könnte, oder Initiatoren, Schalter auswerten. Oder eine Heizungsanlagensimulation und und und.

    Hierfür ist ja C++ perfekt.

    Könnte so z.B. für meine Klasse mit 2 Schrittmotoren einen kleinen 2-Achsen-Roboter bauen, der auf eintretende Ereignisse reagiert (z.B. if (Teil zum greifen auf der Werkbank vorhanden) {nehm es} else {hole ein neues Teil aus de Kiste} ) oder if (lichtschrankensignar == true) {führe Notausfunktion aus}.
    Phu, mir gehen gerade die Gäule durch...... 😃

    Alles zu seiner Zeit.

    Jetzt ist erst mal Visual C# dran und wenns mir danach ist C++ (das Reine 😃 ).

    Ganz lieben Dank an Euch für die rasche und sehr kompetente Hilfe.
    Ich hoffe, dass ich in der C#-Abteilung auch auf solch hilfsbereite und kompetente Leute treffe.

    Falls ich Euch mal in Sachen Maschinenbau/Metallbe.- und verarbeitung helfen kann, werde ich das selbstverständlich gerne tun.
    Das Leben ist nicht nur ein Nehmen !

    berniebutt schrieb:

    Ich empfehle dafür das Buch von Thomas Theis: http://www.c-plusplus.net/forum/313049

    Stimmt ! Ist top. Hab in den letzten 2 Tagen die ersten 150 Seiten durchgearbeitet und bin sehr zufrienden.

    Bis bald,
    LG Susanne



  • Feedback nach 2 Wochen (muss ja auch mal sein).

    Wie im letzten Beitrag ja schon geschrieben, bin ich Euch sehr dankbar für die Erste Hilfe.

    C# war der richtige Tip. Da kann ich mit Visual C# schnell und leicht einfache Win-Progs erzeugen.

    Allerdings möchte ich mich (wie im letzten Beitrag ausführlicher beschrieben (bitte nachlesen)) dahingehend einarbeiten, dass ich mal kleine Steuerungen (wie z.B. einen einfachen Plotter oder Klein-Maschinensteuerung so ähnliche Dinge) realisieren kann (dann evt. in C++).

    Wenn mir hier jemand weiterhelfen kann, wie ich vorgehe (welche Gebiete/Bereiche müssen erschlossen/erlernt werden (z.B. Schaltugen, E-Technik etc.)), wäre ich sehr dankbar.

    Liebe Grüße
    Susi



  • Vielleicht wäre das für dich:

    http://de.wikipedia.org/wiki/Raspberry_Pi



  • Ja, das wäre eine gute Lösung, um bei einer Ansteuerung einer Klein-Maschine nicht einen PC anschließen zu müssen.

    Was ich aber meinte ist:

    -Ich programmiere z.B. eine Steuerung für eine Klein-Maschine ähnlich einer SPS-Steuerung.

    Wie geschieht aber die Verbindung zwischen PC und Maschine.
    Z.B. Wenn Kolben ausgefahren soll rote Birne leuchten, ansonsten die Grüne.

    Da muss man doch Sensoren etc. abfragen.

    Noch ein Beispiel:
    Auf der einen Seite steht der PC (oder z.B. der Raspberry) und auf der anderen Seite z.B. ein Schrittmotor und ein Sensor (z.B. Handtaster).
    Wenn nun der Taster betätigt wird, soll mein Prog das erkennen und dem Schrittmotor mitteilen, dass 120 Schritte ausgeführt werden sollen.

    Das Prog könnte ich ja in C++ schreiben, aber wie sieht die Verbindung zur "Außenwelt" aus?

    LG Susi



  • VC++Fee schrieb:

    Wie geschieht aber die Verbindung zwischen PC und Maschine.

    Üblicherweise über Kabel oder Funk. 😕



  • Oh kleveres Männle,
    Das ist mir auch klar.

    Ok, nochmal für Dummies (die eigentlich schlau sind 😉 ):

    Hier der PC mit meinen C++ Prog.
    Dort der Schrittmotor.
    Daneben ein Handtaster (Sensor).

    Dazwischen Kabel, am Gehäuse des PCs, des Schrittmotors und am Sensor angebunden.

    Leider erkennt mein Prog. nicht, dass der Taster betätigt wurde und warum erhält der Motor kein Signal ?

    Wie auch, der Schrittmotor kann nichts mit einem USB / VGA / Serial und wie sie allles heißen - Singal anfangen.

    Und der Sensor liefert auch nur 5,0 V bei Betätigung.

    .....

    Jetzt weißte, was ich meine, oder ? 😉

    LG



  • VC++Fee schrieb:

    Oh kleveres Männle

    Offenbar nicht clever genug, um zu verstehen, was das Maschinenbau dozierende Weible umtreibt.
    Macht aber nix, ich warte einfach darauf, daß jemand anders es versteht.



  • Ok, ganz langsam, zum Verstehen.

    Nehmen wir mal Folgendes an:

    Es gibt eine kleine Maschine, die hat 1 Zylinder und 1 Schrittmotor.
    Der Motor (der ein Förderband antreibt), soll so lange laufen, bis ein istallierter Sensor anschlägt. Ein Teil, dass auf dem Förderband liegt, wird also so lange transportiert, bis es vor dem Sensor kommt.
    Nun soll der Motor stoppen und der Zylinder ausfahren.
    Danach Zylinder wieder zurück und Motor wieder laufen und so weiter und so fort.

    Mit einer SPS-Steuerung ist das kein Problem.
    PC an SPS-Einheit anschließen, erstelltes Programm rüberspielen.
    SPS regelt alles über die Ein- und Ausgänge. Wissen vorhanden und sitzt !

    Nur ist dies bei so einer kleinen "Maschine" wie mit Kanonen auf Spatzen schießen.

    Ich möchte deshalb Gleiches mit dem PC und ´nem C++ - Programm realisieren.
    Aber da es dann hier keine SPS-Einheit als "Vermittlung" zwischen PC und Maschine gibt, suchte ich hier nach Möglichkeiten, dass die Maschine mein C++-Prog. "versteht".

    Nicht mehr, aber auch nicht weniger.

    Update:
    Als ich in den 90ern mit etwas C zu tun hatte, wurde C gepriesen als:
    "Die Sprache, mit der man nahezu alles machen kann. Egal ob man eine Heizung, Maschinenabläufe oder Roboter steuern möchte"
    Nun fragte ich mich seit jeher:
    "Was ist das Verbindungsglied zwischen einem PC (mit dem C Prog.) und z.B. einer Heizungsanlage ?"
    OK, ganz, ganz einfache Steuerungen wurden über die Serielle Schnittstelle angesteuert.
    Heizungen haben oft SPS-Steuereinheiten integriert.
    Aber es geht auch mit C++.
    Wie läuft das in der heutigen Zeit ab?

    2. Update:
    Bin auf folgendes Stichwort gestoßen:
    Relaiskarte
    Da muss ich mal tiefer bohren.

    LG



  • VC++Fee schrieb:

    "Die Sprache, mit der man nahezu alles machen kann.[..]

    VC++Fee schrieb:

    Nun fragte ich mich seit jeher:
    "Was ist das Verbindungsglied zwischen einem PC (mit dem C Prog.)[..]

    Wenn Du z.B. auf einen Sensor in Echtzeit reagieren willst (in der realen Welt mußt Du, sonst zerlegt sich der Roboter selbst!) dann hilft dir ein normales Userspace-Programm unter einem Standard-PC-Betriebssystem herzlich wenig.
    Solche Steuersoftware - oft geschrieben in der gepriesenen Programmiersprache C - läuft deshalb üblicherweise nicht auf einem PC, sondern auf einem Microcontroller (Die Arduino-Plattform wurde genannt), oder auf einer *Trommelwirbel* ... SPS ;).
    Unter DOS mag das noch möglich sein (ich bitte um Korrektur, sollte das falsch sein), aber unter Linux/Win/OSX/... gibt es keinerlei Garantien.
    Es ließe sich vielleicht auf Treiberebene etwas erreichen, aber man ist dann trotzdem auf die Zuverlässigkeit einer Kombination aus - in Relation zur Aufgabe - massiv überkomplexer Hardware(PC) und Software(OS) angewiesen.

    PC-Software ist für Lego-Roboter ok (und die kommen mit ihrer eigenen Schnittstellenhardware), in der realen Welt braucht man ein Echtzeitsystem.

    Wenn ich üben wollte, würde ich mal nach Arduino(Atmel) googlen, oder z.B. PIC.



  • @Caligulaminus
    O komm stell dich mal nicht blöder als du bist.

    @VC++Fee
    Die einfachste Variante bei PCs wäre den Parallelport zu benutzen.
    Dummerweise geht das unter Windows nicht brauchbar, da es keine Befehle gibt mit denen man die einzelnen Pins des Parallelport ansteuern könnte.

    Wenn dir 4 digitale Inputs und 2 digitale Outputs reichen, kannst du auch die Handshakeleitungen der seriellen Schnittstelle dafür verwenden.
    Die Inputs fragt man dabei unter Windows z.B. mit ClearCommError ab. Die Outputs kann man mit EscapeCommFunction steuern.

    Ansonsten brauchst du irgend ein spezielles Teil das diese Anschlüsse drauf hat. Das kann ne Steckkarte sein oder was was man über USB anhängt.
    http://www.amazon.com/USB-Based-24-Channel-Digital-Module/dp/B003DV6W9G
    ...



  • Ok, danke ihr Beiden, das hilft mir schon mal weiter.

    Ich habe zwischenzeitlich mal einen ehemaligen Mitschüler (aus der 90er Jahren - C-Schulung) per Mail erreicht. Er hat sich seit damals auch nicht mehr mit C beschäftigt, konnte mir aber noch den -evt. heißen- Tip geben, dass unser Lehrer damals erzählte, dass er C-Progs auf dem PC schreibt und dann auf einen Chip oder ähnlichem "brennt", also sein C-Prog. fest auf diesem Chip speichert (Stichwort: Eprom, bin mir aber nicht sicher). Dieser Chip sitz dann auf einer kleinen Platine, mit der er die entsprechende Maschine steuert.

    Muss mich da weiter einarbeiten.
    Bin für alle weiteen Tips dankbar.

    Werde erst mal die bisherigen Tips nachlesen / Links besuchen.

    Vielen Dank.

    LG
    Susi



  • hustbaer schrieb:

    O komm stell dich mal nicht blöder als du bist.

    Hmmm *grübel* ... ich nehm' das jetzt einfach mal als Lob.

    hustbaer schrieb:

    [..]Ansonsten brauchst du irgend ein spezielles Teil[..]

    Ich bin mir jetzt nicht sicher, ob Du mein Elaborat überhaupt gelesen hast.


Anmelden zum Antworten