Warum geht alles nicht?



  • Irgendwie gehtst du mir zu schnell an die Sache ran. Ich kann dir jetzt nicht sagen was da falsch läuft, dein Fehler gibt nichts genaues an. IM VC++ hast du noch eine Fehlerliste die alle Fehler anzeigt. Du musst ruhig an die Sache geht. Genau lesen und Schritt für Schritt folgen.
    Also nach Debbugen im VC nachsehen unter Ansicht -> weitere Fenster -> Fehlerliste
    Und dann musst du uns noch mitteillen welchen Code du verwendest. Laut Anleitung kannst du dir einen Code generieren lassen. (Windows-Fenster).



  • jo danke für den tipp, hab e das auch mal alles von a bis z durchgeprüft, und jetzt gehts, es lag daran das ich die alten teile da den link geändert habe, und keinen neuen gemacht habe, also neuen ordner ^^



  • hmm, nun habe ich eine andere frqge, es klappt jetzt wunderbar, nur wie kann ich da jetzt ein hallo welt script einfügen???

    Also wenn ich nen neues project macheist da standart mäßig in der datei:

    // xxxx.cpp : Definiert den Einstiegspunkt für die Anwendung.
    //
    
    #include "stdafx.h"
    #include "xxxx.h"
    
    #define MAX_LOADSTRING 100
    
    // Globale Variablen:
    HINSTANCE hInst;								// Aktuelle Instanz
    TCHAR szTitle[MAX_LOADSTRING];					// Titelleistentext
    TCHAR szWindowClass[MAX_LOADSTRING];			// Klassenname des Hauptfensters
    
    // Vorwärtsdeklarationen der in diesem Codemodul enthaltenen Funktionen:
    ATOM				MyRegisterClass(HINSTANCE hInstance);
    BOOL				InitInstance(HINSTANCE, int);
    LRESULT CALLBACK	WndProc(HWND, UINT, WPARAM, LPARAM);
    INT_PTR CALLBACK	About(HWND, UINT, WPARAM, LPARAM);
    
    int APIENTRY _tWinMain(HINSTANCE hInstance,
                         HINSTANCE hPrevInstance,
                         LPTSTR    lpCmdLine,
                         int       nCmdShow)
    {
    	UNREFERENCED_PARAMETER(hPrevInstance);
    	UNREFERENCED_PARAMETER(lpCmdLine);
    
     	// TODO: Hier Code einfügen.
    	MSG msg;
    	HACCEL hAccelTable;
    
    	// Globale Zeichenfolgen initialisieren
    	LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
    	LoadString(hInstance, IDC_XXXX, szWindowClass, MAX_LOADSTRING);
    	MyRegisterClass(hInstance);
    
    	// Anwendungsinitialisierung ausführen:
    	if (!InitInstance (hInstance, nCmdShow))
    	{
    		return FALSE;
    	}
    
    	hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_XXXX));
    
    	// Hauptmeldungsschleife:
    	while (GetMessage(&msg, NULL, 0, 0))
    	{
    		if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
    		{
    			TranslateMessage(&msg);
    			DispatchMessage(&msg);
    		}
    	}
    
    	return (int) msg.wParam;
    }
    
    //
    //  FUNKTION: MyRegisterClass()
    //
    //  ZWECK: Registriert die Fensterklasse.
    //
    //  KOMMENTARE:
    //
    //    Sie müssen die Funktion verwenden,  wenn Sie möchten, dass der Code
    //    mit Win32-Systemen kompatibel ist, bevor die RegisterClassEx-Funktion
    //    zu Windows 95 hinzugefügt wurde. Der Aufruf der Funktion ist wichtig,
    //    damit die kleinen Symbole, die mit der Anwendung verknüpft sind,
    //    richtig formatiert werden.
    //
    ATOM MyRegisterClass(HINSTANCE hInstance)
    {
    	WNDCLASSEX wcex;
    
    	wcex.cbSize = sizeof(WNDCLASSEX);
    
    	wcex.style			= CS_HREDRAW | CS_VREDRAW;
    	wcex.lpfnWndProc	= WndProc;
    	wcex.cbClsExtra		= 0;
    	wcex.cbWndExtra		= 0;
    	wcex.hInstance		= hInstance;
    	wcex.hIcon			= LoadIcon(hInstance, MAKEINTRESOURCE(IDI_XXXX));
    	wcex.hCursor		= LoadCursor(NULL, IDC_ARROW);
    	wcex.hbrBackground	= (HBRUSH)(COLOR_WINDOW+1);
    	wcex.lpszMenuName	= MAKEINTRESOURCE(IDC_XXXX);
    	wcex.lpszClassName	= szWindowClass;
    	wcex.hIconSm		= LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
    
    	return RegisterClassEx(&wcex);
    }
    
    //
    //   FUNKTION: InitInstance(HINSTANCE, int)
    //
    //   ZWECK: Speichert das Instanzenhandle und erstellt das Hauptfenster.
    //
    //   KOMMENTARE:
    //
    //        In dieser Funktion wird das Instanzenhandle in einer globalen Variablen gespeichert, und das
    //        Hauptprogrammfenster wird erstellt und angezeigt.
    //
    BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
    {
       HWND hWnd;
    
       hInst = hInstance; // Instanzenhandle in der globalen Variablen speichern
    
       hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
          CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
    
       if (!hWnd)
       {
          return FALSE;
       }
    
       ShowWindow(hWnd, nCmdShow);
       UpdateWindow(hWnd);
    
       return TRUE;
    }
    
    //
    //  FUNKTION: WndProc(HWND, UINT, WPARAM, LPARAM)
    //
    //  ZWECK:  Verarbeitet Meldungen vom Hauptfenster.
    //
    //  WM_COMMAND	- Verarbeiten des Anwendungsmenüs
    //  WM_PAINT	- Zeichnen des Hauptfensters
    //  WM_DESTROY	- Beenden-Meldung anzeigen und zurückgeben
    //
    //
    LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
    	int wmId, wmEvent;
    	PAINTSTRUCT ps;
    	HDC hdc;
    
    	switch (message)
    	{
    	case WM_COMMAND:
    		wmId    = LOWORD(wParam);
    		wmEvent = HIWORD(wParam);
    		// Menüauswahl bearbeiten:
    		switch (wmId)
    		{
    		case IDM_\1:
    			DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
    			break;
    		case IDM_EXIT:
    			DestroyWindow(hWnd);
    			break;
    		default:
    			return DefWindowProc(hWnd, message, wParam, lParam);
    		}
    		break;
    	case WM_PAINT:
    		hdc = BeginPaint(hWnd, &ps);
    		// TODO: Hier den Zeichnungscode hinzufügen.
    		EndPaint(hWnd, &ps);
    		break;
    	case WM_DESTROY:
    		PostQuitMessage(0);
    		break;
    	default:
    		return DefWindowProc(hWnd, message, wParam, lParam);
    	}
    	return 0;
    }
    
    // Meldungshandler für Infofeld.
    INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
    {
    	UNREFERENCED_PARAMETER(lParam);
    	switch (message)
    	{
    	case WM_INITDIALOG:
    		return (INT_PTR)TRUE;
    
    	case WM_COMMAND:
    		if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
    		{
    			EndDialog(hDlg, LOWORD(wParam));
    			return (INT_PTR)TRUE;
    		}
    		break;
    	}
    	return (INT_PTR)FALSE;
    }
    

    So, könnte mir vieleicht jeamdn sagen wie man da ein hallo welt dann einbringen kann, sry habe sowas noch nie in einem tutorial gesehen 😕



  • Hello World ist eine klassiche C++Konsolenanwenden, du programmiert eine Windowsanwendung. Für Windows-Programmierung musst du dir Docu's (WinAPI) suchen bzw. ein Buch kaufen, das gleiche gilt natürlich für c/c++. Die klassichen Hello World Programme werden mit
    Datei -> Neu -> Projekt ->Win32-Konsolenanwendung -> Konsolenanwendung angelegt.
    Viel mehr können wir dir jetzt auch nicht erklären. Jetzt musst du halt erstmal die Grundlagen von C++ lernen.
    Hast du vorher schon programmiert z.b. PHP, VB usw.? Wenn nicht ist der Einstieg in C++ bestimmt nicht leicht.



  • also, ich habe bestimmt schon 20 c++ tutoriale durchgegeangen, und habe auch die ähnlichkeit zu c++ bemerkt.

    ich weiß jetzt net ob man hier werbung machen darf, aber das soll jetzt ein beuispiel sein, keine werbung!!

    Ich kenne php und html in und auswendig! habe auch mein eigenes browsergame gemacht: www.chaosworld.de.vu

    ich liebe es halt neue programmier sprachen zu lernen, ich bin zwar erst 14 jahre alt, aber das hat ja wohl nix mit dem alter zu tuhen^^

    Nochmal zurück zu den hallo welt, ich habe ja zu anfang ein beispiel mit hallo gemacht, also ich will einfach einbauen, das ein hallo angezeigt wird.

    Mein beispiel was ich zu anfang des threads geschrieben habe, sollte eigentlich gehen, weiß aber nich wie ich das in diesem grundscript das ich gerade gepostet habe einfüge 😕

    Das stand nähmlich in keinem tutorial.

    Wenn du mir zeigen kölnntest wie ich das einfüge und wo, dann könnte ich ohne problehme weiter arbeiten mit c++ denn dann habe ich den aufbau so ziehmlich verstanden.

    Mir ist aufgefallen das c++ ziehmlich im batch mode aufgebaut ist, halt wie wie in den meisten spiele editoren wie world edit von warcraft3!

    Könntest du mir vieleciht sagen wie ich das einfüge?? 🙂



  • Es gibt mehrere Möglichkeiten. Am besten du erstellst ein Dialog manuell oder mit einen Ressourcen-Editor (nicht bei VC++ Exp.Ed. bei), dort kannst du soviel statischen Text reinstellen wie du willst oder im WM_Paint mit TextOut.

    Textout(hdc,x,y,TEXT("Hallo"),5);
    

    zwischen BeginPaint und EndPaint.

    Kauf dir wirklich ein Buch z.b. Windows-Programmierung von Charles Petzold, ist wirklich gut.

    Schau dir mal dein Quellcode, die xxxx.rc und ressourcen.h dann siehst du wir das alles funz.



  • hi,
    das Buch von Petzold ist wirklich gut ! bin auch "erst" 15 und hab soweit "alles":D verstanden. Vorher solltest du jedoch dich ein bisschen mit Konsolenanwendungen auseinandersetzen um c++ kennenzulernen (dazu empfehle ich auch das Arbeiten mit entsprechenden Büchern ). Wenn du kleinere Konsolenanwendungen programmiert hast ist der Einstieg viel leichter -> PHP hab ich auch vorher gemacht, das ist von der Logik her ne gute Vorbereitung, jedoch macht C++ ( wenn man die richtigen Ideen für Programme hat vieeeeel mehr Spaß ! )



  • mit konsolen habe ich mich ja schon auseinander gestzt, das problehm ist nun, ich finde nirgends ein tutorial wo die codes die die geben auf API gehen 😕

    Kennst du da vieleicht ein gutes tutorial?

    mein bruder kann C sehr gut, hat schon nen paar progs und spile gemacht. Das problehm ist das c und c++ ein wenig aunterschiedlich sind, und deswegen kann er mir auch nur in manchen dingen helfen.

    Also ich mache jetzt c++ seit zwei tagen und ich finde das so spannend, das ich schon 2 nächte durch gemacht habe 😃

    meine idee als programm mal irgent wann hin zu bekommen, ist diablo2 als mmorpg

    halt aufgebaut von grafik etc wie diablo2 und alle auf einen server also wie wow 🙂

    ich weiß das sowas bestimmt eine menge sehr viel zwit in anspruch nimmt, aber das ist mein traum! 🙂



  • ALso ich hab auch Visual c++ 2005 Express dann Plattform SDK dran und eigentlich kannst du dann losprogrammieren /
    mir war bis grade nicht bekannt das C sich sooo von C++ unterscheidet
    C fehlt eigentlich nur die Objektorientiertheit und sonst eigentlich nicht viel wenn ich mich nicht irre... ! ( dein bruder will dir [glaub ich ] nicht helfen 😃 )

    Bis nach Spieleprogrammieren ist es noch sehr weit, ich hab ( rein aus interesse ) Spieleprogrammierung mit Direkt X 9.0 von David Scherfgen gelesen das Verständnis ist nicht das Problem sondern die "Komplexität" und du solltest dir im klaren sein das kommerzielle Spiele in großen Teams über lange Zeiträume mit progrmmieren und planen beschäftigt sind
    ( ein gutes Buch wie der Petzold ist auf jedenfall notwendig um mit Win API zu programmieren . In dem Buch wird auch viel auf Grafik eingegangen wenn auch nur 2D und mit der GDI aber das Stellt schonmal ein Grundverständnis zu Anwendung und Funktionalität von Grafikausgaben dar.



  • ja das hilft mir nu auch nicht sehr viel weiter 😞

    Könntest du mir vieleicht sagen wo ich das buch runter laden kann?? ist doch kostenlos oder?



  • Das ist ein Buch das kann man nicht so einfach runterladen. Kauf es dir wenn du wirklich mit WinAPI arbeiten möchtest, alles andere hilft dir nicht viel weiter. Tuturials sind was für den Einstieg. Hier mal eine Liste ➡ http://www.zfx.info/DisplayThread.php?TID=16803



  • ja di tutoriale gehen irgent wie bei mir net 😕 also di für adi zumindest net, manches davon geht und manches dagegen nicht


Anmelden zum Antworten