[C++ Windows Forms VS 2010 Express] Wie kann ich zwei Forms miteinander vernetzen

Ich habe noch nie mit Forms gearbeitet aber ich habe schon soetwas wie ELIZA oder Mastermind gemacht.
Ich habe die Lernbücher:
- Spielend C++ lernen
- Coding for Fun mit C++
- C++ Referenzen
- Das Ensteigerseminar C++ Objektorientierte Programmierung
Auf C# unzusteigen wäre damit ziemlich teuer erkauft.
 
Und hast du diese Bücher jetzt schon durch? Denn das Deklarieren von Variabeln und das Includieren von Headern sind ja wirklich absolute Basics.
 
Also mit Spielend C++ lernen und Coding for Fun ja.
Mit C++ Objektorientierte Programmierung und C++ Referenzen noch nicht.
(In C++ Objektorientierte Programmierung sehe ich gerade Die Variablendeklaration)
Ich weiß bisher das deklarieren von Headern mit der Funktion #include möglich ist.
 
Ok, dann mal so in Kürze und vielleicht nicht ganz vollständig:
#include ist eine Präprozessoranweisung. Der Präprozessor geht über deinen Quellcode bevor der Compiler rangeht. Er führt dann alle Präprozessoranweisung aus. #include weist den Präprozessor an die Datei, die du da angibst an dieser Stelle einfach reinzukopieren. Mehr passiert da nicht.

Und bevor du einen Typ verwenden kannst muss er bekannt sein. Da der Compiler in Compilereinheiten arbeitet (.cpp-Dateien) muss in jeder Datei alles was verwendet wird bekannt sein. Daher brauchst du auch solche Header (im Gegensatz zu C#).
 
in dem Buch C++ Objektorientiertes Programmieren steht ein wenig mist:

Code:
void main(void) {
...
}

void main kann nicht funktionieren, da main immer etwas zurückliefern muss.
Dann dürfte das also nicht funktioniern eigentlich.

Grüße
YannikTold

P.S.: EDIT
DickUndDa hat gesagt.:
void main()
- nix wird zurück geliefert - laut standard IMHO böse...

Sir_RamDac hat gesagt.:
Mann sollte vieleicht noch anmerken das void main() in C++ nicht
erlaubt ist.
 
Zuletzt bearbeitet:
Bin durch mit dem C++ Buch.
[Off Topic = Nicht auf Windows Forms bezogen]
Was mich jetzt noch interessieren würde, da das nicht drin stand:
1. Wie kann ich Musik einbinden bzw. ich habe die Datei audiostream.h (Standartheader) includiert und weiss nicht wie man damit arbeitet.
2. Wie bringe ich einem Programm bei, wenn ich zum Beispiel die Taste 2 drücke, dass es sich beendet?
Code:
#include <austream.h>
#include <iostream>

using namespace std;

int main() {
	cout << "Möchten Sie das Programm starten?" << endl;
	cout << " [1] Ja"<< endl;
	cout << " [2] Nein" << endl;
	int wahl;
	if(wahl==1) {
	cout << " Jetzt kommt Musik " << endl;
	}
	else {

	}
}

Grüße
YannikTold
 
Audiostream ist nicht ein Teil der Standardbibliothek, da kann man dir leider auch nicht weiterhelfen, das kann alles möglich sein. Schau dir halt mal bisschen an, was darin so deklariert wird.

2. Ich denke bei deiner Lektüre bist du auch mal auf std::cin gestossen, nicht?

Grundsätzlich würde ich dir noch davon abraten using namespace std; zu verwenden. Damit kriegst du früher oder später Probleme mit Namen und Überladungen. Setze using situationsbezogen ein, also zum Beispiel:
C++:
int main()
{
       using std::cout;
       cout << "Hallo!";
}
 
Audiostream ist nicht ein Teil der Standardbibliothek, da kann man dir leider auch nicht weiterhelfen, das kann alles möglich sein. Schau dir halt mal bisschen an, was darin so deklariert wird.

2. Ich denke bei deiner Lektüre bist du auch mal auf std::cin gestossen, nicht?

Grundsätzlich würde ich dir noch davon abraten using namespace std; zu verwenden. Damit kriegst du früher oder später Probleme mit Namen und Überladungen. Setze using situationsbezogen ein, also zum Beispiel:
C++:
int main()
{
       using std::cout;
       cout << "Hallo!";
}

Nein. In diesem Lehrbuch (wenn ich kein anderes gelesen hätte wüsste ich es nicht) stand nur cin und cout und ausserdem wurde nie iostream includiert.
Jetzt mal eine andere Frage:
Ich möchte ein Programm erstellen, welches nach 1 Stunde nachdem es geöffnet wurde aus einem bestimmten Ordner Daten löscht.
Die Anregung ist eine Idee vom Speicherbug von Anno 1404.
Was ich weiß:
Es muss ein Dateipfad angegeben werden.
Es muss aufhören, wenn nur noch die neueste Datei vorhanden ist, zu löschen.
Was ich allerdings nicht weiß:
Wie bringe ich dem Programm bei, dass es diesen Dateipfad verwendet
Wie kann das Programm die Meldung: "sind sie sich sicher, dass sie die Datei xy löschen möchten?" bejahen?
Wie wird das gemacht, dass es von hinten nach vorne löscht und die neueste Datei nicht löscht?
Ich verwende in diesem Fall:
VS 2008 und WX Widgets, da der Code übesichtlicher ist.
MFG

YannikTold
 
Zurück