📄 input.pas
字号:
unit InPut;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,ADODB;
type
TFrmCInPut = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Button1: TButton;
Button2: TButton;
Label6: TLabel;
Label7: TLabel;
Edit6: TEdit;
Edit7: TEdit;
Label8: TLabel;
Edit8: TEdit;
Label9: TLabel;
procedure Button2Click(Sender: TObject);
procedure Edit6KeyPress(Sender: TObject; var Key: Char);
procedure Edit6Change(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
function IsNotNumric(const ScrString:string):Boolean;
end;
var
FrmCInPut: TFrmCInPut;
implementation
uses Unit2;
{$R *.dfm}
function TFrmCInPut.IsNotNumric(const ScrString:string):boolean;
var
c:string;
i:integer;
BoolResult:Boolean;
cnt:integer;
begin
cnt:=0;
BoolResult := FALSE;
if copy(ScrString,1,1)='.' then
cnt:=1;
for i := 2 to length(Scrstring) do
begin
//c:=PChar(copy(ScrString,i,1))^;
c := Copy(ScrString,i,1);
if c='-' then
begin
BoolResult:=true;
break;
end;
if c = '.' then
begin
cnt:=cnt+1;
if cnt>1 then
begin
boolResult:=true;
break;
end;
end;
// else
// BoolResult:=false;
end;
Result := BoolResult;
end;
procedure TFrmCInPut.Button2Click(Sender: TObject);
begin
Self.Close;
end;
procedure TFrmCInPut.Edit6KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9',#8,'.'] ) then
key:=#0;
end;
procedure TFrmCInPut.Edit6Change(Sender: TObject);
begin
Edit7.Text := FloatToStr(StrToFloatDef(Edit3.Text,0)*StrToFloatDef(Edit6.Text,0));
end;
procedure TFrmCInPut.Button1Click(Sender: TObject);
var
Query1:TADOQuery;
nian:Integer;
zhou:Integer;
riqi:string;
kucunshu:string;
kucunjine:string;
rukushu:string;
rukujine:string;
chukushu:string;
chukujine:string;
jiecunshu:string;
jiecunjine:string;
lastrukushu:string;
// lastrukujine:string;
values:string;
begin
Query1 := TADOQuery.Create(NIL);
Query1.ConnectionString := Frmmain.ADOConnection1.ConnectionString;
if IsNotNumric(Edit6.Text) = TRUE then
begin
Application.MessageBox('请输入合法的数字!','提示',MB_OK OR MB_ICONINFORMATION);
Edit6.Text := '';
Exit;
end;
if (StrToFloatDef(Edit6.Text,0) = 0) then
begin
//Application.MessageBox('请输入入库数量.','提示',MB_OK OR MB_ICONINFORMATION);
Edit6.Text := '0';
//Exit;
end;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Select max(nian) as maxYear from WeekHaoCai where class='''+clclass+''' and cailiaoming='''+Edit1.Text+'''');
Query1.Prepared;
Query1.Open;
nian := Query1.FieldByName('maxYear').AsInteger; //取得年
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Select max(zhou) as maxWeek from WeekHaoCai where class='''+clclass+''' and cailiaoming='''+Edit1.Text+
''' and nian='+IntToStr(nian));
Query1.Prepared;
Query1.Open;
zhou := Query1.FieldByName('maxWeek').AsInteger; //取得周
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Select * from WeekHaoCai where class='''+ clclass+ ''' and nian='+IntToStr(nian)+
' and zhou='+IntToStr(zhou)+' and cailiaoming='''+Edit1.Text+'''');
Query1.Prepared;
Query1.Open;
if Not Query1.Eof then
begin //提取周记录
kucunshu := Query1.FieldByName('kucunshuliang').AsString;
kucunjine := Query1.FieldByName('kucunjine').AsString;
rukushu := Query1.FieldByName('rukushuliang').AsString;
rukujine := Query1.FieldByName('rukujine').AsString;
chukushu := Query1.FieldByName('chukushuliang').AsString;
chukujine := Query1.FieldByName('chukujine').AsString;
end;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Select * from LastWeekIn where class='''+clclass+'''and cailiaoming='''+Edit1.Text+'''');
Query1.Prepared;
Query1.Open;
if Not Query1.Eof then
begin //提取最近的一周最后一次入库数
lastrukushu := Query1.FieldByName('lastrukushu').AsString;
end; //少入.修改前的数目小于现入库,增加入库数
if StrToFloatDef(Edit6.Text,0) >= StrToFloatDef(lastrukushu,0) then
begin
values := FloatToStr(StrToFloatDef(Edit6.Text,0)-StrToFloatDef(lastrukushu,0));
if StrToFloatDef(values,0) > 0 then
begin //计算修改后的个字段的变化
rukushu := FloatToStr(StrToFloat(rukushu)+StrToFloat(values));
rukujine := FloatToStr(StrToFloat(rukushu)*StrToFloat(Edit3.Text));
jiecunshu := FloatToStr(StrToFloat(kucunshu)+StrToFloat(rukushu)-StrToFloat(chukushu));
jiecunjine := FloatToStr(StrToFloat(kucunjine)+StrToFloat(rukujine)-StrToFloat(chukujine));
Query1.Close;
Query1.SQL.Clear; {周}
Query1.SQL.Add('Update WeekDataCache set rukushu='''+Format('%.2f',[StrToFloat(rukushu)])+''',rukujine='''+Format('%.2f',[StrToFloat(rukujine)])+
''' where class='''+clclass+''' and cailiaoming='''+Edit1.Text+'''');
Query1.ExecSQL;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Update WeekHaoCai set rukushuliang='''+Format('%.2f',[StrToFloat(rukushu)])+''',rukujine='''+Format('%.2f',[StrToFloat(rukujine)])+
''',jiecunshuliang='''+jiecunshu+''',jiecunjine='''+jiecunjine+''' where class='''+clclass+''' and cailiaoming='''+Edit1.text+
''' and nian='+IntToStr(nian)+' and zhou='+IntToStr(zhou));
Query1.ExecSQL;
Query1.Close;
Query1.SQL.Clear; {月}
Query1.SQL.Add('Select max(riqi) as maxDate from MonthHaoCai where class='''+clclass+
''' and cailiaoming='''+Edit1.Text+'''');
Query1.Prepared;
Query1.Open;
if Not Query1.Eof then
riqi := Query1.FieldByName('maxDate').AsString;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Select * from MonthHaoCai where class='''+clclass+''' and cailiaoming='''+
Edit1.Text+''' and riqi='''+riqi+'''');
Query1.Prepared;
Query1.Open; {提取数}
kucunshu := Query1.FieldByName('kucunshu').AsString;
kucunjine := Query1.FieldByName('kucunjine').AsString;
rukushu := Query1.FieldByName('rukushu').AsString;
//rukujine := Query1.FieldByName('rukujine').AsString;
rukushu := FloatToStr(StrToFloat(rukushu)+StrToFloat(values));
rukujine := FloatToStr(StrToFloat(rukushu)*StrToFloat(Edit3.Text));
chukushu := Query1.FieldByName('chukushu').AsString;
chukujine := Query1.FieldByName('chukujine').AsString;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -