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

📄 createunit1.pas

📁 很好用的一个票据管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  i:integer;
begin
  i:=pos('-',trim(datetostr(datetimepicker1.Date)));
  edit3.Text:=copy(datetostr(datetimepicker1.Date),1,i-1);
end;

procedure TCreateZtForm.BitBtn2Click(Sender: TObject);
begin
  dmdata.ADOConnectiondata.Connected :=false;
  close;
end;

procedure TCreateZtForm.formClose(Sender: TObject;
  var Action: TCloseAction);
begin
   //application.Terminate;
end;

procedure TCreateZtForm.edit1keydown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=vk_down then
     edit2.SetFocus;
end;

procedure TCreateZtForm.edit2keydown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=vk_down then
    DateTimePicker1.SetFocus;
  if key=vk_up then
    edit1.SetFocus;
end;

procedure TCreateZtForm.DateTimePicker1keydown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
   if key =vk_down then
       edit4.SetFocus;
    if key=vk_up then
       edit2.SetFocus;
end;

procedure TCreateZtForm.edit4keydown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if key=vk_down then
     edit1.SetFocus;
   if key=vk_up then
      datetimepicker1.SetFocus;
end;

procedure TCreateZtForm.edit3KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=vk_down then
      stringgrid1.SetFocus;
  if key=vk_up then
      edit3.SetFocus;
end;

procedure TCreateZtForm.stringgrid1keydown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=vk_down  then
     edit3.SetFocus;
  if key=vk_up then
     edit3.SetFocus;
end;

procedure TCreateZtForm.edit6keydown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=vk_down then
      edit7.SetFocus;
  if key=vk_up then
      edit5.SetFocus;    
end;

procedure TCreateZtForm.edit7keydown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=vk_down then
     edit5.SetFocus;
  if key=vk_up then
     edit6.SetFocus;
end;

procedure TCreateZtForm.formshow(Sender: TObject);
begin
    edit1.SetFocus;
    edit4.Text:=trim(ExtractFileDir(Application.ExeName));
end;

procedure TCreateZtForm.BitBtn1Click(Sender: TObject);
var
  i,j,unm:integer;
  rsl:array[1..2] of string;
  CString,str:AnsiString;
  dir1,dir2,str1,str2:string;
   yy,mm,dd:word;
begin
  if (trim(edit1.Text)='') then
    begin
     showmessage('账套编号不能为空');
     exit;
    end;
   if (trim(edit2.Text) = '') then
   begin
     showmessage('账套名称不能为空');
     exit;
   end;
   if (trim(edit5.Text) = '') then
   begin
      showmessage('用户名称不能为空');
      exit;
   end;
   if (trim(edit6.Text) = '') then
   begin
      showmessage('用户密码不能为空');
      exit;
   end;
   if (trim(edit7.Text) = '') then
   begin
     showmessage('确定密码不能为空');
     exit;
   end;
   if (trim(edit6.Text)<>trim(edit7.Text)) then
   begin
     showmessage('输入确定密码与用户密码不相等!');
     exit;
   end;
   with dmdata.CreateHDADOQuery do
   begin
     close;
     sql.Clear;
     sql.Add('Select * from g_account where cacc = :a');
     parameters.ParamByName('a').Value:=trim(edit1.Text);
     open;
     if RecordCount > 0 then
     begin
       showmessage('该账套已经存在,请修改账套号');
       exit;
     end
     else
   try
   with dmdata.CreateHDADOQuery do
   begin
     close;
     sql.Clear;
     sql.Add('insert into g_account values(:a,:b,:c,:d,:e,:f,:g,:h)');
     parameters.ParamByName('a').Value:=edit1.Text;
     parameters.ParamByName('b').Value:=edit2.Text;
     parameters.parambyname('c').value:=edit4.text;
     parameters.ParamByName('d').Value:=datetostr(dateTimepicker1.Date);
     parameters.ParamByName('e').Value:=-1;
     parameters.ParamByName('f').Value:=strtoint(edit8.Text);
     parameters.ParamByName('g').Value:='';
     parameters.ParamByName('h').Value:='';
     Execsql;
   end;
   with dmdata.CreateHDADOQuery do
   begin
     close;
     sql.Clear;
     sql.Add('insert into g_account1(accountNum,iyear,fullpathname) values(:a,:b,:c)');
     parameters.ParamByName('a').Value:=edit1.Text;
     parameters.ParamByName('b').Value:=strtoint(edit3.Text);
     parameters.ParamByName('c').Value:=trim(edit4.Text+'\Zt'+edit1.text+'\'+edit3.Text+'\pjdb.mdb');
     execsql;
   end;
   with dmdata.CreateYearADOQuery do
   begin
     close;
     sql.Clear;
     sql.Add('Select * from g_account1 where  (AccountNum = :a) and (iyear = :b)');
     parameters.ParamByName('a').Value:=edit1.Text;
     parameters.ParamByName('b').Value:=strtoint(edit3.Text);
     open;
     unm:=fieldByName('id').AsInteger;
   end;
   for i:=1 to stringgrid1.RowCount-1 do
   begin
      with dmdata.CreateYearADOQuery do
      begin
        close;
        sql.Clear;
        sql.Add('insert into g_period values(:a,:b,:c,:d,:e,:f)');
        for j:=1 to stringgrid1.ColCount-1 do
        begin
          rsl[j]:=stringgrid1.Cells[j,i];
        end;
        parameters.ParamByName('a').Value:=unm;
        parameters.ParamByName('b').Value:=strtoint(edit3.Text);
        parameters.ParamByName('c').Value:=i;
        parameters.ParamByName('d').Value:=strtodate(rsl[1]);
        parameters.ParamByName('e').Value:=strtodate(rsl[2]);
        parameters.ParamByName('f').Value:=0;
        execsql;
      end;
   end;
   with dmdata.CreateUserADOQuery do
   begin
    close;
    sql.Clear;
    sql.Add('insert into t_user values(:a,:b,:c)');
    parameters.ParamByName('a').Value:=edit5.Text;
    parameters.ParamByName('b').Value:=edit6.Text;
    parameters.ParamByName('c').Value:=edit1.Text;
    execsql;
   end;
  dir1:=ExtractFileDir(Application.ExeName);
  dir2:=trim(dir1+'\Zt'+edit1.text+'\'+edit3.Text);
  str1:=dir1+'\Pjdb.mdb';
  str2:=dir2+'\Pjdb.mdb';
  ForceDirectories(dir2);
  //dmdata.ADOConnectionSet.Connected := false;
  FileCopy(str1,str2);
  //Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\FPGLXT\Zt010\Pjdb.mdb;Persist Security Info=False
  CString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=';
  CString:=CString+dir2;
  str:='\Pjdb.mdb;Persist Security Info=False';
  CString:=CString+str;
  DMData.ADOConnectiondata.Connected := false;
  DMData.ADOConnectiondata.ConnectionString := cstring;
  try
    dmdata.ADOConnectionSet.Connected := true;  //启动与数据库服务器的连接
      //dm.AQ_ksyh.Active:=true;
      //dm.AQ_decsf.Active:=true;
      //dm.AQ_DHYH.Active:=true;
      //dm.AQ_yh.Active:=true;

  except        //抛出异常
    Application.MessageBox('与数据库服务器连接未成功,请重新配置','警告对话框',MB_OK);
  end;
 decodedate(datetimepicker1.Date,yy,mm,dd);
  with dmdata.jzADOQuery do
  begin
   close;
   sql.Clear;
   sql.Add('update g_period set bflag =:d where (iyear = :a) and (id < :b)and(iacc_id =:c)');
   parameters.ParamByName('a').Value :=yy;
   parameters.ParamByName('b').Value :=mm;
   parameters.ParamByName('c').Value :=unm;
   parameters.ParamByName('d').Value :=-1;
   execsql;
  end;
  showmessage('创建成功');
 except
  showmessage('系统出错');
 end;
end;
end;

procedure TCreateZtForm.edit5keydown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if key=vk_down then
      edit6.SetFocus;
  if key=vk_up then
      edit5.SetFocus;
end;

procedure TCreateZtForm.edti1keypress(Sender: TObject; var Key: Char);
var
  m:boolean;
begin
  m:=(key<#8)or(key>#8)and(key<#48)or(key>#57);
  if m then key := #0;

end;

procedure TCreateZtForm.edit8keydown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=vk_down then
      edit3.SetFocus;
  if key=vk_up then
      edit8.SetFocus;
end;

procedure TCreateZtForm.Spinbutton1UpClick(Sender: TObject);
begin
    edit3.Text:=inttostr(strtoint(edit3.Text)+1);
end;

procedure TCreateZtForm.Spinbutton1DownClick(Sender: TObject);
begin
     edit3.Text:=inttostr(strtoint(edit3.Text)-1);
end;

end.


⌨️ 快捷键说明

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