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;







































