Ne razumijem sta ti nije jasno u TurboVisionu, mozda ti onako glupo izgleda na prvom pogledu, ali kad krenes je super
Code:
program TVprvi;
uses App;
type TMojaAplikacija=Object(TApplication)
...... //dodajes procedure
procedure nesto;
end;
//ovdje radis procedure
procedure nesto;
begin
...
end;
var MA:TMojaAplikacija;
begin
MA.Init;
//ovdje pozivas procedure
MA.nesto;
MA.Run;
MA.Done;
end;
Evo mali kod koji ima MainMenu i izbacuje MessageBox(..) na klik.
Code:
program probaaa;
uses App,Objects,Menus,Drivers,Views,MsgBox; (*uniti bez kojih ne mozes radit*)
type TMojaAplikacija=Object(TApplication)
procedure InitMenuBar; virtual; (*procedura koja radi MainMenu*)
procedure HandleEvent(var Event: TEvent); virtual; (*procedura koja se poziva na neki event , recimo na OnClick event u MainMenu-u*)
end;
procedure TMojaAplikacija.InitMenuBar;
var R: TRect;
begin
GetExtent(R);
R.B.Y := R.A.Y + 1;
MenuBar := new (PMenuBar, Init(R, NewMenu(
NewSubMenu('~F~ile', 0, NewMenu( (*File je submenue>About je item u tom menu-u*)
NewItem('~A~bout','',kbF2,1001,0, (*1001 zamisli kao da je neka oznaka naseg About itema*)
nil)) , nil))));
end;
procedure TMojaAplikacija.HandleEvent(var Event: TEvent);
begin
inherited HandleEvent(Event);
if Event.What=evCommand then
begin
case Event.Command of
1001: begin (*onaj nas About item, kada se na njega izvrsi neka komanda...izbacuje MessageBox-poruku*)
MessageBox(#3'Passwd coder :D'#13#13 + #3'..lom',
nil, mfInformation or mfOKButton);
ClearEvent(Event);
end;
end;
end;
end;
var MA:TMojaAplikacija;
begin
MA.Init;
MA.InitMenuBar; (*poziva nasu proceduru za kreiranje MainMenua, a ta procedura ce sama pozvat HandleEven kad se desi neki event *)
MA.Run;
MA.Done;
end.
Ako ti nije jasno, idemo sve po redu i vidjet ces da nije uopce tesko..
p0z