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

📄 addlangs.pas

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 PAS
字号:
unit AddLangs;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Buttons, DB, ADODB;

type
  TAddLangsForm = class(TForm)
    lblLangNo: TLabel;
    lblName: TLabel;
    lblTable: TLabel;
    rbNoConv: TRadioButton;
    rbGbToBig5: TRadioButton;
    lblFrom: TLabel;
    cbFromLang: TComboBox;
    edtLangNo: TEdit;
    edtLangName: TEdit;
    edtTableName: TEdit;
    Bevel1: TBevel;
    bbtnOk: TBitBtn;
    bbtnExit: TBitBtn;
    rbGig5ToGb: TRadioButton;
    lblFont: TLabel;
    cbFonts: TComboBox;
    cbFrom: TCheckBox;
    qryLangs: TADOQuery;
    lblHelpFile: TLabel;
    edtHelpFile: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure bbtnOkClick(Sender: TObject);
    procedure bbtnExitClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure cbFromClick(Sender: TObject);
  private
    { Private declarations }
  public
    AInsert:Boolean;
    { Public declarations }
  end;

var
  AddLangsForm: TAddLangsForm;

implementation

uses Languages, SYSDATA, CommFun;

{$R *.dfm}

procedure TAddLangsForm.FormCreate(Sender: TObject);
begin
  cbFonts.Items.Clear;
  cbFonts.Items:=Screen.Fonts;

  cbFromLang.Items.Clear;
  qryLangs.Close;
  qryLangs.SQL.Clear;
  qryLangs.SQL.Add('select * from Langs order by SeqNo');
  qryLangs.Open;
  while not qryLangs.Eof do
  begin
    cbFromLang.Items.Add(qryLangs.FieldByName('LangName').Value);
    qryLangs.Next;
  end;
end;

procedure TAddLangsForm.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  qryLangs.Close;
end;

procedure TAddLangsForm.bbtnOkClick(Sender: TObject);
var
  AFromTable:string;
begin
//确定
  if trim(edtLangNo.Text)='' then
  begin
    ShowMsg('编号不能为空');
    Abort;
  end;
  if trim(edtLangName.Text)='' then
  begin
    ShowMsg('名称不能为空');
    Abort;
  end;
  if trim(edtTableName.Text)='' then
  begin
    ShowMsg('表名不能为空');
    Abort;
  end;
  if trim(cbFonts.Text)='' then
  begin
    ShowMsg('字体不能为空');
    Abort;
  end;

  if AInsert then
  begin
    qryLangs.Close;
    qryLangs.SQL.Clear;
    qryLangs.SQL.Add('select 1 from Langs where LangNo='+''''+trim(edtLangNo.Text)+'''');
    qryLangs.Open;
    if not qryLangs.IsEmpty then
    begin
      ShowMsg('编号已存在,不能新增');
      Abort;
    end;

    qryLangs.Close;
    qryLangs.SQL.Clear;
    qryLangs.SQL.Add('select 1 from Langs where TableName='+''''+trim(edtTableName.Text)+'''');
    qryLangs.Open;
    if not qryLangs.IsEmpty then
    begin
      ShowMsg('表名已存在,不能新增');
      Abort;
    end;
    if cbFrom.Checked then
    begin
      if cbFromLang.Text='' then
      begin
        ShowMsg('必须选择引入的数据源');
        Abort;
      end;
    end;
    //创建表
    qryLangs.Close;
    qryLangs.SQL.Clear;
    qryLangs.SQL.Add('create table '+trim(edtTableName.Text)+'(');
    qryLangs.SQL.Add('  LangID varchar(20) not null,');
    qryLangs.SQL.Add('  Name varchar(255) not null,');
    qryLangs.SQL.Add('  Hint varchar(255) not null,');
    qryLangs.SQL.Add('  Type int not null default 1');
    qryLangs.SQL.Add(')');
    qryLangs.ExecSQL;
    //插入数据
    LanguagesForm.qryLangs.Append;
    LanguagesForm.qryLangs.FieldByName('SeqNo').Value:=LanguagesForm.qryLangs.RecordCount+1;
    LanguagesForm.qryLangs.FieldByName('LangNo').Value:=trim(edtLangNo.Text);
    LanguagesForm.qryLangs.FieldByName('LangName').Value:=trim(edtLangName.Text);
    LanguagesForm.qryLangs.FieldByName('FontName').Value:=trim(cbFonts.Text);
    LanguagesForm.qryLangs.FieldByName('TableName').Value:=trim(edtTableName.Text);
    LanguagesForm.qryLangs.FieldByName('HelpFile').Value:=trim(edtHelpFile.Text);
    LanguagesForm.qryLangs.Post;
    //引入数据
    if cbFrom.Checked then
    begin
      if cbFromLang.Text='' then
      begin
        ShowMsg('必须选择引入的数据源');
        Abort;
      end;
      //取得引入的数据源表名
      qryLangs.Close;
      qryLangs.SQL.Clear;
      qryLangs.SQL.Add('select * from Langs where LangName='+''''+trim(cbFromLang.Text)+'''');
      qryLangs.Open;
      AFromTable:=qryLangs.FieldByName('TableName').Value;
      if rbNoConv.Checked then   //直接引入不转换
      begin
        qryLangs.Close;
        qryLangs.SQL.Clear;
        qryLangs.SQL.Add('insert into '+trim(edtTableName.Text)+'(LangID,Name,Hint)');
        qryLangs.SQL.Add('select LangID,Name,Hint from '+AFromTable);
        qryLangs.ExecSQL;
      end
      else if rbGbToBig5.Checked then   //简体转繁体
      begin
        qryLangs.Close;
        qryLangs.SQL.Clear;
        qryLangs.SQL.Add('insert into '+trim(edtTableName.Text)+'(LangID,Name,Hint)');
        qryLangs.SQL.Add('select LangID,Name,Hint from '+AFromTable);
        qryLangs.ExecSQL;

        qryLangs.Close;
        qryLangs.SQL.Clear;
        qryLangs.SQL.Add('select LangID,Name,Hint from '+trim(edtTableName.Text));
        qryLangs.Open;
        while not qryLangs.Eof do
        begin
          qryLangs.Edit;
          qryLangs.FieldByName('Name').Value:=GBChs2Cht(qryLangs.FieldByName('Name').Value);
          qryLangs.FieldByName('Hint').Value:=GBChs2Cht(qryLangs.FieldByName('Hint').Value);
          qryLangs.Post;
          qryLangs.Next;
        end;
      end
      else if rbGig5ToGb.Checked then   //繁体转简体
      begin
        qryLangs.Close;
        qryLangs.SQL.Clear;
        qryLangs.SQL.Add('insert into '+trim(edtTableName.Text)+'(LangID,Name,Hint)');
        qryLangs.SQL.Add('select LangID,Name,Hint from '+AFromTable);
        qryLangs.ExecSQL;

        qryLangs.Close;
        qryLangs.SQL.Clear;
        qryLangs.SQL.Add('select LangID,Name,Hint from '+trim(edtTableName.Text));
        qryLangs.Open;
        while not qryLangs.Eof do
        begin
          qryLangs.Edit;
          qryLangs.FieldByName('Name').Value:=GBCht2Chs(qryLangs.FieldByName('Name').Value);
          qryLangs.FieldByName('Hint').Value:=GBCht2Chs(qryLangs.FieldByName('Hint').Value);
          qryLangs.Post;
          qryLangs.Next;
        end;
      end;
    end;
  end else  //修改
  begin
    LanguagesForm.qryLangs.Edit;
    LanguagesForm.qryLangs.FieldByName('LangNo').Value:=trim(edtLangNo.Text);
    LanguagesForm.qryLangs.FieldByName('LangName').Value:=trim(edtLangName.Text);
    LanguagesForm.qryLangs.FieldByName('FontName').Value:=trim(cbFonts.Text);
    LanguagesForm.qryLangs.FieldByName('TableName').Value:=trim(edtTableName.Text);
    LanguagesForm.qryLangs.Post;
  end;
  Close;
end;

procedure TAddLangsForm.bbtnExitClick(Sender: TObject);
begin
//退出
  Close;
end;

procedure TAddLangsForm.FormActivate(Sender: TObject);
begin
  edtLangNo.Enabled:=AInsert;
  edtTableName.Enabled:=AInsert;
  cbFrom.Enabled:=AInsert;
  cbFrom.Checked:=AInsert;
  cbFromClick(cbFrom);
  if not AInsert then
  begin
    edtLangNo.Text:=LanguagesForm.qryLangsLangNo.Value;
    edtLangName.Text:=LanguagesForm.qryLangsLangName.Value;
    edtTableName.Text:=LanguagesForm.qryLangsTableName.Value;
    cbFonts.Text:=LanguagesForm.qryLangsFontName.Value;
  end;
end;

procedure TAddLangsForm.cbFromClick(Sender: TObject);
begin
  cbFromLang.Enabled:=cbFrom.Checked;
  rbNoConv.Enabled:=cbFrom.Checked;
  rbGbToBig5.Enabled:=cbFrom.Checked;
  rbGig5ToGb.Enabled:=cbFrom.Checked;
end;

end.

⌨️ 快捷键说明

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