📄 stumoney.pas
字号:
unit stumoney;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, base, SUIButton, StdCtrls, SUIComboBox, SUIEdit, ExtCtrls,
SUIForm, DB, ADODB;
type
Tfrmstumoney = class(Tbaseform)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
edtname: TsuiEdit;
cbxdep: TsuiComboBox;
cbxmajor: TsuiComboBox;
cbxgrade: TsuiComboBox;
cbxclass: TsuiComboBox;
edtying: TsuiEdit;
edtshi: TsuiEdit;
suiButton1: TsuiButton;
suiButton2: TsuiButton;
suiButton3: TsuiButton;
suiButton4: TsuiButton;
Label11: TLabel;
edtid: TsuiEdit;
adqstu: TADOQuery;
suiButton5: TsuiButton;
procedure FormCreate(Sender: TObject);
procedure cbxgradeChange(Sender: TObject);
procedure suiButton1Click(Sender: TObject);
procedure edtyingKeyPress(Sender: TObject; var Key: Char);
procedure edtshiKeyPress(Sender: TObject; var Key: Char);
procedure suiButton3Click(Sender: TObject);
procedure suiButton4Click(Sender: TObject);
procedure cbxdepChange(Sender: TObject);
procedure suiButton2Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure suiButton5Click(Sender: TObject);
procedure edtidKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmstumoney: Tfrmstumoney;
implementation
uses pub, umain, newstu, rptnew, rptstu, money;
{$R *.dfm}
procedure Tfrmstumoney.FormCreate(Sender: TObject);
var tmp:tadoquery;
begin
inherited;
tmp:=tadoquery.Create(nil);
tmp.ConnectionString :=frmmain.adc.ConnectionString;
try
pub.showrecord(tmp,'*','dep','id');
while not tmp.Eof do
begin
cbxdep.Items.Add(tmp.fieldbyname('dep').AsString);
tmp.Next;
end;
pub.showrecord(tmp,'*','grade','id');
while not tmp.Eof do
begin
cbxgrade.Items.Add(tmp.fieldbyname('grade').AsString);
tmp.Next;
end;
finally
tmp.Free;
end;
end;
procedure Tfrmstumoney.cbxgradeChange(Sender: TObject);
var tmp:tadoquery;
begin
inherited;
cbxclass.Clear;
tmp:=tadoquery.Create(nil);
tmp.ConnectionString:=frmmain.adc.ConnectionString;
try
pub.showrecord(tmp,'*','class where grade='+''''+cbxgrade.Text+'''','id');
while not tmp.Eof do
begin
cbxclass.Items.Add(tmp.fieldbyname('class').AsString);
tmp.Next;
end;
finally
tmp.Free;
end;
end;
procedure Tfrmstumoney.suiButton1Click(Sender: TObject);
var i:integer;
tmp:tadoquery;
begin
inherited;
for i:=0 to suiform1.ControlCount-1 do
if suiform1.Controls[i] is tsuiedit then
if tsuiedit(suiform1.Controls[i]).Text='' then
begin
application.MessageBox('所填信息不完整!','提示',mb_ok+mb_iconinformation);
exit;
end;
for i:=0 to suiform1.ControlCount-1 do
if suiform1.Controls[i] is tsuicombobox then
if tsuicombobox(suiform1.Controls[i]).Text='' then
begin
application.MessageBox('所填信息不完整!','提示',mb_ok+mb_iconinformation);
exit;
end;
tmp:=tadoquery.Create(nil);
tmp.ConnectionString:=frmmain.adc.ConnectionString;
frmmain.adc.BeginTrans;
try
with tmp do
begin
sql.Clear;
sql.Add('insert into money (stuid,stuname,yingjiaomoney,shijiaomoney,status,datetime,type) values (:v1,:v2,:v3,:v4,:v5,:v6,:v7)');
//showmessage(sql.Text);
parameters.ParamByName('v1').Value := edtid.text;
parameters.ParamByName('v2').Value := edtname.Text;
parameters.ParamByName('v3').Value := strtoint(edtying.Text);
parameters.ParamByName('v4').Value := strtoint(edtshi.Text);
parameters.ParamByName('v5').Value := 1;
parameters.ParamByName('v6').Value := formatdatetime('yyyy-mm-dd',now());
parameters.ParamByName('v7').Value := 'newstu';
execsql;
end;
with tmp do
begin
sql.Clear;
sql.Add('update newstu set dep=:v1,major=:v2,grade=:v3,class=:v4,status=:v5 where id=:v6');
parameters.ParamByName('v1').Value :=cbxdep.Text;
parameters.ParamByName('v2').Value :=cbxmajor.Text;
parameters.ParamByName('v3').Value :=cbxgrade.Text;
parameters.ParamByName('v4').Value :=cbxclass.Text;
parameters.ParamByName('v5').Value :=1;
parameters.ParamByName('v6').Value :=edtid.Text;
execsql;
end;
frmmain.adc.CommitTrans;
application.MessageBox('交费成功!','提示',mb_ok+mb_iconinformation);
tmp.Free;
//close;
except
frmmain.adc.RollbackTrans;
raise;
application.MessageBox('交费失败!','警告',mb_ok+mb_iconwarning);
tmp.Free;
end;
end;
procedure Tfrmstumoney.edtyingKeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if not ( key in ['0'..'9',#23,#8]) then
key:=#0;
end;
procedure Tfrmstumoney.edtshiKeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if not ( key in ['0'..'9',#23,#8]) then
key:=#0;
end;
procedure Tfrmstumoney.suiButton3Click(Sender: TObject);
begin
inherited;
frmmoney.id:=strtoint(edtid.Text);
frmmoney.money:=edtshi.Text;
frmrptnew:=tfrmrptnew.Create(nil);
with frmrptnew.QuickRep1 do
begin
previewheight:=screen.Height;
previewwidth:=screen.Width;
preview;
end;
end;
procedure Tfrmstumoney.suiButton4Click(Sender: TObject);
begin
inherited;
frmmoney.id:=strtoint(edtid.Text);
frmrptstu:=tfrmrptstu.Create(nil);
with frmrptstu.QuickRep1 do
begin
previewwidth:=screen.Width;
previewheight:=screen.Height;
preview;
end;
end;
procedure Tfrmstumoney.cbxdepChange(Sender: TObject);
var tmp:tadoquery;
begin
inherited;
cbxmajor.Clear;
tmp:=tadoquery.Create(nil);
tmp.ConnectionString:=frmmain.adc.ConnectionString;
try
pub.showrecord(tmp,'*','major where dep='+''''+cbxdep.Text+'''','id');
while not tmp.Eof do
begin
cbxmajor.Items.Add(tmp.fieldbyname('major').AsString);
tmp.Next;
end;
finally
tmp.Free;
end;
end;
procedure Tfrmstumoney.suiButton2Click(Sender: TObject);
begin
inherited;
close;
end;
procedure Tfrmstumoney.FormShow(Sender: TObject);
begin
inherited;
edtid.SetFocus;
end;
procedure Tfrmstumoney.suiButton5Click(Sender: TObject);
begin
inherited;
frmnewstu:=tfrmnewstu.Create(nil);
frmnewstu.ShowModal;
end;
procedure Tfrmstumoney.edtidKeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if key=#13 then
begin
with adqstu do
begin
sql.Clear;
sql.Add('select * from newstu where stuid like ''%'+edtid.Text+'%''');
//parameters.ParamByName('v1').Value :=edtstuid.Text;
open;
edtname.Text:=adqstu.fieldbyname('stuname').AsString;
cbxdep.Text:=adqstu.fieldbyname('dep').AsString;
cbxmajor.Text:=adqstu.fieldbyname('major').AsString;
cbxgrade.Text:=adqstu.fieldbyname('grade').AsString;
cbxclass.Text:=adqstu.fieldbyname('class').AsString;
end;
if edtname.text='' then
begin
if application.messagebox('未找到该生信息,是否录入?','提示',mb_yesno+mb_iconquestion)=idyes then
begin
frmmain.form:='stumoney';
frmnewstu:=tfrmnewstu.Create(nil);
frmnewstu.ShowModal;
end;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -