Arsip: Menu Dan Submenu DiLoad Dari Database

 
user image
more 16 years ago

ganang

OM-om,Mas-mas,Bro-Bro para delphi expert sblmnya maaf ngrepotin, cz cari-cari dibuku,forum,google, blm ketemu ada yang bahas.... kmrn aq ngliat program aplikasi yang menu dan submenu formnya tuh diload dr database...jadi bisa ditambahkan menu dan submenunya langsung dari database, tanpa menambah dari komponen Menu,KOK BISA YACH gimana yach caranya???? Tolong Pencerahannya YAch... MakacIiihhh :D
user image
more 16 years ago

alvonz

pake trreeview ato pake apa komponen menunya????
user image
more 16 years ago

eksant

hehehe.... pake aja TComponent: for i := 0 to ComponentCount - 1 do begin if (frmMain.Components[i] is TAdvPage) then begin if frmMain.Components[i].Tag = 1 then begin sPageMenu := frmMain.Components[i].Name; end; if frmMain.Components[i].Tag = 2 then begin sPageMenu := frmMain.Components[i].Name; end; end; if (Self.Components[i] is TAdvGlowButton) then begin if Self.Components[i].Tag = 1 then begin ... [simpan ke database] ... end; end; end; -singkat kata singkat cerita: 1. Cari ComponentName & Component.Caption di MainMenu 2. Kalo ketemu, tanyain dulu punya caption ga..? 3. Kalo ada caption, ajak ke kamar database 4. Kurung aja Component.Nama & Component.Caption sampai nanti dipanggil 5. Kalo pingin manggil, teriakan Tab = 1, kl Tab = 0 dia pasti ngumpet dikamar 6. Berdoa, berterima kasih 7. Tetap berusaha mencari
user image
more 16 years ago

n3o_cybertech

OM-om,Mas-mas,Bro-Bro para delphi expert sblmnya maaf ngrepotin, cz cari-cari dibuku,forum,google, blm ketemu ada yang bahas.... kmrn aq ngliat program aplikasi yang menu dan submenu formnya tuh diload dr database...jadi bisa ditambahkan menu dan submenunya langsung dari database, tanpa menambah dari komponen Menu,KOK BISA YACH gimana yach caranya???? Tolong Pencerahannya YAch... MakacIiihhh Very Happy
pake aja metode komponen runtime...dulu aq juga pernah buat kayak gituan, besok deh abis lebaran tak kasih tutorialnya...
user image
more 16 years ago

eksant

iklan dulu... http://pascal-id.org/thread/unknown/40169/view-old-thread/#40169
user image
more 16 years ago

reev

Soal menu dan submenu diload dari db menurut saya sih, ga' rumit-rumit amat. Asalkan kolom tabelnya minimal 4: id menu (atau tag), caption, id parent menu, dan subrutin/prosedur yang dipanggil. Bisa juga ditambah yang lainnya, misalnya hotkey, glyph, dsb. Yang jadi soal, bagaimana saving dan loading prosedurnya? Kalau pake BlobStream.Write(TNotifyEvent(Menu1.Onclick)) bisa ga' ya? Pencerahannya dong...?
user image
more 16 years ago

DelphiExpert

Saya asumsikan menggunakan TMenuItem (TMainMenu, TPopupMenu)... Sudah lama tidak berkontribusi dengan benar, mumpung masih ada waktu senggang boleh kita bahas lagi (padahal udah pernah dibahas) :) 1. Untuk membuat sesuatu harus tahu medan dan karakteristik target yg diinginkan. 2. Pengetahuan membuat object/component saat runtime mutlak diperlukan 3. Diketahui: Struktur menu items membentuk hirarki tree, artinya ada root & child items 3. Untuk itu procedure secara umum bisa kita buat sbb (catatan: TMainMenu harus diinsertkan/dibuat dulu dalam form):

function InsertMenu(const Root: TMenuItem; const Caption: string;
  const OnClick: TNotifyEvent = nil; const Tag: Integer = 0): TMenuItem;
begin
  Result:= TMenuItem.Create(Root.Owner);
  try
    Result.Caption:= Caption;
    Result.Tag:= Tag;
    Result.OnClick:= OnClick;
    Root.Add(Result);
  except
    FreeAndNil(Result);
  end;
end;
Guna mengetahui cara kerja-nya, praktekkan membuat menu-items saat runtime dng hard-code:

procedure TForm1.FormCreate(Sender: TObject);
var Item: TMenuItem;
begin
  // release / reset all menu items
  // tergantung kebutuhan, tidak harus root yg direset,
  // bisa sub menu items tertentu saja
  MainMenu1.Items.Clear;
  //  1). susun / buat root menu items (File)
  Item:= InsertMenu(MainMenu1.Items, '&File');
  // tambahkan menu items utk menu File
  InsertMenu(Item, 'Open', OnMenuFileClick, 0);
  InsertMenu(Item, 'Save', OnMenuFileClick, 1);
  InsertMenu(Item, '-'); // buat separator, cukup set caption dng char -
  InsertMenu(Item, 'Exit', OnMenuFileClick, 2);

  //   2). susun / buat root menu items (Tools)
  Item:= InsertMenu(MainMenu1.Items, '&Tools');
  // tambahkan menu items utk menu Tools
  InsertMenu(Item, '&Options', OnMenuToolsClick, 0);

  // ** 3). susun / buat root menu items (Help)
  Item:= InsertMenu(MainMenu1.Items, '&Help');
  InsertMenu(Item, '&About', OnMenuHelpClick, 0);
end;
TNotifyEvent adalah type procedure yg banyak digunakan event2 standard, deklarasinya sbb:

type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    procedure OnMenuFileClick(Sender: TObject); // TNotifyEvent
    procedure OnMenuToolsClick(Sender: TObject); // TNotifyEvent
    procedure OnMenuHelpClick(Sender: TObject);  // TNotifyEvent
  public
    { Public declarations }
  end;
implementation
...
procedure TForm1.OnMenuFileClick(Sender: TObject);
begin
  case TMenuItem(Sender).Tag of
  0: // do open
  1: // do save
  2: Close; // terminate app
  end;
end;
procedure TForm1.OnMenuHelpClick(Sender: TObject);
begin
end;
procedure TForm1.OnMenuToolsClick(Sender: TObject);
begin
end;
nah, setelah mengetahui cara kerja dan penggunaannya, tinggal disesuaikan saja isi menu2 items dng data yg tersimpan di database, jangan lupa hirarki table harus terdapat field root & caption. root digunakan utk pengkategorian group menu, sedangkan caption utk set title menu. Secara teknis kemungkinan perlu dibuat dulu procedure2 dinamis lainnya utk menghandle aksi menu berdasar kategori, misal: load dinamic Form dari DLL dan sebagainya. Ini untuk menghindari adanya hardcode terhadap aksi menu berdasar TAG.
user image
more 16 years ago

ganang

Om N3o boleh tuch tutorialnya.... minal Aidin Wal faidzin yooo tuk smuanyoooo udah habis lebaran nich ditunggu loh tutorialnya alvonz,eksant,n mas DelEx thx bnyk akan kucoba
user image
more 16 years ago

simple_code

Numpang OOT : @om DE emang bener bener Delphi Expert ga malu malui ngebawa nama DelphiExpert... ngelmune ra umum... jan... sarapannya apaan ya bisa kaya gitu..?? bukan coding nya yang aku salut, tapi metode ngejelasinnya wuih..wuih... wuih....
user image
more 16 years ago

mas_kofa

@simple_code: ngelmune ra umum... jan... sarapannya apaan ya bisa kaya gitu..?? bukan coding nya yang aku salut, tapi metode ngejelasinnya wuih..wuih... wuih....
sarapannya cukup nasi kucing.....[52 bungkus]...xixiixiixixixixxxx
more ...
  • Pages:
  • 1
  • 2
Share to

AI Forward

🚀 We're thrilled to partner with Alibaba Cloud for "AI Forward - Alibaba Cloud Global Developer Summit 2025" in Jakarta! Join us and explore the future of AI. Register now: https://int.alibabacloud.com/m/1000400772/
#AlibabaCloud #DeveloperSummit #Jakarta #AIFORWARD

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com