Kalender DFGEN

March 2010
M T W T F S S
« Feb    
1234567
891011121314
15161718192021
22232425262728
293031  

UTabel

Utabel adalah unit untuk menghasilkan prosedur form manajemen data tabel-tabel di dalam database. Deklarasi dari unit ini adalah:

type

TDetailRecord = record

ColumnTitle: string;

BaseName : string;

CtrlClassName : string;

CtrlHeight    : integer;

CtrlWidth     : integer;

RDatatype : tfieldtype;

Referens  : boolean;

ClassCtrl : string;

end;

Tftabel = class(TForm)

Q1: TZQuery;

btFinish: TBitBtn;

pInfo: TPanel;

QUmum: TZQuery;

PageControl1: TPageControl;

TabSheet2: TTabSheet;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

Label10: TLabel;

Label11: TLabel;

Label12: TLabel;

Label13: TLabel;

Label14: TLabel;

Label15: TLabel;

ComboBox1: TComboBox;

Edit1: TEdit;

ComboBox2: TComboBox;

Edit2: TEdit;

ComboBox3: TComboBox;

Edit3: TEdit;

ComboBox4: TComboBox;

Edit4: TEdit;

ComboBox5: TComboBox;

Edit5: TEdit;

ComboBox6: TComboBox;

Edit6: TEdit;

ComboBox7: TComboBox;

Edit7: TEdit;

ComboBox8: TComboBox;

Edit8: TEdit;

ComboBox9: TComboBox;

Edit9: TEdit;

ComboBox10: TComboBox;

Edit10: TEdit;

ComboBox11: TComboBox;

Edit11: TEdit;

ComboBox12: TComboBox;

Edit12: TEdit;

ComboBox13: TComboBox;

Edit13: TEdit;

ComboBox14: TComboBox;

Edit14: TEdit;

ComboBox15: TComboBox;

Edit15: TEdit;

Panel2: TPanel;

Panel3: TPanel;

Panel4: TPanel;

btReset: TAlignButton;

btRead: TAlignButton;

btSave: TAlignButton;

procedure btBuatSemuaClick(Sender: TObject);

procedure btResetClick(Sender: TObject);

procedure btSaveClick(Sender: TObject);

procedure btReadClick(Sender: TObject);

procedure btFinishClick(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

MarginAtas: integer;

MarginKiri: integer;

procedure SetKonektor(AConnection: TZConnection);

function  GetKonektor: TZConnection;

procedure ReadFromList(AList: TStrings);

function  IndexKontrol(Nama: string):integer;

procedure Info(s:string);

procedure Simpan(AList: TStrings; FName: TFileName);

function  LabelWidth(LField:TStrings):integer;

//procedure GenLoadDetailFromRef(iType:integer;

//  sTabel,sTableRefRef:String;ACon:TZConnection; ListTarget:TStrings);

procedure GenAddRecToRef(iTypePRoduct:integer;

ListSaved: tstrings; TableName:string);overload;

procedure GenAddRecToRef(iTypePRoduct:integer; ListSaved: tstrings;

TableName:string;iTop:integer);overload;

procedure GenAddRecToRef(iTypePRoduct:integer; ListSaved: tstrings;

TableName:string;iTop:integer; var sResult:string);overload;

function  GenActionListPart(iTypeProduct: integer; ListSaved: TStrings;

TableName: string; NumSpaceLeader:integer):string;

public

property  Konektor: TZConnection read GetKonektor write SetKonektor;

procedure SaveKonfigurasi;

procedure ReadKonfigurasi;

procedure LoadStandar;

procedure GenerateFormTabel(LTabel: TStringList); overload;

procedure GenerateFormTabel(TableName:string); overload;

procedure GenerateFormTabel(TableName:string;

FieldPilihManual:boolean); overload;

end;

procedure BuatFormTabel(AKonektor: TZConnection;LTabel:TStringList);overload;

//ini berkaitan dengan form untuk input baku

function  ClassForField(FieldType: TFieldType;

ForeignKey:boolean): string; overload;

function  PrefixForField(FieldType: TFieldType; ForeignKey:boolean): string;

function  ClassForField(Field:TField;ForeignKey:boolean):string; overload;

//

function  SQLInsertPart(AKonektor:TZConnection;

Field: TField;TabelTujuan:string): string; overload;

function  SQLInsertPart(AKonektor:TZConnection;

Field: TField;TabelTujuan:string;LField:TStrings): string; overload;

function  SQLLoadPart(AKOnektor:TZConnection;Field:TField;

TabelAsal:string): string; overload;

function  SQLLoadPart(AKOnektor:TZConnection;Field:TField;TabelAsal,

NamaZQuery:string): string; overload;

function  SQLLoadPart(AKOnektor:TZConnection;Field:TField;TabelAsal,

NamaZQuery:string; LoadFromBasicView:boolean): string; overload;

procedure TeksSQLInput(InsertOrUpdate:string;AKonektor:TZConnection;

AQuery:TZQuery; TableName:string; ALHasil:Tstrings);overload;

procedure TeksSQLInput(InsertOrUpdate:string;AKonektor:TZConnection;

AQuery:TZQuery; TableName:string; ALHasil:Tstrings;LField:TStrings);overload;

procedure TeksSQLLoad(AKonektor:TZConnection; AQuery:TZQuery;

TableName:string; ALHasil: TStrings);

//2008 06 02

function  isDetailtable(AConnection:TZConnection; TableName:string): boolean;

function  isMastertable(AConnection:TZConnection; TableName:string): boolean;

function  isStateTable(AConnection: TZConnection; TableName:string):boolean;

function  MasterOfDetail(DetailTable:string):string;

//

function  GenAdvanceKueri(AKonektor:TZConnection;NmTabel: string;

var sKueriDasar,sKueriFilterDasar:string):boolean; overload;

function  GenAdvanceKueri(AKonektor:TZConnection;NmTabel: string;

var sKueriDasar,sKueriFilterDasar:string;

IncludeFieldMaster:boolean):boolean; overload;

procedure IsiKueriRelasi(AKonektor:TZConnection;

NmTabel: string;AList:Tstrings); overload;

procedure IsiKueriRelasi(AKonektor:TZConnection;

NmTabel: string;AList:Tstrings; varBaseQueryName,

varBaseFilterName:string); overload;

procedure IsiKueriRelasi(AKonektor:TZConnection;

NmTabel: string;AList:Tstrings; varBaseQueryName,varBaseFilterName:string;

IncludeFieldMaster:boolean); overload;

//

function  AdaFieldReferens(AKonektor: TZConnection;

NmTabel: string):boolean; overload;

function  AdaFieldReferens(AKonektor: TZConnection; NmTabel,

PrefixProc: string; LTarget: TStrings;

IsiTarget,Implementasi:boolean):boolean; overload;

// 2008 06 25

function  VarControlField(AKonektor:TZConnection; Field: TField): string;

//

function  isFieldStringUnique(sField:string): boolean;

//2008 08 14

function  HasTimeField(TableName:string;AKonektor:TZCOnnection):boolean;

//2008 12 19

//resultnya: posisi y selanjutnya

function GenDetailPart(ACon:TZCOnnection; AList: TStrings;

sDetail,sMaster:String; yStartPos,JumlahBaris,

ProductNumber: integer):integer; overload;

function GenDetailPart(ACon:TZCOnnection; AList: TStrings;

sDetail,sMaster:String; yStartPos,JumlahBaris,ProductNumber: integer;

var TempString:string):integer; overload;

//2009 06 12

function GetCSVListField(ACon:TZConnection;sTableName:string):String;