Einzelnen Beitrag anzeigen
Ungelesen 04.05.10, 20:01   #21
Nava001
Anfänger
 
Registriert seit: Jul 2009
Beiträge: 15
Bedankt: 2
Nava001 ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von kramido Beitrag anzeigen
[Ironie]Für einen absoluten Neuling ist es sicher einfacher, Dinge wie Objektorientierung, Vererbung, Delegates neben dem Tagesgeschäft wie beispielsweise Programmablaufsteuerung oder das Konzept von Variablen zu begreifen. Ein grundsätzliches Verständnis für die Prozesse, die in einem Programm vor sich gehen und die dahintersteckende Komplexität von einfachen Operationen in modernen Hochsprachen (z.B. Garbage Collection) ist sicher fehl am Platz.[/Ironie]

Ja das sind alles Sachen die das OOP ausmachen, aber für den Anfang muss man die nicht nutzen. Mann kann C# genauso sequenziell nutzen wie C. Aber schon mal versucht etwas grafisches mit c/c++ unter Windows mit der WinApi hinzubiegen.

Fenster unter C
Code:
#include <windows.h>

const char g_szClassName[] = "myWindowClass";

// Step 4: the Window Procedure
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    switch(msg)
    {
        case WM_CLOSE:
            DestroyWindow(hwnd);
        break;
        case WM_DESTROY:
            PostQuitMessage(0);
        break;
        default:
            return DefWindowProc(hwnd, msg, wParam, lParam);
    }
    return 0;
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
    LPSTR lpCmdLine, int nCmdShow)
{
    WNDCLASSEX wc;
    HWND hwnd;
    MSG Msg;

    //Step 1: Registering the Window Class
    wc.cbSize        = sizeof(WNDCLASSEX);
    wc.style         = 0;
    wc.lpfnWndProc   = WndProc;
    wc.cbClsExtra    = 0;
    wc.cbWndExtra    = 0;
    wc.hInstance     = hInstance;
    wc.hIcon         = LoadIcon(NULL, IDI_APPLICATION);
    wc.hCursor       = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
    wc.lpszMenuName  = NULL;
    wc.lpszClassName = g_szClassName;
    wc.hIconSm       = LoadIcon(NULL, IDI_APPLICATION);

    if(!RegisterClassEx(&wc))
    {
        MessageBox(NULL, "Window Registration Failed!", "Error!",
            MB_ICONEXCLAMATION | MB_OK);
        return 0;
    }

    // Step 2: Creating the Window
    hwnd = CreateWindowEx(
        WS_EX_CLIENTEDGE,
        g_szClassName,
        "The title of my window",
        WS_OVERLAPPEDWINDOW,
        CW_USEDEFAULT, CW_USEDEFAULT, 240, 120,
        NULL, NULL, hInstance, NULL);

    if(hwnd == NULL)
    {
        MessageBox(NULL, "Window Creation Failed!", "Error!",
            MB_ICONEXCLAMATION | MB_OK);
        return 0;
    }

    ShowWindow(hwnd, nCmdShow);
    UpdateWindow(hwnd);

    // Step 3: The Message Loop
    while(GetMessage(&Msg, NULL, 0, 0) > 0)
    {
        TranslateMessage(&Msg);
        DispatchMessage(&Msg);
    }
    return Msg.wParam;
}
Fenster mit C#
Code:
Form fenster = new Form();
Application.Run(fenster);
Man kann doch schon deutlich den Unterschied sehen. Mit C muss man sich einfach extrem viel Hintergrundwissen aufbauen bevor es mal richtig losgeht.
Nava001 ist offline   Mit Zitat antworten