SteeDemo.MainForms Namespace

ยูนิตเมนฟอร์ม เป็นหน้าต่างหลักในการแสดงผล ปิดเมนฟอร์มคือออกจากโปรแกรม

ยูนิตนี้อยู่ในส่วนของ Presentation Layer

Tip

  • คำสั่งที่มี Do...นำหน้าจะเป็นคำสั่งถ่ายทอดทางสายพันธุ์
  • SteeApplication แบ่งพื้นที่การทำงานเป็นห้องปฏิบัติการ (Sessions)
  • SteeApplication มีพื้นที่ปฏิบัติการทั่วไป เรียกว่า Local Session
  • แต่ละห้องปฏิบัติการของ SteeApplication จะมีวัตถุ Samong ทำงานอยู่ภายใน
  • ใน EasyMainForm สามารถเข้าถึงเรียกใช้งานวัตถุ Samong ได้ทันที
  • ต่อไปนี้คำว่า "สมอง" หมายถึง Samong System หรือ วัตถุ Samong
  • มาตรฐานทั่วไป ชื่อคลาสจะนำหน้าด้วยอักษร "T"
  • ภาษาปาสคาลชื่อคำสั่งหรือชื่อตัวแปรอักษรตัวพิมพ์ใหญ่หรือพิมพ์เล็กเหมือนกัน
  • การเขียนคำสั่งแบบ Object Oriented คำสั่งจะถูกจัดกลุ่มโดยคลาส


unit SteeDemo.MainForms;


interface


uses

//การเรียกใช้ยูนิตส่วนต่อไปนี้ไม่ขึ้นกับแพลตฟอร์ม

System.SysUtils, System.Types, System.UITypes, System.Classes,

System.Variants,


//การเรียกใช้ยูนิตส่วนต่อไปนี้เป็นส่วนของ iSTEE ไม่ขึ้นกับแพลตฟอร์ม

Stee.Nature.Systems, Stee.Nature.Apps,

//การเรียกใช้ยูนิตส่วนต่อไปนี้เป็นส่วนของ iSTEE ขึ้นกับแพลตฟอร์ม

Stee.FMX.MainForms, Stee.FMX.Forms,


//การเรียกใช้ยูนิตส่วนต่อไปนี้เป็นส่วนเฉพาะสำหรับแอพพลิเคชั่น

SteeDemo.Systems, SteeDemo.FMX.Registers,


//การเรียกใช้ยูนิตส่วนต่อไปนี้จะขึ้นอยู่กับแพลตฟอร์มการแสดงผล

FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,

FMX.Controls.Presentation, FMX.MultiView, FMX.StdCtrls, FMX.Objects,

FMX.ListBox, FMX.Layouts;


type

TSteeDemoMainForm = class(TjgFMXEasyMainform)

//ประกาศตัวแปรในพื้นที่นี้ก่อนคำสั่ง private

//ถูกสร้างและลบทิ้งแบบอัตโนมัติระหว่างออกแบบ

MultiView1: TMultiView;

Panel_Title: TRectangle;

Button_Menu1: TSpeedButton;

Label_TaskName: TLabel;

ListBox1: TListBox;

ListBoxItem_InstallSystem: TListBoxItem;

ListBoxItem_Exit: TListBoxItem;

ListBoxItem_Start: TListBoxItem;

ListBoxItem_RunTask001: TListBoxItem;

private

protected

procedure DoCreate; override;

public

End;


TSteeDemoCustomInnerMainForm = class(TjgFMXInnerMainForm)

private

function MyForm: TSteeDemoMainForm;

protected

procedure DoEnableEvents; override;

procedure DoDisableEvents; override;

public

procedure Click_Exit(Sender: TObject);

procedure Click_InstallSystem(Sender: TObject);

procedure Click_DemoSystem_Start(Sender: TObject);

procedure Click_DemoSystem_RunTask001(Sender: TObject);

End;


TSteeDemoInnerMainForm = class(TSteeDemoCustomInnerMainForm)

private

protected

public

End;


var

SteeDemoMainForm: TSteeDemoMainForm;


implementation


{$R *.fmx}


procedure InitializeMainStee;

begin

SteeDemoFMX003_RegisterComponents;

end;


{ TSteeDemoMainForm }


procedure TSteeDemoMainForm.DoCreate;

begin

inherited; //ให้ไปทำคำสั่งคลาสต้นกำเนิดลำดับชั้นก่อนหน้า

InnerUICellClass:=TSteeDemoInnerMainForm;

end;


{ TSteeDemoCustomInnerMainForm }


function TSteeDemoCustomInnerMainForm.MyForm: TSteeDemoMainForm;

begin

Result:=TSteeDemoMainForm(Form);

end;


procedure TSteeDemoCustomInnerMainForm.Click_Exit(Sender: TObject);

begin

Form.Close;

end;


procedure TSteeDemoCustomInnerMainForm.DoDisableEvents;

var

oForm: TSteeDemoMainForm;

begin

inherited; //ให้ไปทำคำสั่งคลาสต้นกำเนิดลำดับชั้นก่อนหน้า

oForm:=MyForm;

oForm.ListBoxItem_InstallSystem.OnClick:=Nil;

oForm.ListBoxItem_Start.OnClick:=Nil;

oForm.ListBoxItem_RunTask001.OnClick:=Nil;

oForm.ListBoxItem_Exit.OnClick:=Nil;

end;


procedure TSteeDemoCustomInnerMainForm.DoEnableEvents;

var

oForm: TSteeDemoMainForm;

begin

inherited; //ให้ไปทำคำสั่งคลาสต้นกำเนิดลำดับชั้นก่อนหน้า

oForm:=MyForm;

oForm.ListBoxItem_InstallSystem.OnClick:=Click_InstallSystem;

oForm.ListBoxItem_Start.OnClick:=Click_DemoSystem_Start;

oForm.ListBoxItem_RunTask001.OnClick:=Click_DemoSystem_RunTask001;

oForm.ListBoxItem_Exit.OnClick:=Click_Exit;

end;


procedure TSteeDemoCustomInnerMainForm.Click_InstallSystem(Sender: TObject);

var

oSamong: TjgSystem;

begin

//กำหนดตำแหน่งที่อยู่Samong ให้กับตัวแปร

//ในเมนฟอร์มสายพันธุ์ "TjgFMXEasyMainform" สามารถเรียกใช้งานวัตถุ Samong ได้ทันที

//นำคลาส "TSteeDemoSystem" ติดตั้งลงในระบบ Samong หรือทำงานอยู่ภายใน Samong System


oSamong:=Samong;

oSamong.NewSystem('DemoSystem',TSteeDemoSystem,'DemoSystem');

end;


procedure TSteeDemoCustomInnerMainForm.Click_DemoSystem_Start(Sender: TObject);

var

oSystem: TjgSystem;

begin

//คำสั่ง [System].GetSystem ถ้าไม่พบระบบตามชื่อที่ระบบจะแจ้งข้อผิดพลาด

//และยุติคำสั่งไม่ทำงานต่อ


oSystem:=Samong.GetSystem('DemoSystem');

oSystem.Start;

end;


procedure TSteeDemoCustomInnerMainForm.Click_DemoSystem_RunTask001(

Sender: TObject);

var

oSystem: TjgSystem;

begin

oSystem:=Samong.GetSystem('DemoSystem');

//คำสั่ง [System].Execute เรียกใช้คำสั่งที่ลงทะเบียนไว้ใน Commands ของระบบ

oSystem.Execute('RunTask001');

end;


initialization

//คำสั่งใต้ initialization ทำงานเมื่อมีการโหลดยูนิตลงในหน่วยความจำ

//คำสั่งเปิดใช้งานสติ***ข้อบังคับ ***

SteeApplication.Initialize; //เตรียมสติ

InitializeMainStee; //ตั้งค่าสติ

SteeApplication.Run; //ใช้งานสติ


finalization

//คำสั่งใต้ finalization ทำงานเมื่อมีการถอนยูนิตออกจากหน่วยความจำ

end.

 NameDescription
TSteeDemoCustomInnerMainForm

คลาสต้นกำเนิดหน่วยควบคุมภายในฟอร์ม เลือกสายพันธุ์ "TjgFMXInnerMainForm" เพื่อใช้งานสภาพแวดล้อม Samong

TSteeDemoInnerMainForm

คลาสหน่วยควบคุมภายในฟอร์ม นำไปติดตั้งและทำงานอยู่ในเมนฟอร์ม

TSteeDemoMainForm

คลาสเมนฟอร์มหลัก เลือกสายพันธุ์ "TjgFMXEasyMainform" เพื่อใช้งานสภาพแวดล้อม Samong

Top
 NameDescription
SteeDemoMainForm

ตัวแปรเก็บตัวแหน่งวัตถุเมนฟอร์ม หรือเรียกว่า Instance

Top
 NameDescription
InitializeMainStee

คำสั่งสำหรับกำหนดค่าเริ่มต้นและสภาพแวดล้อมระบบ Samong

Top