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

📄 basesetup.pas

📁 很好的文具管理软件
💻 PAS
📖 第 1 页 / 共 2 页
字号:

procedure TFrmBaseSetup.ReadWareData;
begin
with DM_Wjckgl.ADOQryWare do
begin
  close;
  sql.Text :=format(SSQLTY1,[STGoodsName,SFGoodsName]);
  open;
end;
end;

procedure TFrmBaseSetup.S1Click(Sender: TObject);
var
  sGoods:string;
label A ;     //为使用 GOTO语句
begin
A:
  sGoods:='';
  sGoods:=inputbox(sTitleAdd,sMsgEnterGoodsName ,'');
  if trim(sGoods)='' then exit;
  if DataRepeat(SFGoodsName,sGoods) then
    begin
      msgbox(format(sMsgGoodsRepeat,[sGoods]),STitleError,1);
//      exit;
      goto A;
    end;
//EnabledAddSubItme;
EdtWareName.Text :=sGoods;
with DM_Wjckgl.ADOQry do
begin
  close;
  sql.Text :='insert into 物品名称(根编号,物品种类,物品名称,规格,单位,单价,备注) '+
             'Values(:pNo,:pClass,:pGoods,:pGuige,:pUnit,:pPrice,:pMemo)';
  parameters.ParamByName('pNo').Value :=EdtID.Text;
  parameters.ParamByName('pClass').Value := dxDBTV.Selected.Text;
  parameters.ParamByName('pGoods').Value :=sGoods;
  parameters.ParamByName('pGuige').Value :='无';
  parameters.ParamByName('pUnit').Value :='';
  parameters.ParamByName('pPrice').Value :=0;
  parameters.ParamByName('pMemo').Value :='无';
  execsql;
end;
//dxDBTV.Items.AddChildFirst(dxDBTV.Selected,sGoods);
ReadWareData;

//DM_Wjckgl.ADOQryWare.Locate('物品名称',sGoods,loCaseInsensitive	); 
end;

procedure TFrmBaseSetup.DisabledAddSubItme;
begin
  label2.Enabled :=False;
  label3.Enabled :=False;
  label4.Enabled :=False;
  label5.Enabled :=False;
  label6.Enabled :=False;
  label7.Enabled :=False;
  label8.Enabled :=False;
  CmbType.Enabled :=False;
  EdtWareNo.Enabled :=False;
  EdtWareName.Enabled :=False;
  EdtGuige.Enabled :=False;
  CmbUnit.Enabled :=False;
  EdtPrice.Enabled :=False;
  MemoGoods.Enabled :=False;
end;

procedure TFrmBaseSetup.EnabledAddSubItme;
begin
  label2.Enabled :=true;
  label3.Enabled :=true;
//  label4.Enabled :=true;
  label5.Enabled :=true;
  label6.Enabled :=true;
  label7.Enabled :=true;
  label8.Enabled :=true;
  CmbType.Enabled :=true;
  EdtWareNo.Enabled :=true;
//  EdtWareName.Enabled :=true;
  EdtGuige.Enabled :=true;
  CmbUnit.Enabled :=true;
  EdtPrice.Enabled :=true;
  MemoGoods.Enabled :=true;
end;


procedure TFrmBaseSetup.ReadAllClassName;
begin
CmbType.Clear;
with DM_Wjckgl.ADOQry do
  begin
    close;
    sql.Text :=sSQLReadAllClassName;
    open;
    first;
    while not eof do
      begin
        if FieldValues[SFGoodsName]<>null then
           CmbType.Items.Add(FieldValues[SFGoodsName]);
        next;
      end;
  end;
end;

procedure TFrmBaseSetup.dxDBTVClick(Sender: TObject);
begin
dxDBTV.ReadOnly :=true;
if dxDBTV.Selected.Index =-1 then exit;
if dxDBTV.Selected= nil then exit;
if dxDBTV.Selected.Level=0 then
  begin
    CmbType.ItemIndex :=CmbType.Items.IndexOf(dxDBTV.Selected.Text);
    DisabledAddSubItme;
  end
  else
  begin
//    CmbType.ItemIndex := CmbType.Items.IndexOf(dxDBTV.Selected.Parent.Text);
    EnabledAddSubItme;
  end;
end;

procedure TFrmBaseSetup.PopupMenu1Popup(Sender: TObject);
begin
if dxDBTV.Selected.Index =-1 then exit;
//showmessage(inttostr(dxDBTV.Selected.Index));
//showmessage(intTOStr(dxDBTV.Selected.Level));
if dxDBTV.Selected.Level=0 then
  begin
  S1.Enabled :=true ;
  C1.Enabled :=true;
  C1.Caption :=sMenuChangeItem1;
  end
  else
  begin
  S1.Enabled :=false;
  C1.Enabled :=False;
  C1.Caption :=sMenuChangeItem2;
  end;

end;

procedure TFrmBaseSetup.N3Click(Sender: TObject);
begin
ReadWareData;
end;

procedure TFrmBaseSetup.C1Click(Sender: TObject);
begin
if (dxDBTV.Selected <> Nil) then
  begin
    dxDBTV.ReadOnly :=false;
    dxDBTV.Selected.EditText;
  end;
end;


procedure TFrmBaseSetup.dxDBTVDragDropTreeNode(Destination,
  Source: TTreeNode; var Accept: Boolean);
begin
  if Destination = nil then
  begin
    Accept := False;
    exit;
  end;
 { if Source.TreeView = dxDBTV then
  begin
    Accept := True;
    exit;
  end;      }
  //
  Accept :=  Source.Level>Destination.Level;

end;

procedure TFrmBaseSetup.dxDBTVCustomDraw(Sender: TObject;
  TreeNode: TTreeNode; AFont: TFont; var AColor, ABkColor: TColor);
begin
  if TreeNode.Level =0 then
    begin
      AFont.Style:=[fsBold];
    end
    else
      AFont.Style:=[];
end;

procedure TFrmBaseSetup.D1Click(Sender: TObject);
begin
if msgbox(sMsgImportantDelete ,sTitleImportantHint ,3)=IDNo then exit;
try
if dxDBTV.Selected.Level =0 then
  DeleteClassAllDataFromDatabase
  else
{  begin
    with DM_Wjckgl.ADOQry do
      begin
        close;
        sql.Text :=sDeleteGoodsData;
        parameters.ParamByName('pID').Value :=EdtID.Text ;
        execsql;
      end;
  end;   }
  dxDBTV.Selected.Delete;
  IsChanged:=True;  //己经对基本信息进行过修改
except
  msgbox(sMsgDeleteError,STitleError,1);
end;
end;

procedure TFrmBaseSetup.DeleteClassAllDataFromDatabase;
begin
  with DM_Wjckgl.ADOQry do
  begin
    close;
    sql.Text :=sSQLDeleteAllData;
    parameters.ParamByName('pID1').Value :=EdtID.Text ;
    parameters.ParamByName('pID2').Value :=EdtID.Text ;
    execsql;
  end;
  ReadWareData;  //刷新 树表 数据
end;

function TFrmBaseSetup.DataRepeat(sField,sStr: string): boolean;
begin
with DM_Wjckgl.ADOQry do
begin
  close;
  sql.Text :=format(SSQLStrTerm,[STGoodsName,sField,sStr]);
  open;
  if RecordCount=0 then
    Result:=False
    else
    Result:=true;
  close;
end;
end;

procedure TFrmBaseSetup.EdtWareNoExit(Sender: TObject);
begin
{if DataRepeat(SFGoodsNumber,EdtWareNo.Text) then
  begin
    msgbox(format(sMsgNumberRepeat,[EdtWareNo.Text]),STitleError,1);
    EdtWareNo.SetFocus;
  end; }
end;

procedure TFrmBaseSetup.EdtWareNameExit(Sender: TObject);
begin
if EdtWareName.Text=TempGoods then exit;   //证明无变化
if DataRepeat(SFGoodsName,EdtWareName.Text) then
  begin
    msgbox(format(sMsgNameRepeat,[EdtWareName.Text]),STitleError,1);
    EdtWareName.SetFocus;
  end;
end;

function TFrmBaseSetup.OldpasswordIsRight(sPwd: string): boolean;
begin
with DM_Wjckgl.ADOQry do
begin
  close;
  sql.Text :=format(SSQLTY0,[STLogin]);
  open;
  if (FieldValues[SFLoginPwd]=Encrypt(EdtOldPwd.Text)) or (FieldValues[SFLoginPwd]=null) then
    Result:=true
    else
    Result:=False;
  close;
end;
end;

procedure TFrmBaseSetup.BitBtn1Click(Sender: TObject);
begin
if not OldpasswordIsRight(EdtOldPwd.text) then
  begin
    Msgbox(sMsgOldPasswordError,sTitleError,1);
    EdtOldPwd.SetFocus;
    exit;
  end;
if EdtNewPwd.Text <> EdtCfmPwd.Text then
  begin
    Msgbox(sMsgNewOrCfmPwdError,sTitleError,1);
    EdtNewPwd.SetFocus;
    exit;
  end;
try
with DM_Wjckgl.ADOQry do
  begin
    close;
    sql.Text :=sSQLUpdatePwd;
    parameters.ParamByName('pPwd').Value :=Encrypt(EdtNewPwd.Text);
    execsql;
  end;
  Msgbox(sMsgPwdSetupOk,sTitleHint,0);
except
  Msgbox(sMsgPwdSetupError,sTitleError,1);
end;
end;

procedure TFrmBaseSetup.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
if IsChanged then
  msgbox(sMsgBaseSetupIsChanged,sTitleHint,0);
end;

procedure TFrmBaseSetup.EdtWareNameEnter(Sender: TObject);
begin
TempGoods:=EdtWareName.Text;
CmbType.ItemIndex := CmbType.Items.IndexOf(dxDBTV.Selected.Parent.Text);
end;

end.

⌨️ 快捷键说明

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