@reemrev: Visual Basic ist ein einziges - proprietäres - Herumgeklickse, das man es benutzen kann um irgendetwas kennenzulernen ist klar. Dafür scheinen mir die Anschaffungskosten zu teuer, aber warum nicht QuickBasic, GFABasic für einen Atari ST Emulator auf dem PC, Omikron Basic etc. Da habe ich tatsächlich das Programmieren und nicht das Herumklicken im Vordergrund der Überlegungen. Es gibt zwei Probleme beim Verwenden von Visual Basic: 1) Man wird vom eigentlichen Programmieren durch die Eigentümlichkeit der Syntax abgebracht und 2) erlaubt es keine Portierung dieses 'Tempelhupfen'-Codes. Hinter jedem Button ein geiler Code, kontraproduktiv - auch was den Spaß an der Freud betrifft.
Was ist so schwierig an C ?
Es gibt ein paar Datengrundtypen, die Möglichkeit zusammengesetzter Datentypen mittels struct sowie Redefinitionen von Speicherstrukturen mittels union.
Die Anweisungen sind an zwei Händen abzuzählen, es gibt Unterprogrammaufrufe (Funktionsaufrufe), Datenwerte gibt es als Rückgabe von Funktionen sowie als lokale Variablen, Parameter einer Funktion, globale Variablen. Zeiger auf Datenwerte oder auf Zeiger werden mittels *Zeiger bzw. **ZeigeraufZeiger vereinbart, es gibt Konstanten, Makros, bedingte Kompilierungen mittels #if #endif.
Was soll daran schwer sein eine C-Funktion aufzurufen, eine switch-Anweisung anzufertigen, eine for- while- do-while Schleife zu programmieren(=hinzuschreiben) ?
Funktionen wie printf oder TextOut muß ich schon voraussetzen können, daß man bereit ist, diese Aufrufe in den Code hinzuschreiben, im Ggsatz zu Hin- und Hergeklicke unter Visual Basic mit anschließender Codelawine (sehr angenehm beim Ausdrucken). Miniprogramm mit buchstäblich 20 auszudruckenden Seiten, soll das wirklich für den Anfang einfacher sein als C ? Oder mehr Spaß bringen ? Sogar schneller zu realisieren sein ? Da hab ich so meine Zweifel.
Warum nicht LCC32 runterladen und installieren ? Probieren geht über Studieren, in diesem Fall. Die Entwicklungsumgebung erzeugt einem bei der Anlage eines neuen Projekts die Grundgerüstdatei(en) für den C Code des Windows-Programms, alles was man tun muß, ist, dieses Programm zu kompilieren und in der Window-Funktion - zuständig für das Hauptfenster - unter case WM_PAINT: den Aufruf der Funktionen BeginPaint, TextOut mit einem String "Hello World" sowie EndPaint reinzuschreiben. (Cursor auf einen (Windows-)Bibliotheksfunktionsnamen, F1 drücken --> Hilfe zu dieser C-Funktion)
Von der Installation der IDE bis zum fertigen Hello World Programm dauert es ca. 5 Minuten ...
Beispiel gefällig ?
In der Funktion MainWndProc unmittelbar oberhalb der default: - Marke in der switch-Anweisung kommt folgender Block hin:
case WM_PAINT:
hdc=BeginPaint(hwnd,&Paintstruct);
TextOut(hdc,100,100,"Hello World",11);
EndPaint(hwnd,&Paintstruct);
break;
und am Anfang der Funktion gleich nach der geschweiften Klammer auf {
( gleich nach dem Funktionskopf LRESULT CALLBACK MainWndProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) )
die Definiton zweier Datenvariablen DeviceContext und Paintstruktur:
HDC hdc;
PAINTSTRUCT Paintstruct;
'&' (Ampersand) ist der 'address of' Operator, um die Adresse einer (Daten- resp. Zeiger-) Variable zu erhalten, so auch um die Adresse der Strukturvariable Paintstruct zu erhalten, vielmehr um diese Adresse an die Funktion BeginPaint sowie EndPaint zu übergeben.
mfg Kikakater
|