Windows Anwendung schreiben

Cora

Grünschnabel
Hi, könnte mir mal jemand sagen wie ich am besten mit dev-c++ ein Fenster für eine Windows Anwendung erstellen kann? Dieses wxwindows hab ich schon ausprobiert aber dev-c++ macht ständig fehler wenn ich en wxwindows template kompilieren will. hätte jemand ne idee?
 
Du kannst dir doch einfach über "Datei"- "Neu->" "Projekt..." "Windows Application"
eins erstellen lassen, das läuft ja dann von ganze alleine -> Bei mir zumindest.

Aber ansonsten würde ich für den Anfang den BCB für Windows Apps vorziehen, wesentlich einfacher...

Greetz und wilkommen bei Tutorials.de
Sinac
 
Also Ich bekomm ja schonmal so kleine Anwendungen für DOS hin die z.B. diverse Berechnungen durchführen. Was genau ist denn eigentlich der Unterschied zwischen C und C++, und was ist ISO C++? Was ich eigentlich wissen wollte ist wie Ich das Design für das Fenster erstellen kann. Und wo bekomme Ich dieses BCB?
 
C++ ist im Prinzip ne Erweiterung von C, kann also alles was C auch kann und noch etwas mehr. Zum Großteil ist das, das C++ Objektorientiert ist und mit Klassen arbeiten kann. C kennt zwar Strukturen aber halt keine Klassen, Vererbung, Polymorphy etc.

Haste irgendein brauchbares Buch über C/C++?
Das ist für den Anfang sehr sehr hilfreich!

Der BCB ist leider nicht Freeware, musste mal schaun wo du den kriegst (Wir dürfen ja nicht schreiben "Brenn dirs irgendwo!" :) )
Vielleicht gibt auf http://www.borland.de ne Testversion oder so...

Greetz...
Sinac

Achja, alles gute zum Geburtstag :)
 
Hallo!

Also, erst einmal alles gute zum 19! Feier ordentlich ;-)

So, dann zu Deinem Problem:

Unter http://www.borland.com/products/downloads/download_cbuilder.html gibt es eine Testversion herunter zu laden.

Allerdings ist die Frage, ob Du, wenn Du nicht einmal den Unterschied zwischen C und C++ kennst, Du jetzt schon mal der Windows-Programmierung anfangen solltest oder aber erst einmal Dich noch ein wenig mit C++ an sich auseinander setzen solltest.

Dann zum Unterschied zwischen C und C++: C ist ein Progammiersprache, die funktional aufgebaut ist und deren Idee damit in ungefähr folgende ist: es gibt Daten und diese Daten werden zwischen Funktionen hin und her geschickt, die dann etwas mit den Daten machen (klingt sehr abstrakt, ich weiß). C++ ist eine aus C heraus entwickelte Sprache, in der zwar alles noch geht, was unter C ging, die aber trotzdem eine ganz andere Idee verkörpert, nämlich die, dass es Daten gibt und man auf diese Daten eine ganze Reihe an Operationen anwenden kann und diese werden zusammen mit den Daten definiert (ist die Basis-Idee hinter der so genannten Objektorientierung).

Dann noch zu ISO. ISO heißt nichts anderes als International Standard Organisation, die sich um internationale Standards kümmert. Da überall auf der Welt in C++ Programmiert wird, wurde irgendwann ein einheitlicher Standard vereinbart und vom ISO festgelegt, daher ISO-C++.

So, dann noch ein Tipp: solltest Du wirklich ernsthaft mit C++ anfangen wollen, dann würde ich Dir C++ - Einführung und professionelle Programmierung von Ulrich Breymann empfehlen, mit dem ich es auch gelernt habe.

MfG

Tobias
 
So, hab jetzt den Visual C++ 5.0 bekommen, soll zwar nicht der allerneueste sein aber er wird reichen. Ein bißchen Erfahrung hab Ich ja schon mit C, nur halt nicht mit der Windowsprogrammierung. Jetzt stellt sich mir aber die Frage was Ich unter "Objektorientiertes programmieren" und "Klassen" verstehen soll. Könnte mir das mal jemand so erklären daß Ich das auch verstehe? :)
 
Hm, das wird jetzt schwer ... (nein, nicht weil ich Dich zu blöd halte, sondern weil es so komplex ist)...

Also, hinter der Objektorientierten Programmierung stehen gleich eine ganze Reihe an Ideen, die ich hier mal probiere möglichst anschaulich darstellen möchte.

Instanzierung: es gibt Instanzen von Klassen, die Objekte genannt werden. Klassen kann man sich quasi als Vorlagen vorstellen, in denen beschrieben ist, wie ein Objekt aufgebaut ist, während die Objekte dann wirklich das sind, was im Arbeitsspeicher ist und mit denen gearbeitet wird. Dient dazu, dass man eben nicht alle Objekte, die man oft braucht einzelnd programmieren muss (also z.B. bei 1000 Einheiten in einem Spiel nicht jede Einheit extra sondern man nimmt eben die Klasse EInheit und machen Instanzen (Objekte) von ihr.

Kapselung: jede Klasse hat private Daten und Methoden, die nicht von außerhalb des Objekts angesprochen werden können und öffentliche Daten und Methoden, die auch von außerhalb der Klasse angesprochen werden können. Beispiel: Das Treten des Gaspedals ist qausi eine öffentliche Methode des Objekts Auto. Dagegen wäre das Einspritzen des Benzin-Luftgemisches eine private Methode, da man sie nicht direkt von außen Ausführen kann sondern eben das Gaspedal drücken muss. Für Daten gillt dann ähnliches, nur dass hier der Tacho z.B. ein öffentliches Datum wäre, während z.B. diverse Systemdiagnose-Ergebnisse dann eher private Daten währen. Dient dazu, um zu kontrollieren, dass jeder Programmteil auch nur auf den Teil zugreift, auf den es darf. Falls Du jetzt sagt, dass es das nicht gibt, dann frag mal bei der ESA nach - die haben wegen einem sollchen Fehler ihre erste Ariane 5 verloren.

Vererbung: Vererbung ist eine art Spezialisierung der Klassen. Man könnte z.B. die Klasse Säugetier nehmen und von ihr Huns und Katze ableiten: beide sind Säugetiere, aber eben spezielle. Hat den Vorteil, dass man den ganzen Code aus der Basisklasse (hier Säugetier) nicht noch einmal in den abgeleiteten Klassen neu schreiben muss sondern ihn einfach weiter nutzt.

Polymorphismus: Ist ganz ähnlich wie Vererbung, nur dient es einem anderen Zweck, nämlich um die abgeleiteten Klassen auf eine gemeinsamen Ursprung zurück zu führen. Will man z.B. auf alle Fenster eine bestimmte Methode ausführen (z.B. alle minimieren) und es aber Fenster währen von einem Unterschiedlichen Typ und währen nicht auf einen bestimmen Typ (= Klasse) zurück zu führen, dann käme man echt ins schwitzen. So führt man einfach alle Fenster auf einen Typ zurück und kann sich nun sicher sein, dass sie alle diese eine Methode zum minimieren unterstützen.

So, jetzt hoffe ich mal, dass das hilfreich war... bei Fragen, schreib doch einfah über ICQ: 140466789

MfG

Tobias
 
Also ich würd mir da echt ein paar Bücher drüber kaufen, denn OOP ist echt schwer zu verstehn, da
hab ich bald länger für gebraucht als für den Sinn von Zeigern...
Vielleicht sollteste aber echt in wenig warte mit GUIs, lieber erstmal alle Grundlagen.
Schau dir sonst mal die OOP Tutorials von Lirion... achne Darion Linsky - glaub ich heißt er - an, die sind
ziemlich verständlich.

Was haste denn bis jetzt so gemacht in C /C++?

Greetz...
Sinac

//Off Topic:
Ich kenn kein einziges Mädel das programmiert :)
 
Also Ich frag mich was eigentlich hinter der Idee öffentlicher und privater Variablen bzw. Daten steckt. Ich meine wenn ich eine Funktion habe in der Daten über eine Variable A ausgetauscht werden und Berechnungen über eine Variable B durchgeführt werden, diese aber nicht verändert werden soll, dann ändert man sie eben nicht. Wo liegt denn da eigentlich der Sinn der privaten Variablen
 
Original geschrieben von Sinac

//Off Topic:
Ich kenn kein einziges Mädel das programmiert :)

Doch da gibt es schon einige, teilweise sogar sehr gute... z.B. Melanie Schmidt. Hat schon den Bundeswettbewerb in Informatik gewonnen und bei der Central European Olympiad in Informatics (vergleichbar mit einer A-Jugend-EM) eine Bronze-Medallie gewonnen. Da muss man erst einmal hin kommen...

So, dann zu Cora:

Also, in der Theorie stimmt das schon, und es funktioniert bei 100 Zeilen, bei 1000 Zeilen und vielleicht auch noch bei 10.000 Zeilen aber dann ist Schicht im Schacht... erst recht, wenn nicht alles am Stück geschrieben wird sondern immer in Abschnitten. Außerdem kann man dadurch einzelne Komponenten austauschen, ohne dass es Auswirkungen auf den Rest des Programms hat, so lange sie sich nach außen hin verhalten, wie die alte Komponente, weil man sicher sein kann, dass die Variablen nicht von anderen Programmteilen angesprochen werden können.

MfG

Tobias
 
Zurück