Arsip: Popup Menu ??
more 16 years ago
Grandong
Mas-mas & mbak-mbak yang sering nongkrongin forum ini, saya nanya ya... :oops: ,
Gini, gimana caranya bikin popup menu yang bisa berubah-ubah sewaktu run time? Misalnya gini, dalam folder aplikasi saya ada beberapa file atau folder (sub folder), trus saya pingin bikin file-file tsb di akses lewat popup menu. Tapi filenya gak selalu sama, maksudnya kadang bertambah kadang berkurang kadang namanya diganti dll, nah popup menunya mengikuti perubahan tsb. Tolong ya... :lol:
Makasih atas perhatiannya :oops:
more 16 years ago
mas_kofa
1. untuk ganti2 popup menu (caption) pake MenuItem1.Caption := 'tulisan pengganti';
2. tuk buat item menu MenuItemx.Create(PopupMenu1);
3. tuk menghapus MenuItemX.free;
(gunakan array TMenuItem)
tuk memproses file
gunakan suatu rutin / procedure dengan menggunakan nama file sebagai parameter
maaf kalo aku salah tangkap pertanyaan @Grandong
more 16 years ago
madi
private
procedure bacafiles( apath : string );
{...}
implementation
var
root:string;
path:string;
files : TStringlist;
{...}
procedure TForm1.bacafiles( apath : string );
var
sts: Integer ;
SR: TSearchRec;
list: Tstringlist;
procedure AddFile;
begin
list.add(sr.name);
end;
begin
list:=Tstringlist.create;
files := TStringlist.create;
//disini untuk pilihan extention Anda....
sts := FindFirst( apath + '*.doc' , faAnyFile , SR );
if sts = 0 then begin
if ( SR.Name <> '.' ) and ( SR.Name <> '..' ) then begin
if pos('.', SR.Name) <> 0 then
Addfile;
end;
while FindNext( SR ) = 0 do begin
if ( SR.Name <> '.' ) and ( SR.Name <> '..' ) then begin
//Put User Feedback here if desired
Application.ProcessMessages;
if Pos('.', SR.Name) <> 0 then Addfile;
end;
end;
end ;
FindClose( SR ) ;
list.sort;
files.assign(list);
list.free;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
i : integer;
newItem : TMenuItem;
begin
root:= ExtractFilePath(ParamStr(0));
path:=root+'data';
bacafiles(path);
for i := 0 to files.Count -1 do
begin
try
NewItem := TMenuItem.Create(PopupMenu1);
NewItem.Caption := files.Strings[i];
PopupMenu1.Items.Insert(0, NewItem);
next;
except
NewItem.Free;
raise; { reraise the exception }
end;
end;
end;
Semoga bisa menjadi salah satu solusi :D
more 16 years ago
Grandong
yup... Tengkyu sensei... :D
Dah saya coba & berhasil tampil berdasarkan file yang ada. Sip... :D :D
Tapi boleh minte tambahan petunjuknya ya mas... :oops:
Gimana caranya biar kalo di klik popup menunya, trus filenya bisa kebuka. :D :oops:
Makasih atas perhatiannya. :)
more 16 years ago
DelphiExpert
ngelanjutin...
begin
...
NewItem := TMenuItem.Create(PopupMenu1);
NewItem.Caption := files.Strings[i];
NewItem.OnClick:= FileItemClick;
PopupMenu1.Items.Insert(0, NewItem);
...
end;
procedure TXXForm.FileItemClick(Sender: TObject);
begin
// nama file ada di TMenuItem(Sender).Caption
ShellExecute(0, ... PAnsiChar(TMenuItem(Sender).Caption) ...);
end;
more 16 years ago
madi
sekedar tambahan supaya @Grandong jelas :D
uses ShellApi;
{...}
private
procedure FileItemClick(Sender: TObject);
{...}
procedure TForm1.FileItemClick(Sender: TObject);
begin
root:= ExtractFilePath(ParamStr(0));
path:=root+'data';
ShellExecute(Handle, PChar('OPEN'),PChar(Path + TMenuItem(Sender).Caption), Nil, Nil, SW_SHOW);
end;
PERINGATAN PEMERINTAH :
Supaya popup menunya bisa dieksekusi, properti PopupMenu1.AutoHotKeys -nya di buat maManual....more ...
- Pages:
- 1
reply |
Report Obsolete
Last Articles
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 3 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 3 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 3 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 3 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 3 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 3 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 4 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 11 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 11 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 11 years ago
Random Topic
- Dua database di satu aplikasi dgn satu komponen dbexpress
by derry.othman in Hal umum tentang Pascal Indonesia more 16 years ago - Ubah ukuran component sesuai resolusi layar
by rho in Tip n Trik Pemrograman more 16 years ago - Hardcoding..
by doqsil in Tutorial & Community Project more 17 years ago - Connect MS SQL_Server dengan IP Anddress
by fongers in MsSQL more 13 years ago - Tanya: Cara kerja dbImage di Quick Report
by cintik in Hal umum tentang Pascal Indonesia more 18 years ago - Delphi ID ganti domain..??
by deLogic in Kritik & Saran more 18 years ago - Simpan file multimedia ke database
by myluqman in Multimedia & Graphic Enhancement more 16 years ago - Get The Computer Name
by kabuki_enemy in Tip n Trik Pemrograman more 16 years ago - Nanya : TMediaPlayer
by tox2wow in Multimedia & Graphic Enhancement more 18 years ago - Ada ERROR di Fast Report, Tolongin dong
by faisal801m in Reporting more 15 years ago