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

📄 c_component.~pas

📁 电子元件管理软件
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:

procedure TForm1.c_kindChange(Sender: TObject);
var
  sql_str: string;
begin
  selectcombox(c_kind);
  sql_str := format('select * from child_kind where para_kind_id=%d order by child_kind_order_id', [dc_kind[c_kind.tag]]);
  initcombobox(c_child_kind, dc_child_kind, sql_str, 'id', 'child_kind_name');
end;

procedure TForm1.c_child_kindChange(Sender: TObject);
begin
  selectcombox(c_child_kind);
end;

procedure TForm1.Button6Click(Sender: TObject);
var
  sql_str: string;
begin
  if e_name.Tag = 0 then
    begin
      sql_str := format('insert into component(name,kind_id,child_kind_id,encap_kind_id,sheet,[value],[number],price) values(''%s'',%d,%d,%d,''%s'',''%s'',%d,%f)', [e_name.text, dc_kind[c_kind.tag], dc_child_kind[c_child_kind.tag], dc_encap[c_encap.tag], e_sheet.text, e_value.text, strtoint(e_number.text), StrToCurr(e_price.text)]);
      with ado_temp do
        begin
          close;
          sql.clear;
          sql.add(sql_str);
          ExecSQL;
          ado_component.close;
          ado_component.Open;
          ado_component.Locate('name', e_name.Text, [loCaseInsensitive]);

        end;
      gb2.Visible := false;
    end;
  if e_name.Tag > 0 then
    begin
      sql_str := format('update component set name=''%s'',kind_id=%d,child_kind_id=%d,encap_kind_id=%d,sheet=''%s'',[value]=''%s'',[number]=%d,price=%f where id=%d', [e_name.text, dc_kind[c_kind.tag], dc_child_kind[c_child_kind.tag], dc_encap[c_encap.tag], e_sheet.text, e_value.text, strtoint(e_number.text), StrToCurr(e_price.text), e_name.tag]);
      with ado_temp do
        begin
          close;
          sql.clear;
          sql.add(sql_str);
          ExecSQL;
          ado_component.close;
          ado_component.Open;
          ado_component.Locate('name', e_name.Text, [loCaseInsensitive]);

        end;
      gb2.Visible := false;
    end;

end;

procedure TForm1.Button8Click(Sender: TObject);
var
  sql_str: string;
begin
  gb2.Visible := true;
  e_name.Tag := ado_component.fieldbyname('id').AsInteger;
  e_name.text := ado_component.fieldbyname('name').AsString;
  e_sheet.text := ado_component.fieldbyname('sheet').AsString;
  e_value.text := ado_component.fieldbyname('value').AsString;
  e_number.text := ado_component.fieldbyname('number').AsString;
  e_price.text := ado_component.fieldbyname('price').AsString;
  initcombobox(c_kind, dc_kind, 'select * from kind order by kind_order_id', 'id', 'kind_name');
  unselectcombox(c_kind, dc_kind[ado_component.fieldbyname('kind_id').AsInteger]);
  selectcombox(c_kind);
  sql_str := format('select * from child_kind where para_kind_id=%d order by child_kind_order_id', [dc_kind[c_kind.tag]]);
  initcombobox(c_child_kind, dc_child_kind, sql_str, 'id', 'child_kind_name');
  unselectcombox(c_child_kind, dc_child_kind[ado_component.fieldbyname('child_kind_id').AsInteger]);
  selectcombox(c_child_kind);
  initcombobox(c_encap, dc_encap, 'select * from encap order by encap_order_id', 'id', 'encap_name');
  unselectcombox(c_encap, dc_encap[ado_component.fieldbyname('encap_kind_id').AsInteger]);
  selectcombox(c_encap);
end;

procedure TForm1.Button9Click(Sender: TObject);
var
  sql_str: string;
  bk: TBookmark;
begin
  sql_str := format('delete from component where id=%d', [ado_component.fieldbyname('id').asinteger]);
  ado_component.Prior;
  bk := ado_component.GetBookmark;
  with ado_temp do
    begin
      close;
      sql.clear;
      sql.add(sql_str);
      ExecSQL;
      ado_component.close;
      ado_component.Open;
    end;
  if ado_component.RecordCount > 0 then
    begin
      ado_component.GotoBookmark(bk);
    end;
  ado_component.FreeBookmark(bk);
end;

procedure TForm1.c_encapChange(Sender: TObject);
begin
  selectcombox(c_encap);
end;

procedure TForm1.Button10Click(Sender: TObject);
begin
  gb2.Visible := false;
end;



procedure TForm1.aa(sender: tobject);
var
  id: integer;
begin
  if (sender as TMenuItem).Caption = '升序' then
    begin
      with ado_component do
        begin
          id := fieldbyname('id').asinteger;
          close;
          sql.Strings[5] := ' [' + DBGrid1.Columns[(sender as TMenuItem).tag].FieldName + '] ';
          sql.Strings[6] := ' asc ';
          open;
          Locate('id', id, [loCaseInsensitive]);
        end;
      exit;
    end;
  if (sender as TMenuItem).Caption = '降序' then
    begin
      with ado_component do
        begin
          id := fieldbyname('id').asinteger;
          close;
          sql.Strings[5] := ' [' + DBGrid1.Columns[(sender as TMenuItem).tag].FieldName + '] ';
          sql.Strings[6] := ' desc ';
          open;
          Locate('id', id, [loCaseInsensitive]);
        end;
      exit;
    end;
  begin
    with ado_component do
      begin
        id := fieldbyname('id').asinteger;
        close;
        if DBGrid1.Columns[(sender as TMenuItem).tag].Field.DataType in [ftInteger, ftFloat, ftCurrency] then
          sql.Strings[3] := ' and [' + DBGrid1.Columns[(sender as TMenuItem).tag].FieldName + '] = ' + (sender as TMenuItem).Caption
        else
          sql.Strings[3] := ' and [' + DBGrid1.Columns[(sender as TMenuItem).tag].FieldName + '] = ''' + (sender as TMenuItem).Caption + '''';
        open;
        Locate('id', id, [loCaseInsensitive]);
      end;
    exit;
  end;


end;

procedure TForm1.DBGrid1TitleClick(Column: TColumn);
var
  newitem: tmenuitem;
  sql_str: string;
begin
  if not ado_component.Active then
    exit;
  newitem := tmenuitem.create(self);
  pop1.Items.Clear;
  newitem.Caption := '升序';
  newitem.Tag := column.Index;
  pop1.Items.add(newitem);
  pop1.Items[pop1.Items.Count - 1].OnClick := aa;

  newitem := tmenuitem.create(self);
  newitem.Caption := '降序';
  newitem.Tag := column.Index;
  pop1.Items.add(newitem);
  pop1.Items[pop1.Items.Count - 1].OnClick := aa;
  with ado_temp do
    begin
      close;
      sql.clear;
      sql.text := ado_component.SQL.Text;
      sql.Strings[0] := 'select distinct ' + column.FieldName + ' from v_component ';
      sql.strings[5] := '[' + column.FieldName + ']';
      open;
      while not eof do
        begin
          newitem := tmenuitem.create(self);
          newitem.Caption := ado_temp.fieldbyname(column.FieldName).asstring;
          newitem.Tag := column.Index;
          pop1.Items.add(newitem);
          pop1.Items[pop1.items.Count - 1].OnClick := aa;
          next;
        end;
    end;

  pop1.Popup(mouse.CursorPos.X, mouse.CursorPos.y);
//  column.Field.DisplayText;
//  dbgrid1.Columns[Column.Index].PopupMenu:=pop1;
//  dbgrid1.PopupMenu := pop1;
//      showmessage(sender.column.FieldName);
//      showmessage(column.Field.DisplayText);

end;

procedure TForm1.FormActivate(Sender: TObject);
var
  connet_str: string;
begin
  connet_str := 'Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=' + ExtractFilePath(ParamStr(0)) + 'component.mdb;Mode=Share Deny None;Extended Properties="";';
  connet_str := connet_str + 'Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking ';
  connet_str := connet_str + 'Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System ';
  connet_str := connet_str + 'Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don''t Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False';
  d.ado1.ConnectionString := connet_str;
  with ado_component do
    begin
      sql.clear;
      sql.add('select * from v_component ');
      sql.add(' where [name] like ');
      sql.add(format('''%%%s%%''', [edit1.text]));
      sql.add(' and [kind_name] = ');
      sql.add(' order by ');
      sql.add(' [name] ');
      sql.add(' asc');
    end;
  if ado_component.Active then
    begin
      button2.Enabled := true;
      button3.Enabled := true;
      button4.Enabled := true;
      button5.Enabled := true;
    end
  else
    begin
      button2.Enabled := false;
      button3.Enabled := false;
      button4.Enabled := false;
      button5.Enabled := false;
    end;

end;

procedure TForm1.ado_componentAfterOpen(DataSet: TDataSet);
begin
  if ado_component.RecordCount > 0 then
    begin
      button2.Enabled := true;
      button3.Enabled := true;
      button4.Enabled := true;
      button5.Enabled := true;
    end
  else
    begin
      button2.Enabled := false;
      button3.Enabled := false;
      button4.Enabled := false;
      button5.Enabled := false;
    end;
end;

procedure TForm1.Button11Click(Sender: TObject);
var
  form2: tform2;
begin
  form2 := tform2.create(self);
  form2.showmodal;
  form2.free;
end;

procedure TForm1.ado_memoAfterOpen(DataSet: TDataSet);
begin
  if ado_memo.RecordCount > 0 then
    begin
      button4.Enabled := true;
      button5.Enabled := true;
    end
  else
    begin
      button4.Enabled := false;
      button5.Enabled := false;
    end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -