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 + -
显示快捷键?