Ich bin gerade dabei einen Rechner zu programmieren. Jetzt weiss ich allerdings nicht wie ich eine Variable als puplic(global) deklarieren kann? Zudem weiss ich auch nicht wie man einen String anlegt. Unter Borland Builder C++ habe ich keine Probleme gehabt. Wie kann man einen Button Click abfragen?
Du solltest das Design deiner Klasse überdenken. In C++ sollte man public-Variablen außer bei PODs (falls du nicht weißt, wofür POD steht, gibt es kein außer) niemals einsetzen, da sie das Prinzip der Kapselung verletzen, der Grundpfeiler der objekt-orientierten Programmierung. Globale Variablen sollte man auch nur äußerst sparsam einsetzen (soll heißen, so gut wie gar nicht). Wieso schreibst du vor jeden Elementvariablen-Zugriff "this->"? Die Funktion neu::Form1::button1_Click sieht so aus, als würde sie bei Klick des Buttons "1" gesendet werden. Vermutlich kannst du auf die anderen Button-Klicks genauso reagieren, also mit dem Wizard die OnClick-Methoden hinzufügen (vielleicht reicht auch ein Doppelklick im GUI-Editor).
Ich habe unter -Visual C++ Projekte -> Windows-Forms Anwendung erstellt. Ich kann doch meinen Code dann unter z.B. Form1.h einfügen oder. Mir fällt da auf das ich nur eine Header Datei habe. Keine CPP wurde eingestellt. Unter Borland Builder C++ war es irgendwie anders. Gibt es im Internet ein gutes deutsche Forum wo ich Beispiele mir mal anschauen kann?
Ich habe unter -Visual C++ Projekte -> Windows-Forms Anwendung erstellt. Ich kann doch meinen Code dann unter z.B. Form1.h einfügen oder. Mir fällt da auf das ich nur eine Header Datei habe. Keine CPP wurde eingestellt. Unter Borland Builder C++ war es irgendwie anders. Gibt es im Internet ein gutes deutsche Forum wo ich Beispiele mir mal anschauen kann? ------------------------------------------- Chris: Was meinst du genau damit? Du solltest das Design deiner Klasse überdenken. In C++ sollte man public-Variablen außer bei PODs (falls du nicht weißt, wofür POD steht, gibt es kein außer) niemals einsetzen, da sie das Prinzip der Kapselung verletzen, der Grundpfeiler der objekt-orientierten Programmierung. Globale Variablen sollte man auch nur äußerst sparsam einsetzen (soll heißen, so gut wie gar nicht).
> Was meinst du genau damit?
Das heißt, dass ich mich (leider?) nicht mit WinForms auskenne.
Ich habe daher versucht, eher allgemeine Ratschläge zu geben. Und wie
o.g. sind Variablen, die public oder gar global sind, in C++ böse.
Ich bin mir nicht sicher, ob es hier überhaupt WinForms-Programmierer
gibt.
Macht es eigentlich Sinn WinForms zu programmieren oder soll ich .Net oder MFC programmieren.Ich möchte von Borland Builder C++ wegkommen. Was wäre da dann am besten für mich geeignet? Ich möchte auf jedenfall nichts mit Internet Netzwerk usw. zu tun haben. Das brauche ich nicht.
Kann mir hier jemand sagen wo ich Beispiele und Infos über WinForms (VisualStudio.NET 2003) im Internet herbekommen kann?
Kann mir hier jemand sagen wo ich Beispiele und Infos über WinForms (VisualStudio.NET 2003) im Internet herbekommen kann?
Wie lege ich dort eine globale Variable wie int oder string an? Wie kann ich z.B. einen int Wert in String und umgekehrt umwandel?
Hi Du vergleichst Äpfel mit Birnen. .NET ist was anderes als MFC. .NET ist die "neue", auf einer VM basierende Technologie von Microsoft die zukünftig als wichtigste Programmierschnittstelle von Windows eingesetzt werden soll. MFC ist deren "alte" Klassenbibliothek die man IMHO nicht mehr einsetzen sollte. WinForms wiederrum ist die GUI-Bibliothek in der .NET-Klassenbibliothek. Wenn man also mit WinForms arbeiten soll sollte man IMHO auch die .NET Haus- und Hofsprache C# verwenden. BTW: Wenn du nicht weißt wie man in $PROGRAMMIERSPRACHE eine globale Variable anlegt solltest du dir zu selbiger mal ein Buch besorgen. Matthias
Hi was willst du den lernen? C++? Dann ist IMHO http://www.planetpdf.com//article.asp?contentid=6634&ra sehr gut geeignet. Kost als PDF auch nichts. Für C# kann ich dir leider kein Buch empfehlen. Das ging mit Kenntniss von Java und ein paar Beispielen ziemlich problemlos. Matthias
Und zwar brauche ich da ein Buch, das mir zeigt wie ich in WinForms C++ Oberflächen programmieren kann. z.B. ComboBox, DataGrid, Button usw. Für Borland Builder C++ habe ich auch so ein Buch.
Hi da kaum jemand Windows Forms von C++ aus nutzt (Wenn .NET dann auch mit C# oder zur Not VB) wird es da auch kaum Bücher drüber geben. Ich kann mich aber auch täuschen. Wenn du also wirklich diesen Weg gehen willst solltest du dir erstmal die Sprache C++ genauer anschauen. Dann ist die Verwendung irgend einer Klassenbibliothek das kleinste Hinderniss. Matthias
Dem kann ich nur beipflichten. Ich würde niemandem empfehlen, sich gleich auf die Programmierung grafischer Oberflächen zu stürzen; das geht selten gut. Erstmal solltest du die Sprache in ihren Grundzügen beherrschen. Dann wüsstest du: 1) Wie man globale Variablen anlegt 2) Wieso man das bleiben lässt. Wenn du beide Punkte, nicht nur den ersten, erreicht hast, kannst du dir langsam GUI-Bibliotheken ansehen. btw, WinForms (.NET) kannst du nicht mit C++ programmieren, soweit ich weiß. Das geht nur mit "managed C++", ein C++ mit kleineren Veränderungen/Erweiterungen (u.a. die VM, die Matthias erwähnte). Zu MFC wird dir vermutlich keiner raten, da diese Bibliothek enorm viel Altlasten mitschleppt und so ziemlich das Gegenteil eines guten Designs darstellt; das sieht man z.B. schon an den Prefixen ("CString", "CBla", ...), die aus grauer Vor-C++-Standard-Zeit stammen und in heutigen C++-Bibliotheken nichts mehr zu suchen haben (Stichwort namespace). Ich kann dir gtkmm empfehlen, da solche Programme (wenn man ein wenig aufpasst) unter allen drei wichtigen Desktop-Betriebssystemen laufen: Linux, Mac OS X, Windows. Um irgendeine Bibliothek für grafische Oberflächen einzusetzen, solltest du aber schon recht sicher mit Klassen und Vererbung umgehen können. Zeiger sind obligatorisch, Funktionszeiger solltest du zumindest als solche erkennen können.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.