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

📄 input.pas

📁 材料管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
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 + -