Ładny brzuch

Chciabym si troch oderwa od programowania obiektowego i Delphi :) Czy kto mgby poda jaki kod prostego prorgamu okienkowego (nie konsolowego!) w Pascalu? I czy jako kompilatora mona uy Delphi albo jaki jego skadnik? Z gry thx ;)

Najlepiej uczy si na wasnych bdach.
GG#: 4391798 E-mail: krzema12@wp.pl



eby zrobi okienko w Pascalu, to chyba si trzeba odwoa do funkcji WinApi...A co do kompilatora, to raczej powiniene uy tego co masz z Pascalem :)

We all living in Amerika,
Amerika ist Wunderbar.

Oto kod winapi do pascala (wzity z dev-pascal:

program WindowsApp;
{$MODE DELPHI}
uses Windows;

const AppName = 'WindowsApp';
function WindowProc(Window: HWnd; AMessage, WParam,
LParam: Longint): Longint; stdcall; export;

begin
WindowProc := 0;

case AMessage of
wm_Destroy : begin
PostQuitMessage(0);
Exit;
end;
end;

WindowProc := DefWindowProc(Window, AMessage, WParam, LParam);
end;

{ Register the Window Class }
function WinRegister: Boolean;
var WindowClass: WndClass;
begin
WindowClass.Style := cs_hRedraw or cs_vRedraw;
WindowClass.lpfnWndProc := WndProc(@WindowProc);
WindowClass.cbClsExtra := 0;
WindowClass.cbWndExtra := 0;
WindowClass.hInstance := system.MainInstance;
WindowClass.hIcon := LoadIcon(0, idi_Application);
WindowClass.hCursor := LoadCursor(0, idc_Arrow);
WindowClass.hbrBackground := GetStockObject(WHITE_BRUSH);
WindowClass.lpszMenuName := nil;
WindowClass.lpszClassName := AppName;
Result := RegisterClass(WindowClass) <> 0;
end;

{ Create the Window Class }
function WinCreate: HWnd;
var hWindow: HWnd;
begin
hWindow := CreateWindow(AppName, 'Windows App',
ws_OverlappedWindow, cw_UseDefault, cw_UseDefault,
cw_UseDefault, cw_UseDefault, 0, 0, system.MainInstance, nil);

if hWindow <> 0 then begin
ShowWindow(hWindow, CmdShow);
UpdateWindow(hWindow);
end;

Result := hWindow;
end;

var AMessage: Msg;
hWindow: HWnd;

begin
if not WinRegister then begin
MessageBox(0, 'Register failed', nil, mb_Ok);
Exit;
end;

hWindow := WinCreate;
if longint(hWindow) = 0 then begin
MessageBox(0, 'WinCreate failed', nil, mb_Ok);
Exit;
end;

while GetMessage(@AMessage, 0, 0, 0) do begin
TranslateMessage(AMessage);
DispatchMessage(AMessage);
end;
Halt(AMessage.wParam);
end.

-------------------
Kompilujesz Pythona

Wejd na http://blueboardent.hk.pl

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •