u_sdyxcs.pas

来自「人事管理程序源码」· PAS 代码 · 共 165 行

PAS
165
字号
unit U_sdyxcs;

interface

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

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    GroupBox1: TGroupBox;
    yxcs: TSpinEdit;
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    function pm(num_str:string):integer;
    function jm(num:integer):string;
    procedure yxcsExit(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    xt_dir:string;
  end;
const
   ADOLinkString='Provider=Microsoft.Jet.OLEDB.4.0;'
                +'Data Source=%s;'
                +'Persist Security Info=False;'
                +'Jet OLEDB:Database Password=%S;';
var
  Form1: TForm1;
  mainDBPath,mdbDataSource,mdbPassword:string;
implementation

uses U_dm;

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  mainDBPath :=ExtractFilePath(ParamStr(0));
  mdbDataSource :=mainDBPath+'gzda_db.mdb';
  xt_dir:=mdbDataSource;
  mdbPassword :='630214';
  with dm.ADOConnection1 do begin  //给变量赋值
    Connected:=False;
    ConnectionString :=Format(ADOLinkString,[mdbDataSource,mdbPassword]);//初始连接参数
    if not Connected then Connected:=true;
  end;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  dm.DataModuleDestroy(self);
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
  close;
end;


procedure TForm1.BitBtn1Click(Sender: TObject);
var
  num_str:string;
  cd:integer;
  ii,jj:string;
begin
   num_str:= jm(yxcs.value);
   with dm.ADODataSet1 do begin
     edit;
     fieldbyname('mmc').AsString:=num_str;
     post;
     UpdateBatch(arALL);
   end;
   close;
end;

function TForm1.pm(num_str:string):integer;
var
  i,j:integer;
begin
  try
    i:=strtoint(copy(num_str,4,2));
  except
    i:=8;
  end;
  try
    j:=strtoint(copy(num_str,9,2));
  except
    j:=3;
  end;
  pm:=i*99+j;
end;

function TForm1.jm(num:integer):string;
var
  r1,r2:extended;
  r1_str,r2_str:string;
  i,j:integer;
  i_str,j_str:string;
begin
   i:=num div 99;  //商
   if i<10 then
      i_str:='0'+inttostr(i)
   else
      i_str:=inttostr(i);
   j:=num mod 99; //余数
   if j<10 then
      j_str:='0'+inttostr(j)
   else
      j_str:=inttostr(j);
   r1:=int(99+Random(0)*1000);
   r2:=int(99+Random(0)*1000);
   if r1<10 then
      r1_str:='00'+floattostr(r1)
   else
      if r1<100 then
         r1_str:='0'+floattostr(r1)
      else
         if r1<1000 then
            r1_str:=floattostr(r1);

   if r2<10 then
      r2_str:='00'+floattostr(r2)
   else
      if r2<100 then
         r2_str:='0'+floattostr(r2)
      else
         if r2<1000 then
            r2_str:=floattostr(r2);

   jm:=r1_str+i_str+r2_str+j_str;
end;

procedure TForm1.FormShow(Sender: TObject);
var
  num_str:string;
begin
  with dm.ADODataSet1 do begin
    if active then active:=false;
    commandtext:='select * from xtsz';
    open;
    first;
    num_str:= fieldbyname('mmc').AsString;
    if num_str<>'' then
       yxcs.Value:=pm(num_str);
    yxcs.Refresh;
  end;
end;

procedure TForm1.yxcsExit(Sender: TObject);
begin
  //if yxcs.Value mod 10=0 then yxcs.Value:=yxcs.Value+1;
end;

end.

⌨️ 快捷键说明

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