Arsip: Form Show dengan Variabel

 
user image
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...
user image
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)
user image
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;
user image
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
user image
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; ->
user image
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....
user image
more 15 years ago

Lamsidjan

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

EkoIndri

Emang buat apaan sih mas, koq sampai ingin seperti itu?
user image
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 ....
user image
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 ...
  • Pages:
  • 1
  • 2
  • 3
Share to

Random Topic

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