⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 createtable.pas

📁 MysqlFront的源码
💻 PAS
📖 第 1 页 / 共 2 页
字号:
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 + -