Autor Beitrag
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 03.10.03 21:11 
Es gibt eine neu Version der nonVCL Tutorials.

Inhalt:
1 Fenster und Controls
1.1 Fenster
1.2 Textausgabe in Labels
1.3 Schaltflächen
1.4 Checkboxen und Radiobuttons
1.5 Arbeiten mit Eingabefeldern
1.6 Arbeiten mit Listboxen
1.7 Arbeiten mit der Combobox
1.8 Ein Menü hinzufügen
1.9 Dialoge aus Ressourcen aufrufen
1.10 Problem mit TAB und Alt+<Shortcut>
2 Standarddialoge
2.1 Vorwort
2.2 Dateien öffnen und speichern
2.3 Die Schriftart ändern
2.4 Suchen- / Ersetzendialog
3 CommonControls
3.1 Vorwort
3.2 Fortschrittsanzeige
3.3 Die Statuszeile
3.4 Tooltips / Hints
3.5 Die Toolbar
3.6 Das IP-Adress-Eingabefeld
3.7 Die Trackbar
3.8 Das Listview-Control
3.9 Der Treeview
3.10 Die Rebar
3.11 Das SysLink-Control
4 Systemfunktionen 132
4.1 Der Timer ohne die VCL
4.2 Verbindung zur Taskbar Notification Area
4.3 Hotkeys und Shortcuts
4.4 Datum und Uhrzeit
4.5 Die Verwendung von INI-Dateien
4.6 Die Registry
5 GDI
5.1 Grundlagen der GDI
6 Sonstige Themen
6.1 Subclassing
6.2 Ressourcenskripte erstellen
7 Hilfedateien erstellen und nutzen
7.1 HLP-Hilfedateien
7.2 CHM-Hilfedateien

Verfügbare Formate:
- CHM-Hilfe Format mit Setup
- PDF Format
- Die Sourcen der Demos mit und ohne Setup

Um was geht es?
Unter der nonVCL-Programmierung versteht man die Programmierung ohne die Verwendung der VCL. Es gibt keine Komponenten, keine Formulare in dem Sinne ... usw. Stattdessen greift man direkt auf das API (Application Programmers Interface) zurück. Wenn Sie bereits Erfahrung mit der VCL-Programmierung haben, dann wird Ihnen zuerst klar werden (müssen), dass Sie sich bei reinen API-Programmen um viele Dinge selbst kümmern müssen. Der Nachteil dabei ist, dass die Quelltexte solcher Projekte u.U. etwas umfangreicher und mitunter auch unübersichtlicher werden. Andererseits haben die kompilierten Exe-Dateien nur einen Bruchteil der Größe der VCL-Versionen. Und das ist für viele Programmierer Grund genug, kleinere Tools komplett ohne VCL zu entwickeln.

Allerdings dürfen Sie die Vorteile der VCL nicht vergessen. Unserer Meinung nach ist es nicht vertretbar, ein umfangreiches Projekt mit vier, fünf oder mehr Formularen ausschließlich auf API-Basis zu entwickeln. Sicher wird sich das realisieren lassen, aber hier sind Sie mit der VCL eindeutig schneller, und Sie können bequemer arbeiten.
Ideal ist die API-Programmierung bei der Entwicklung von kleineren Projekten und Tools, die vielleicht nur ein oder zwei Fenster oder Dialoge haben und bei denen der Funktionsumfang nicht so gewaltig ist.

Im Gegensatz zum herkömmlichen Weg müssen Sie bei nonVCL-Programmen generell für eins sorgen: Ihr Programm muss aktiv bleiben. Deshalb besteht ein typisches nonVCL-Grundgerüst aus drei Teilen -
der Hauptfunktion (in PASCAL durch begin und end. gekennzeichnet)
der Nachrichtenschleife
der Nachrichtenfunktion

Beispiel:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
// Nachrichtenfunktion
function WndProc(wnd: HWND; uMsg: UINT; wp: WPARAM; lp: LPARAM):
  LRESULT; stdcall;
begin
  Result := 0;

  case uMsg of
    WM_CREATE:
      // Funktionen ausführen
    WM_DESTROY:
      PostQuitMessage(0);
    else
      Result := DefWindowProc(wnd,uMsg,wp,lp);
  end;
end;

// Hauptfunktion
var
  msg : TMsg;
begin
  // Fensterklasse registrieren, & Fenster erzeugen
  { ... }

  // Nachrichtenschleife
  while(GetMessage(msg,0,0,0)) do
    begin
      TranslateMessage(msg);
      DispatchMessage(msg);
    end;
end.

Bevor Sie jedoch beginnen nonVCL-Programme zu schreiben, sollten Sie sich mit den Grundlagen der Programmierung in PASCAL respektive ObjectPascal (Delphi) auskennen. Es macht nicht viel Sinn, völlig ohne Vorkenntnisse in diese Materie einsteigen zu wollen. Frust dürfte wohl die Folge sein.


Außerdem sind weitergehende API-Dokumentationen unbedingt empfehlenswert. Als erstes wären da die Win32-API-Hilfedateien von Borland zu nennen. Diese liegen Delphi bei, sind allerdings auch veraltet und (in Bezug auf neue Controls) unvollständig. Sofern möglich nutzen Sie also gleich die Quellen von Microsoft, als da wären:
das Microsoft Developers Network (MSDN) (www.msdn.microsoft.com)
das Platform SDK (PSDK) (www.microsoft.com/ms...atformsdk/sdkupdate)

Die Tutorials bauen weitgehend aufeinander auf. Wenn Sie also nicht gezielt ein bestimmtes Thema suchen, dann ist es ganz sinnvoll, sie der Reihe nach durchzuarbeiten.

Download:
www.luckie-online.de/Tutorials
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 28.09.04 01:01 
Version 2.0 der "Win32API-Tutorials für Delphi" ist ab jetzt verfügbar.

Was neu ist, kann man in der Win32API_History.txt nachlesen.

Mathias und ich haben uns dazu entschieden die CHM-Version, zu Gunsten des neue Hilfeformates HxS von Microsoft, auslaufen zu lassen. Die CHM-Version steht ab jetzt nicht mehr zur Verfügung und wird auch nicht mehr ergänzt werden.

Die Downloads der Tutorials als PDF und HxS Version und die Sourcen der Demos sind wie immer auf meiner Seite bei den Tutorials zu finden: tutorials.luckie-online.de

Das Tutorial umfasst mittlerweile 286 Seiten, Tutorials zu 39 Themen der Programmierung mit Delphi ohne die VCL, umfangreiche Demos zu jedem der angesprochenen Themen.

Mein Forum, welches ich kurzfristig auf Grund von Traffic-Problemen schließen musst, habe ich auch wieder pünktlich zum Releastermin der neuen Tutorial Version eröffnet, so dass Problem, Fragen und Bugs dort gepostet werden können: Support-Forum. Dort kann auch als Gast gepostet werden, so dass keine Anmeldepflicht besteht.

Ich wünsche viel Spass mit der neuen Version und hoffe auf reges Feedback.
pHaRyNx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 94

win 95, win 2000, win xp, VISTA, Ubuntu 8.04
Delphi 7 PE
BeitragVerfasst: Sa 27.05.06 19:14 
Zitat:

Homepage von Michael Puff
404 Not Found

???
dieses tutorial scheint leider nicht mehr zu existieren wie's aussieht. auch unter der neuen url finde ich nichts.
ich interessiere mich sehr für diese win32-api-tuts, daher wäre ich sehr dankbar, wenn ich sie lesen könnte. kann mir jemand diese evtl. zukommen lassen, oder gibts noch eine adresse, unter welcher sie noch verfügbar sind?

mfg pHaRyNx
edit
ok, hat sich erledigt. sieht so aus, als wäre die seite kurz down gewesen...