📄 createtable.pas
字号:
end;
procedure TCreateTableForm.ComboBoxTypeChange(Sender: TObject);
begin
// Typ
fields[index].Typ := ComboBoxType.ItemIndex;
checktypes(self);
end;
procedure TCreateTableForm.EditLengthSetChange(Sender: TObject);
begin
// LengthSet
fields[index].LengthSet := EditLengthSet.Text;
end;
procedure TCreateTableForm.EditDefaultChange(Sender: TObject);
begin
// Default
fields[index].Default := EditDefault.Text;
end;
procedure TCreateTableForm.CheckBoxPrimaryClick(Sender: TObject);
begin
// Primary
fields[index].Primary := CheckBoxPrimary.Checked;
end;
procedure TCreateTableForm.CheckBoxIndexClick(Sender: TObject);
begin
// Index
fields[index].Index := CheckBoxIndex.Checked;
end;
procedure TCreateTableForm.CheckBoxUniqueClick(Sender: TObject);
begin
// Unique
fields[index].Unique := CheckBoxUnique.Checked;
end;
procedure TCreateTableForm.CheckBoxBinaryClick(Sender: TObject);
begin
// Binary
fields[index].Binary := CheckBoxBinary.Checked;
end;
procedure TCreateTableForm.CheckBoxUnsignedClick(Sender: TObject);
begin
// Unsigned
fields[index].Unsigned := CheckBoxUnsigned.Checked;
end;
procedure TCreateTableForm.CheckBoxZerofillClick(Sender: TObject);
begin
// Zerofill
fields[index].Zerofill := CheckBoxZerofill.Checked;
end;
procedure TCreateTableForm.CheckBoxNotNullClick(Sender: TObject);
begin
// Not Null
fields[index].NotNull := CheckBoxNotNull.Checked;
end;
procedure TCreateTableForm.CheckBoxAutoincrementClick(Sender: TObject);
begin
// AutoIncrement
fields[index].AutoIncrement := CheckBoxAutoIncrement.Checked;
end;
procedure TCreateTableForm.Button1Click(Sender: TObject);
begin
// Add new Field
index := length(fields);
setlength(fields, index+1);
with fields[index] do
begin
Name := EditFieldName.Text;
Typ := 0;
LengthSet := '3';
default := '0';
Primary := false;
Index := false;
Unique := false;
Binary := false;
Unsigned := true;
Zerofill := false;
NotNull := false;
Autoincrement := false;
FeldListe.Items.Add(Name);
end;
refreshfields(self);
EditFieldnameChange(self);
Feldliste.ItemIndex := index;
// ButtonCreate enablen
ButtonCreate.Enabled := length(fields)>0;
end;
procedure TCreateTableForm.EditFieldnameChange(Sender: TObject);
begin
// Field Name EditChange
if (validName(EditFieldName.Text)) and (notinlist(EditFieldName.Text, Feldliste.Items)) then
begin
buttonAdd.Enabled := true;
buttonChange.Enabled := true;
ButtonAdd.Default := True;
end
else begin
buttonAdd.Enabled := false;
buttonChange.Enabled := false;
end;
ButtonsChange(self);
end;
procedure TCreateTableForm.feldListeClick(Sender: TObject);
begin
// Feldliste Change
index := FeldListe.ItemIndex;
if index > -1 then
editfieldname.Text := fields[index].Name;
refreshfields(self);
end;
procedure TCreateTableForm.ButtonsChange(Sender: TObject);
begin
// look for name and change buttons
if index = -1 then
begin
buttonDelete.Enabled := false;
buttonChange.Enabled := false;
end else
begin
buttonDelete.Enabled := true;
if notinlist(EditFieldName.Text, Feldliste.Items) then
buttonChange.Enabled := true
else
buttonChange.Enabled := false;
end;
end;
procedure TCreateTableForm.FormShow(Sender: TObject);
var
i : Integer;
tn : TTreeNode;
begin
// FormShow!
// read dbs and Tables from treeview
DBComboBox.Items.Clear;
with TMDIChild(Application.Mainform.ActiveMDIChild) do
begin
for i:=0 to DBTree.Items.Count-1 do
begin
tn := DBTree.Items[i];
if tn.Level = 1 then
DBComboBox.Items.Add(tn.Text);
end;
DBComboBox.ItemIndex := 0;
for i:=0 to DBComboBox.Items.Count-1 do
begin
if DBComboBox.Items[i] = ActualDatabase then
DBComboBox.ItemIndex := i;
end;
if DBComboBox.ItemIndex = -1 then
DBComboBox.ItemIndex := 0;
end;
if TMDIChild(Application.Mainform.ActiveMDIChild).mysql_version >= 32300 then
begin
EditDescription.Visible := true;
Label3.Visible := true;
end
else
begin
EditDescription.Visible := false;
Label3.Visible := false;
end;
index := -1;
setLength(fields, 0);
FeldListe.Items.Clear;
EditTableName.Text := 'TableName';
EditFieldName.Text := 'FieldName';
Editdescription.Text := '';
ButtonCreate.Enabled := false;
ButtonAdd.Enabled := true;
disablecontrols(self);
end;
procedure TCreateTableForm.ButtonChangeClick(Sender: TObject);
begin
// Change Fieldname
fields[index].Name := editfieldname.Text;
refreshfields(self);
editfieldnamechange(self);
end;
procedure TCreateTableForm.disableControls(Sender: TObject);
begin
// disable controls
ButtonDelete.Enabled := false;
Label6.Enabled := false; // Type
Label7.Enabled := false; // Length
Label8.Enabled := false; // Set
ComboBoxType.Enabled := false;
EditLengthSet.Enabled := false;
EditDefault.Enabled := false;
CheckBoxPrimary.Enabled := false;
CheckBoxIndex.Enabled := false;
CheckBoxUnique.Enabled := false;
CheckBoxBinary.Enabled := false;
CheckBoxUnsigned.Enabled := false;
CheckBoxZerofill.Enabled := false;
CheckBoxNotNull.Enabled := false;
CheckBoxAutoIncrement.Enabled := false;
end;
procedure TCreateTableForm.enableControls(Sender: TObject);
begin
// enable controls
Label6.Enabled := true; // Type
Label7.Enabled := true; // Length
Label8.Enabled := true; // Set
ComboBoxType.Enabled := true;
EditLengthSet.Enabled := true;
EditDefault.Enabled := true;
CheckBoxPrimary.Enabled := true;
CheckBoxIndex.Enabled := true;
CheckBoxUnique.Enabled := true;
CheckBoxBinary.Enabled := true;
CheckBoxUnsigned.Enabled := true;
CheckBoxZerofill.Enabled := true;
CheckBoxNotNull.Enabled := true;
CheckBoxAutoIncrement.Enabled := true;
end;
procedure TCreateTableForm.fillControls(Sender: TObject);
begin
// fill controls with values
with fields[index] do
begin
ComboBoxType.ItemIndex := Typ;
EditLengthSet.Text := LengthSet;
EditDefault.Text := Default;
CheckBoxPrimary.Checked := Primary;
CheckBoxIndex.Checked := Index;
CheckBoxUnique.Checked := Unique;
CheckBoxBinary.Checked := Binary;
CheckBoxUnsigned.Checked := Unsigned;
CheckBoxZerofill.Checked := Zerofill;
CheckBoxNotNull.Checked := NotNull;
CheckBoxAutoIncrement.Checked := AutoIncrement;
end;
checktypes(self);
end;
procedure TCreateTableForm.ButtonMoveUpClick(Sender: TObject);
begin
// move up
setlength(fields, length(fields)+1);
fields[length(fields)-1] := fields[index-1];
fields[index-1] := fields[index];
fields[index] := fields[length(fields)-1];
setlength(fields, length(fields)-1);
dec(index);
refreshfields(self);
end;
procedure TCreateTableForm.ButtonMoveDownClick(Sender: TObject);
begin
// move down
setlength(fields, length(fields)+1);
fields[length(fields)-1] := fields[index+1];
fields[index+1] := fields[index];
fields[index] := fields[length(fields)-1];
setlength(fields, length(fields)-1);
inc(index);
refreshfields(self);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -