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

📄 hwlangs.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 SVN-BASE
📖 第 1 页 / 共 2 页
字号:
    AName:=ADODataSet1.FieldByName('Name').Value;
    AHint:=ADODataSet1.FieldByName('Hint').Value;

    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('delete from '+ATableName+' where LangID='+''''+AID+'''');
    ADOQuery1.ExecSQL;

    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('insert into '+ATableName+'(LangID,Name,Hint)');
    ADOQuery1.SQL.Add('select '+''''+AID+''''+','+''''+AName+''''+','+''''+AHint+'''');
    ADOQuery1.ExecSQL;

    ADODataSet1.Next;
  end;
end;

procedure THwLangsForm.DeleteData;
var
  ATableName,AID:string;
begin
  ADODataSet1.First;
  while not ADODataSet1.Eof do
  begin
    ATableName:=ADODataSet1.FieldByName('TableName').Value;
    AID:=trim(Edit1.Text);

    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('delete from '+ATableName+' where LangID='+''''+AID+'''');
    ADOQuery1.ExecSQL;

    ADODataSet1.Next;
  end;
end;

procedure THwLangsForm.FormCreate(Sender: TObject);
begin
  SetInterface;  //设置界面信息
  GetLangsData;  //取得多语言数据
  SetButtonState(False);
  PageControl1.ActivePageIndex:=0;
  AReportName:='';
end;

procedure THwLangsForm.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  if ActSave.Enabled then
  begin
    if ShowDialog('UMS10000007')=IDNO then  //数据尚未保存,现在保存吗?
      ActCancel.Execute
    else
      ActSave.Execute;
  end;
  adsLangs.AfterScroll:=nil;
  adsLangs.Close;
  qryLangs.Close;
  Action:=caFree;
end;

procedure THwLangsForm.ActFirstExecute(Sender: TObject);
begin
//最前
  if adsLangs.IsEmpty then Exit;
  adsLangs.First;
  ActFirst.Enabled:=False;
  ActPrior.Enabled:=False;
  ActNext.Enabled:=True;
  ActLast.Enabled:=True;
end;

procedure THwLangsForm.ActPriorExecute(Sender: TObject);
begin
//上移
  if adsLangs.IsEmpty then Exit;
  adsLangs.Prior;
  ActNext.Enabled:=not adsLangs.Eof;
  ActLast.Enabled:=not adsLangs.Eof;
  ActFirst.Enabled:=not adsLangs.Bof;
  ActPrior.Enabled:=not adsLangs.Bof;
end;

procedure THwLangsForm.ActNextExecute(Sender: TObject);
begin
//下移
  if adsLangs.IsEmpty then Exit;
  adsLangs.Next;
  ActNext.Enabled:=not adsLangs.Eof;
  ActLast.Enabled:=not adsLangs.Eof;
  ActFirst.Enabled:=not adsLangs.Bof;
  ActPrior.Enabled:=not adsLangs.Bof;
end;

procedure THwLangsForm.ActLastExecute(Sender: TObject);
begin
//最后
  if adsLangs.IsEmpty then Exit;
  adsLangs.Last;
  ActNext.Enabled:=False;
  ActLast.Enabled:=False;
  ActFirst.Enabled:=True;
  ActPrior.Enabled:=True;
end;

procedure THwLangsForm.ActInsertExecute(Sender: TObject);
begin
//新增
  SetButtonState(True);
  S100('');
  ADODataSet1.Edit;
  Edit1.Text:='';
  Edit1.Enabled:=True;
  Edit1.SetFocus;
end;

procedure THwLangsForm.ActUpdateExecute(Sender: TObject);
begin
//修改
  if adsLangs.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;
  SetButtonState(True);
  ADODataSet1.Edit;
  Edit1.Enabled:=False;
  DBEdit2.SetFocus;
end;

procedure THwLangsForm.ActDeleteExecute(Sender: TObject);
begin
//删除
  if adsLangs.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;

  if ShowDialog('UMS10000008')=IDYES then  //确定要删除此记录吗?
  begin
    DeleteData;
    GetLangsData;
  end;
end;

procedure THwLangsForm.ActSaveExecute(Sender: TObject);
begin
//保存
  if trim(Edit1.Text)='' then
  begin
    ShowMsg('编号不能为空');
    Abort;
  end;
  if trim(DBEdit2.Text)='' then
  begin
    ShowMsg('标题不能为空');
    Abort;
  end;
  if trim(DBEdit3.Text)='' then
  begin
    ShowMsg('提示不能为空');
    Abort;
  end;
  if Edit1.Enabled then
  begin
    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('select * from Chinese where LangID='+''''+trim(Edit1.Text)+'''');
    ADOQuery1.Open;
    if not ADOQuery1.IsEmpty then
    begin
      ShowMsg('编号已存在,不能新增');
      Abort;
    end;
  end;

  try
    SYSDM.LangsADOC.BeginTrans;
    SaveData;
    SYSDM.LangsADOC.CommitTrans;
  except
    SYSDM.LangsADOC.RollbackTrans;
    ShowMsg(SYSDM.ADOC.Errors[0].Description,1);
    Abort;
  end;
  SetButtonState(False);
  ActInsert.Execute;
end;

procedure THwLangsForm.ActCancelExecute(Sender: TObject);
begin
//取消
  ADODataSet1.Cancel;
  SetButtonState(False);
  S100(adsLangsLangID.Value);
  Edit1.Enabled:=True;
  GetLangsData;
end;

procedure THwLangsForm.ActRefreshExecute(Sender: TObject);
begin
//刷新
  GetLangsData;
end;

procedure THwLangsForm.ActLocateExecute(Sender: TObject);
begin
//查找
  if adsLangs.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;
  LocateDialog(dsLangs);
end;

procedure THwLangsForm.ActSearchExecute(Sender: TObject);
begin
//查询
  FilterDialog(dsLangs);
end;

procedure THwLangsForm.ActPrintExecute(Sender: TObject);
begin
//打印
  SelectReport(adsLangs,AProgramID,AReportName,ReportGetValue);
  ActRefresh.Execute;
end;

procedure THwLangsForm.ActExportExecute(Sender: TObject);
begin
//导出到Excel
  if adsLangs.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;
  SaveToExcel(dxDBGrid1);
end;

procedure THwLangsForm.ActExitExecute(Sender: TObject);
begin
//退出
  Close;
end;

procedure THwLangsForm.adsLangsAfterScroll(DataSet: TDataSet);
begin
  if adsLangsLangID.Value<>ALangID then
  begin
    ALangID:=adsLangsLangID.Value;
    S100(ALangID);
  end;
end;

procedure THwLangsForm.PageControl1Changing(Sender: TObject;
  var AllowChange: Boolean);
begin
  AllowChange:=not ActSave.Enabled;
end;

procedure THwLangsForm.ActLangExecute(Sender: TObject);
begin
//语种
  LanguagesForm:=TLanguagesForm.Create(Application);
  LanguagesForm.ShowModal;
end;

procedure THwLangsForm.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key=vk_return then DBEdit2.SetFocus;
end;

procedure THwLangsForm.ADODataSet1NameChange(Sender: TField);
begin
  if not ActSave.Enabled then Exit;
  if ADODataSet1.State in [dsInsert,dsEdit] then
    ADODataSet1Hint.Value:=ADODataSet1Name.Value;
end;

procedure THwLangsForm.dxDBGrid1BackgroundDrawEvent(Sender: TObject;
  ACanvas: TCanvas; ARect: TRect);
var
  AText:string;
begin
  ARect.Left:=0;
  ARect.Top:=0;
  ACanvas.Brush.Color:=dxDBGrid1.GroupPanelColor;
  ACanvas.Font.Color:=dxDBGrid1.GroupPanelFontColor;
  //您可以把列标题拖放到此处使记录按此列进行分组
  if dxDBGrid1.GroupColumnCount=0 then AText:=' '+GetDBString('NOT10001012') else AText:='';
  Windows.FillRect(ACanvas.Handle, ARect, 0);
  DrawText(ACanvas.Handle, PChar(AText), Length(AText), ARect, DT_LEFT or DT_EXPANDTABS or DT_NOPREFIX or DT_SINGLELINE or DT_VCENTER);
end;

procedure THwLangsForm.ReportGetValue(const ParName: String;
  var ParValue: Variant);
begin

end;

end.

⌨️ 快捷键说明

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