Grund-wissen/anforderungen für WinAPI
-
Naja da wundert man sich noch warum es mit dem Forum langsam berg ab geht. Wenn du meinst irgendein dahin gekritzeltes "Tutorial" von irgendeinem 18 jährigen sei besser als das offizielle Entwicklerbuch zur Winapi von Microsoft, dan gute Nacht und ab dafür. Aber der thread artet nur unnötig aus belassen wir es jetzt mal dabei.
-
flower schrieb:
Naja da wundert man sich noch warum es mit dem Forum langsam berg ab geht. Wenn du meinst irgendein dahin gekritzeltes "Tutorial" von irgendeinem 18 jährigen sei besser als das offizielle Entwicklerbuch zur Winapi von Microsoft, dan gute Nacht und ab dafür. Aber der thread artet nur unnötig aus belassen wir es jetzt mal dabei.
I never heard such nonsens.
Du glaubst tatsächlich, daß besagte Tutorials von 18 Jährigen Hobbyisten erstellt wurden
. Dann paß auf, daß Du Erhard Henkes nicht im Dunkeln begegnest. 
Mein Lieber, mir scheint, Du redest wie der Blinde von der Farbe... bei allem Respekt.

-
hi,
tut mir leid flowers aber antworten will ich noch:
ich habe nicht geschrieben das ich tut von 18 jaehrigen benutze, ich habe gesagt das ich als quelle das internetz benutze. und mir ist igentlich relativ egal wie alt der mensch war bzw ist der deas tutorial geschieben hat. wer sagt dir denn das buecher immer die beste beschreibeung liefern? die leute die buecher darueber schreiben haben mit sicherheit schon 30 jahre erfahrung in winapi (wenns das schon so lange gibt
). also ich finde es falsch sich auf ein buch zu verlassen, sonst wuerde ja auch jeder glauben was in der bildzeitung steht.
kurz gesagt: soviel quellen wie moeglich nutzen.gruss
msp
-
flower schrieb:
völliger quatsch wiedermal. ohne petzold kommst du in der windows welt überhaupt nirgends hin. wenn du natürlich irgendein kleiner frickler sein willst dann kauf dir kein buch und folge dem rat von flow cplus
Ich finde das stimmt so nicht. Ich habe den petzold zwar und finde ihn echt gut, aber gerade die documentation aus der dxsdk, psdk oder auch der .net hilfe von mircosoft sind echt gut und machen es nicht gerade noetig ein buch zu kaufen.
Und auch halb brauchbare tutorials von 18jaerhigen sind ok fuer den einstieg, mal soll ja nur mal ne idee von den ganzen techniken bekommen, damit man weiss was man womit machen kann und ob man jetzt dx, winapi .net oder mfc lernt und wovon wieviel ... etc..
Ich mag buecher, ich hab regale voll davon nur progammier und pc buecher, (zuhause in Deutschland), den petzold habe ich zeitweise oft zu hand genommen, aber man kann das alles auch online aus der sdk holen und die ist gerade zum nachschlagen eh schneller.
-
Es gibt eigentlich gar keinen Sinn für mich dieses Buch zu kaufen.
Weil dieses Buch mir zu komplex ist!
Ich bin kein Genie das alles auf anhieb rafft und sich alles merken kann was es liest so wie ihr.
Ich weiss, es gibt viele solche Leute, aber ich bin hald eben keiner.
Wenn ihr schon nur die 2 - 3 Tut's da von der WinAPI lobt, dann ist sowieso klar das dieses Buch nix für mich ist.
Da stehen ne paar Seiten Code und dann 3-4 Zeilen Text und dann wieder Code.
Da wird kaum was erklärt, da wird einfach die Systematik erklärt aber nicht wozu jeder einzelne Befehl ist was für mich fatal ist.
Wenn ich euch sage das dieses Tut (http://tutorial.schornboeck.net) für mich gerade angemessen ist und ich auch da noch rumknorzen muss und nicht alles auf anhieb begreiffe...
Deswegen diese ewige Diskusion...!
Da ich aber nicht aufgeben will suche ich und suche.
Aber so wie es aussieht bin ich jetzt dann wirklich gezwungen das ganze aufzugeben.
Viele Leute haben so ein C++ Buch in 2-3 Tagen durchgelsen und wissen dann alles.
Bei mir braucht es meist ein Tag bis ich schon nur ne Seite wirklich verstehe und mir das meiste merken kann.
Mit dem MS_DOS wissen weiss man vieleicht was Schleifen, Zeiger, Tempates, etc. sind, aber damit kennt man unmöglich die Befehle aus der WinAPI^was in jedem Tut oder Buch verlangt wird.
Bei Tutorials die ihr einfach findet werden pro Seite vieleicht 3-4 Befehle erklärt, mehr nicht.
Zum Beispiel der String, in manchen Tut's wird einfach erklärt das er Zeichenketten mit so und so viel byte oder bit speichert.
Aber was soll man nun darunter verstehen, und wie speichert man zum Beispiel Zahlen oder Texte die diese Werte übersteigen...
Diese fragen zerstören das ganze Tutorial.MfG Sämi
P.s: Ein Tutorial ist für denn Anfänger viel Besser wenn es von nem 18 Jährigen geschrieben wurde als von einem mit 30 Jahren Programmier-erfahrung.
Ganz einfach, weil für denn Erfahreneren alles total logisch ist und er Sachen gar nicht erklärt die für ihn so logisch sind nach all dem, was bei uns aber gerade nicht der Fall ist!
-
Buch hin, Aufnahmefähigkeit her -
jeder Neuling schaut in den Windows Messageloop wie ein Schwein in's Uhrwerk.Du kommst einfach nicht drum herum, dich auch mal in unbekannte Gewässer vorzuwagen. Such dir halt ein Tutorial wo ein kleines lauffähiges Programm steht und gehe das dann Zeile für Zeile ab und was noch viel wichtiger ist,
ändere immer kleine Sache und schau dir an, was passiert.
-
Nu schmeiß mal nicht gleich die Flinte ins Korn, jeder fängt mal klein an. Und viele hier (unter anderem ich) haben zuerst die Tutorials gemacht.
Das Petzold-Buch ist auch für Anfänger gut verständlich und enthält umfangreiche und detaillierte Erklärungen. Es ist sozusagen ein Standardwerk für alle, die mit API zu tun haben, auch für Anfänger. Nix mit "3-4 Zeilen" Text. "3-4 Seiten" trifft es besser.
Bevor Du Dir das Buch kaufst, nimm Dir halt mal die Tutorials vor. Ob Du es kapierst, kannst Du erst sehen, wenn Du sie durchgearbeitet hast. Danach kannst Du Dich immer noch für oder gegen das Buch entscheiden.Viele Leute haben so ein C++ Buch in 2-3 Tagen durchgelsen und wissen dann alles.
Ja, solche Leute nennt man Fachidioten.
Den, der nach 2-3 Tagen schon "Alles" weiß, mußt Du mir mal zeigen.
-
hi,
entmutigen wollen wir dich hier alle sicher nicht geh ich mal von aus). fang erstmal an und wenn du fragen hast, dafuer ist ja das forum hier und dir wird hier mit sicherheit geholfen und auch etwas dazu erklaert wenn du es ausdruecklich moechtest und die fragen korrekt formuliert sind.
wie waers wenn du selber ein tutorial schreibst. dann lernt man auch recht gut mit und wenn du es mit eigenen worten versuchst zu beschrieben was jenes und dieses tut dann hast du es auch verstanden.
oder du versuchst zb einen ganz einfachen rechner zu basteln (zahlen von 0-9) mit addition, subtraktion, division und multiplikation. das denke ich ist fuer den anfang nicht so schwer wenn du mal verstanden hast wie ein helloworld winapi programm funktioniert. wie gesagt, wenn du fragen hast helfen wir dir hier gern.
gruss
msp
-
Ominion schrieb:
Zum Beispiel sehe ich öfters, dass einige statt dieser Methode:
Zahl += 3; Zahl2 -= 5;Diese ewig lange Variante nehmen:
Zahl = Zahl + 3; Zahl2 = Zahl2 - 5;Um sowas zu vermeiden sind gewisse Grundkentnisse nötig.
quatsch. es ist völlig egal welche variante man wählt. letztere ist meiner meinung sogar besser weil lesbarer...
-
Hi.
Na ja, also zu direkten fragen der WinAPI habe ich eigentlich nicht's dagegen.
Fangen wir doch gleich mal an
Vieleicht könnte mir ja jemand mal denn Code für Hello World in der WinAPI geben und den Zeile für Zeile erklären und auch was so alles dahinter steckt.
Vieleicht einfach mal soweit (also nicht alles an einem Tag) das ich wie schon erwähnt soweit in der Lage wäre ein einfaches Rechenprog zu schreiben.
Evtl, wäre ich noch froh für die If/Else Anweisung bezüglich der WinAPI, also wie man sie dort anwendet, evtl. noch was über die wichtigsten Variablen wie int, string und char.
Damit wäre ich für denn Anfang schon mal befriedigt
MfG Sämi
-
Dafür ist dieses Forum nicht da. Dieses Forum war ursprünglich mal als Austausch für Entwickler gedacht. Wir können und wollen hier nicht immer nur Newbie Fragen diskutieren. Nichts gegen dich Cross_Bow, aber es gibt echt genügend Möglichkeiten sich erstmal selbst etwas zu informieren und wenn du dann KONKRETE Fragen oder Probleme hast, können wir dir gerne helfen. Aber ein bisschen Eigenarbeit musst du ehrlich gesagt schon leisten.
-
CROSS_BOW schrieb:
Evtl, wäre ich noch froh für die If/Else Anweisung bezüglich der WinAPI, also wie man sie dort anwendet, evtl. noch was über die wichtigsten Variablen wie int, string und char.
Also irgendwie sieht das für mich so aus, als würdest Du denken, dass die WinAPI eine Programmiersprache ist, das ist sie aber NICHT. Die WinAPI ist die Schnittstelle für das Windows-Betriebssystem, nicht mehr, aber auch nicht weniger.
Ich hab' mich mal an einem Hello-World probiert:
#include <windows.h> // Funktion für die Nachrichtenbehandlung für unser Fenster LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); // Name unserer Fensterklasse const char szAppName[] = "HelloWorldFenster"; // Programm-Einstiegspunkt int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { // eine Variable vom Typen WindowClass anlegen WNDCLASS wc; // Es soll bei vertikalen und horizontalen Größenänderungen neu gezeichnet // werden wc.style = CS_HREDRAW | CS_VREDRAW; // Zeiger auf Nachrichten-Behandlungs-Funktion, welche aufgerufen wird, // wenn Nachrichten an unser Fenster gesendet werden wc.lpfnWndProc = WndProc; // kommt später wc.cbClsExtra = 0; // kommt später wc.cbWndExtra = 0; // Instanz-Handle weiterreichen wc.hInstance = hInstance; // Cursor für unser Fenster laden (normaler Zeiger) wc.hCursor = LoadCursor(NULL, IDC_ARROW); // Icon, welches in der Titelleiste angezeigt wird wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); // Brush für den Hintergrund laden wc.hbrBackground = reinterpret_cast<HBRUSH>(GetStockObject(WHITE_BRUSH)); // Name dieser erstellten Fensterklasse übergeben wc.lpszClassName = szAppName; // Unser Fenster hat kein Menu wc.lpszMenuName = 0; // Fensterklasse bei Windows registrieren RegisterClass(&wc); // Fenster auf Basis der oben erstellten Fensterklasse erstellen HWND hWnd = CreateWindowEx(0, // kommt später szAppName, // Name der Fensterklasse "Hello World", // Text in der Titelleiste WS_OVERLAPPEDWINDOW, // Standard-Fenster 100, // x-Position 100, // y-Position 200, // Breite des Fensters 200, // Höhe des Fensters 0, // Später 0, // Später 0, // Später 0); // Später ShowWindow(hWnd, SW_SHOW); // Fenster anzeigen UpdateWindow(hWnd); // Fenster aktualisieren // Nachrichten-Schleife starten MSG msg; while (GetMessage(&msg, NULL, 0, 0)) { // nächste Nachricht holen TranslateMessage(&msg); // später DispatchMessage(&msg); // später } return 0; // Programm beenden } // Nachrichten-Behandlungs-Funktion LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { // welches Nachricht wurde denn geschickt? switch (message) { case WM_DESTROY: // Fenster wird zerstört PostQuitMessage(0); // Nachricht schicken, um Anwendung zu beenden break; // Hierdurch wird die Nachrichten-Schleifen beendet } // Keine der oben genannten Nachrichten? // Dann Nachricht an die Standard-Nachrichten-Verwaltung weiterleiten return DefWindowProc(hWnd, message, wParam, lParam); }Mehr sage ich jetzt aber auch nicht mehr dazu.
-
mantiz schrieb:
Ich hab' mich mal an einem Hello-World probiert:
das kannste auch einfacher haben:
MessageBox (0, "Hello, World", "HelloWorldWindow", 0);
-
hmpf

-
Ziemlich sinnfreie Kommentare mantiz! Man muss in den Kommentaren irgendwie erklären warum man etwas macht, sonst bringt es nichts.
-
Er wollte jede Zeile kommentiert haben, klar macht das keinen Sinn, aber so wollte er es haben. Man kann in ein paar Zeilen Code nicht erklären, wie Windows arbeitet, dazu muss man schon ein 'wenig' mehr lesen und verstehen.
Aber ist mir auch egal, mach's besser.
-
Mantiz' Template finde ich eine gute Vorlage zum Selbstausprobieren.
Damit kann man schoen rumspielen.
Sollte direkt mal in die FAQ.EDIT: Musste man bei der Hintergrundfarbe nicht noch einen abziehen oder so?
-
SeppSchrot schrieb:
Musste man bei der Hintergrundfarbe nicht noch einen abziehen oder so?
Ich glaube das muss man nur machen, wenn man sich nen Brush von den Systemfarben holt. Keine Ahnung, wie da die defines heißen. Ich hab' bisher immer mit direkten Farbangaben gearbeitet und das hat auch immer gepasst. Im obigen Beispiel ist der Hintergrund auf jeden Fall weiss.

-
Irgendwie komme ich mir verarscht vor

"Mission erfüllt"

-
mantiz: *daumen hoch*
*bookmark* Das hilft mir als WinAPI-Neuling auch sehr.net: Natürlich geht das sicher auch in einem Befehl, aber dafür lernt man bei dieser ausführluichen Variante doch etwas mehr. *g