Arsip: Form Show dengan Variabel

more 15 years ago
Lamsidjan
Salam kenal semua...
Langsung saja, saya mohon bantuan dan saran:
Bagaimana cara menampilkan Form dengan variabel, contoh:
-Lazimnya:
Form1.Show;
-Pinginnya:
x := 'Form1';
x.Show; // ?? :?:
Thx b4...

more 15 years ago
mbahdien
procedure TForm1.Button1Click(Sender: TObject);
var f:Tform;
begin
f:=form2;
f.Show;
end;
he-he bingung ngasih penjelasan. karena Tform2 adalah turunan dari Tform, maka kita buat variabel yang juga turunan dari Tform. Terus variabel tersebut kita assign ke Tform2(kan sama-sama turunan Tform)

more 15 years ago
Lamsidjan
Thanks mbahdien...
Tapi variabel f yang di contohkan adalah type Form,
Yang saya maksud adalah (bila mengacu ke code diatas)
procedure TForm1.Button1Click(Sender: TObject);
var f: String; // f type string
begin
f := "Form2";
f.Show;
end;

more 15 years ago
EkoIndri
@Lamsidjan
itu mudah sekali mas, silahkan mas ikuti petunjuk berikut dibawah ini.
1. Buat Program aplikasi baru
2. Tambahkan Form2 pada program baru tersebut
3. Pada Form1 tambahkan tombol Button1
4. Deklarasikan variabel global dengan tipe TForm
5. Create object tersebut pada saat Form1 dibuat
6. Kemudian untuk tuliskan kode programnya secara lengkap seperti dibawah ini:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
x : Tform;
end;
var
Form1: TForm1;
implementation
{$R .dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
x := TForm.Create(nil);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
x.Show;
end;
end.
7. Setelah itu pada pada Form2 anda hubungkan dengan Form1 dengan cara seperti berikut dibawah ini:
implementation
uses Unit1;
{$R .dfm}
8. Setelah itu, isikan variabel x pada event oncreate dengan Form2
9. Berikut ini contoh kode program secara lengkap pada unit2
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm2 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses Unit1;
{$R *.dfm}
procedure TForm2.FormCreate(Sender: TObject);
begin
Form1.x := Form2;
end;
end.
10. Program tersebut sudah saya coba dan jalan sempurna
Semoga info diatas bisa memberikan pencerahan terhadap permasalahan mas Lamsidjan
kalau ada yang kurang jelas, silahkan mas posting aja
more 15 years ago
Lamsidjan
Mungking posting pertama saya kurang jelas ... akan saya coba sedikit jelaskan..
Sebagai contoh mungkin kita bisa mengambil referensi dari dBase/Clipper:
do FORM1 -> FORM1 adalah Module/Procedure lain
x = "FORM1" -> x adalah String berisi "FORM1"
do &x -> kita dapat menload Procedure FORM1 dengan menggunakan macro &
langkah tersebut ingin saya coba di Delphi..
Jadi
x := "FORM1" -> x adalah String dengan nilai FORM1
x.Show; ->

more 15 years ago
EkoIndri
Baiklah mas, saya juga dulu punya ide seperti itu
cuma sampai sekarang belum tahu juga solusinya
okelah, kalau gitu ntar kalo luang waktu tak otak-atik buat konversi dari string ke form
sekali lagi maaf juga kalau saya salah persepsi, he.....2x jadi lain kali kalau perlu kasih keterangan ya mas
biar orang kayak saya bisa mencerna dengan mudah...
maklum dah kakek2....

more 15 years ago
Lamsidjan
@EkoIndri
Thx, dan ditungu solusinya ...
Saya juga sedang berusaha cari informasi ...

more 15 years ago
Lamsidjan
Kebetulan saya mempunyai aplikasi dengan banyak form, system menu menggunakan treeview.
Mungkin dengan code tsb dapat menyederhanakan saat load/show form.
//yang berjalan sekarang ..
sMnu := cboMenu.Text;
if (sMnu = "FORM1") then
FORM1.Show
else
if (sMnu = "FORM2") then
FORM2.Show
else
if (sMnu = "FORM3") then
FORM3.Show
else
.
.
. teruuus sampai lebih dari 30 kondisi ....

more 15 years ago
DelphiExpert
the simple way is read pre-created form over Screen variable of Forms.pas
contoh:
function XForm(const FormName: string): TForm;
var I: Integer;
begin
for I:= 0 to Screen.FormCount - 1 do
begin
Result:= Screen.Forms[I];
if SameText(Result.Name, FormName) then
Exit;
end;
Result:= nil;
end;
function DoShowForm(const FormName: string; Modal: Boolean = False): Boolean;
var X: TForm;
begin
X:= XForm(FormName);
Result:= Assigned(X);
if Result then
begin
if Modal then Result:= X.ShowModal = mrOK
else X.Show;
end;
end;
begin
if not DoShowForm('FormXXX') then
ShowMessage('Unable to perform this operation!');
but note. code tsb diatas hanya berlaku utk form-form yg telah di create (meskipun tidak tampak), baik secara otomatis atau tidak. utk penggunaan lebih advance anda harus melakukan LookUp terhadap registered classes di unit Classes.pas jika form tersebut belum dibuat / created manually...more ...
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 1 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 1 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 1 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 1 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 1 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 1 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 2 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 9 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 9 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 9 years ago
Random Topic
- runtime error 217
by taruna in Tutorial & Community Project more 15 years ago - Komponen Oxygen
by IdrisZZ in Tip n Trik Pemrograman more 13 years ago - cara menggunakan vcl skin
by comel in Hal umum tentang Pascal Indonesia more 14 years ago - delphi mengguna database pervasive v9
by goodday in Enginering more 16 years ago - IlmuKomputer.Com - mohon doa buat kesembuhan IKC yaa
by LuriDarmawan in OOT more 13 years ago - Koneksi delphi - MySQL yang paling bagus
by em052007 in Tip n Trik Pemrograman more 14 years ago - Query Max
by supermuam in MsSQL more 13 years ago - encrypt password
by brodien in Enginering more 16 years ago - ProgressBar atau Gauge running saat Query.Open
by gaussac in Tip n Trik Pemrograman more 16 years ago - intraweb
by DADANG in Hal umum tentang Pascal Indonesia more 16 years ago