±ÍÇÏ´Â ¼Õ´Ô À̽ʴϴÙ
·Î±×ÀÎ
ȸ¿ø°¡ÀÔ
  
  µ¨¸¶´ç °ø½Ä ÀºÇà°èÁÂ
  ÇϳªÀºÇà 227-910235-83607
  ¿¹±ÝÁÖ ÀÌ»ó±¹(¿î¿µÁø)
ÇÁ·ÎÁ§Æ® °Ô½ÃÆÇ
ÅõÇ¥°Ô½ÃÆÇ
µ¨¸¶´ç¼Ò°³
±âÃʺÎÅÍ È°¿ë±îÁö! µ¨ÆÄÀÌ ±³À° - µ¥ºê±â¾î
°­ÁÂ, ÆÁ, Á¤º¸ °­ÁÂ, ÆÁ, Á¤º¸ ÀÔ´Ï´Ù.
±Û³»¿ë - °­ÁÂ, ÆÁ, Á¤º¸
 [angel] µ¨ÆÄÀÌ ¹®¹ý 1
Ÿ¶ôõ»ç
(±è¼ºÈÆ)
2014-12-23 ¿ÀÈÄ 7:27:51
Ä«Å×°í¸®: ÆÁ
4821ȸ Á¶È¸



µî·ÏµÈ ÆÄÀÏÀÌ ¾ø½À´Ï´Ù.
¾È³çÇϼ¼¿ä. Å¸¶ôõ»ç ÀÔ´Ï´Ù.
µ¨ÆÄÀÌ ÀÔ¹®¼­°¡ ¾ø´Ù°í Çؼ­ ¾²°í ÀÖ½À´Ï´Ù.


0. ±¸Á¶

µ¨ÆÄÀÌ À¯´Ö ±¸Á¶´Â ´ÙÀ½°ú °°½À´Ï´Ù. 

unit UnitName;

interface

// ¼±¾ðºÎ

implementation

// ±¸ÇöºÎ

end.

¼±¾ðºÎ´Â C ¾ð¾îÀÇ Çì´õ ÆÄÀÏ°ú °°½À´Ï´Ù.

ÄÄÆÄÀÏ·¯´Â ÇÔ¼ö¸íÀ¸·Î ÇÔ¼ö¸¦ Ã£½À´Ï´Ù. 
(Âü°í : https://www.delmadang.com/community/bbs_view.asp?bbsNo=3&bbsCat=0&indx=444150&page=1)

±×·± ÀÌÀ¯·Î Å¬·¡½º¿Í ÇÔ¼ö¸í ¸®½ºÆ®¸¦ °¡Áö°í ÀÖ½À´Ï´Ù. 


1. Àü¿ª(Global), ·ÎÄÃ(Local)

¼±¾ðºÎ´Â Àü¿ª ±¸¿ª ÀÔ´Ï´Ù.
¼±¾ðºÎ¿¡ Àִ Ŭ·¡½º¿Í º¯¼ö¿Í ÇÔ¼ö´Â ¸ðµç ´Ù¸¥ À¯´Ö¿¡¼­µµ È£Ãâ ÇÒ ¼ö ÀÖ½À´Ï´Ù.

±¸ÇöºÎ´Â ·ÎÄ౸¿ª ÀÔ´Ï´Ù.
±¸ÇöºÎ¿¡ Àִ Ŭ·¡½º¿Í º¯¼ö¿Í ÇÔ¼ö´Â ´Ù¸¥ À¯´Ö¿¡¼­ È£Ãâ ÇÒ ¼ö ¾ø½À´Ï´Ù.


2. ¼±¾ðºÎ, ±¸ÇöºÎ ±¸Á¶

¼±¾ðºÎ¿Í ±¸ÇöºÎ´Â Â÷·Ê·Î ´ÙÀ½ Å¸ÀÔ ±¸¿ªÀ» °¡Áú¼ö ÀÖ½À´Ï´Ù.

uses 
 // ÂüÁ¶ÇÒ À¯´Ö

const
 // »ó¼ö

type
 // Å¬·¡½º or ÇÔ¼ö ¼±¾ð

var
 // º¯¼ö



(example) Á¦ ¼Ò½º ÀϺÎ


interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Forms, FMX.ListBox, FMX.Objects, FMX.Graphics, FMX.Types;

const
  YN_TEXT: array [boolean] of string = ('N', 'Y');

  HEART_BEAT_TERM              = 5000; // milisecond

  PACKET_SIZE_LENGTH = 12;
  FORMLIST_LIMIT = 100;

  ........

type
  TUserData = record
    mID, mName, mNickName, mCompCode: string;
    mGrade: integer;
    mStartDay, mEndDay: string;
    mMobiles: array [0..4] of string;
    // additional
    mPW, mDeviceID: string;
  end;
 
  ..........

  procedure DoShowForm(const AFormKind: integer; const AData: string = '');
  procedure DoShowBackForm;
  ............


var
  gBinPath: string;

  // for debug
  gVersion: string = '0.9.2.3';
  gAngel: boolean = false;

  gUserData: TUserData;

  gLogined: boolean = false;
  ..............


implementation

uses
  AppFrm
  , LoginFme, ConfirmFme
  , MainFme......;

const
  FORMLIST_LIMIT = 100;

type
  TFormData = record
    mKind: integer;
    mData: string;
    mIsAppr: boolean;
  end;

var
  lFormList: array [0..FORMLIST_LIMIT - 1] of TFormData;
  lFormCount: integer = 0;


function __SplitText(......): string;
begin
.......
end;

procedure DoShowForm(const AFormKind: integer; const AData: string = '');
var
  MyFrame: TIKFrame;
begin
  case AFormKind of
    ID_Main:
      begin
        if fmeMain = nil then  fmeMain := TfmeMain.Create(frmApp);
    ........
end;