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

📄 output.pas

📁 材料管理系统
💻 PAS
📖 第 1 页 / 共 3 页
字号:
unit OutPut;

interface

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

type
  TFrmCOutPut = class(TForm)
    ComboBox1: TComboBox;
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Label3: TLabel;
    Edit2: TEdit;
    Label4: TLabel;
    Edit3: TEdit;
    Label5: TLabel;
    Edit4: TEdit;
    Label6: TLabel;
    Edit5: TEdit;
    Label7: TLabel;
    Edit6: TEdit;
    Label8: TLabel;
    Edit7: TEdit;
    Label9: TLabel;
    Label10: TLabel;
    Edit8: TEdit;
    Button1: TButton;
    Button2: TButton;
    Label11: TLabel;
    Edit9: TEdit;
    procedure Edit7KeyPress(Sender: TObject; var Key: Char);
    procedure Edit7Change(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure ComboBox1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    function IsNotNumric(const ScrString:string):boolean;
  end;

var
  FrmCOutPut: TFrmCOutPut;

implementation

{$R *.dfm}
uses Unit2, Unit9;
function TFrmCOutPut.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 TFrmCOutPut.Edit7KeyPress(Sender: TObject; var Key: Char);
begin
  if not (key in ['0'..'9',#8,'.'] ) then
    key:=#0;
end;

procedure TFrmCOutPut.Edit7Change(Sender: TObject);
var
  Query1:TADOQuery;
  lastout:string;
  values:string;
begin
  Query1 := TADOQuery.Create(NIL);
  Query1.ConnectionString := Frmmain.ADOConnection1.ConnectionString;
  if ComboBox1.Text <> '' then
  begin
    Query1.Close;
    Query1.SQL.Clear;
    Query1.SQL.Add('Select * from LastWeekOut where class='''+clclass+
      ''' and cailiaoming='''+Edit1.Text+''' and bumenming='''+
      ComboBox1.Text+'''');
    Query1.Prepared;
    Query1.Open;
    if Not Query1.Eof then
      lastout := Query1.FieldByName('lastchukushu').AsString;
    if StrToFloatDef(Edit7.Text,0) > StrToFloatDef(lastout,0) then
    begin
      values := FloatToStr(StrToFloatDef(Edit7.Text,0)-StrToFloatDef(lastout,0));
      values := FloatToStr(StrToFloatDef(Edit4.Text,0)+StrToFloatDef(Edit5.Text,0)-StrToFloatDef(Edit6.Text,0)-StrToFloatDef(values,0));
      if StrToFloatDef(values,0) < 0 then
      begin
        Application.MessageBox('出库数量大于库存数量!','错误',MB_OK OR MB_ICONERROR);
        Edit7.Text := '';
        Exit;
      end;
    end
    else     {多出}
    begin
       {无须处理,相当于入库,不存在不足的问题}
    end;
  end;
  Edit8.Text := FloatToStr(StrToFloatDef(Edit3.Text,0)*StrToFloatDef(Edit7.Text,0));
end;

procedure TFrmCOutPut.Button2Click(Sender: TObject);
begin
  self.Close;
end;

procedure TFrmCOutPut.Button1Click(Sender: TObject);
var
  Query1:TADOQuery;
  nian:Integer;
  zhou:Integer;
  values:string;
  LastOut:string;
  kucunshu:string;
  kucunjine:string;
  rukushu:string;
  rukujine:string;
  chukushu:string;
  chukujine:string;
  jiecunshu:string;
  jiecunjine:string;
  bumenshu:string;
  bumenjine:string;
  sql:string;
  riqi:string;
  //ok:string;
begin
  if (IsNotNumric(Edit7.Text) = True) then
  begin
    Application.MessageBox('请输入合法的数字!','提示',MB_OK OR MB_ICONINFORMATION);
    Edit7.Text := '';
    Exit;
  end;
  if (StrToFloatDef(Edit7.Text,0) = 0) then
    Edit7.Text := '0';
  if ComboBox1.Text = '' then
  begin
    Application.MessageBox('请选择部门名称.','提示',MB_OK OR MB_ICONINFORMATION);
    Exit;
  end;
  Query1 := TADOQuery.Create(NIL);
  Query1.ConnectionString := Frmmain.ADOConnection1.ConnectionString;
  Query1 := TADOQuery.Create(NIL);
  Query1.ConnectionString := Frmmain.ADOConnection1.ConnectionString;
  Query1.Close;
  Query1.SQL.Clear;
  Query1.SQL.Add('select max(nian) as maxyear from WeekHaoCai where cailiaoming='''+Edit1.Text+
    ''' and class='''+clclass+'''');
  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 nian='+IntToStr(nian)+' and cailiaoming='''+Edit1.Text+
    ''' and class='''+clclass+'''');
  Query1.Prepared;         //最近的周
  Query1.Open;
  zhou := Query1.FieldByName('maxweek').AsInteger;
  Query1.Close;
  Query1.SQL.Clear;
  Query1.SQL.Add('Select * from LastWeekOut where class='''+clclass+''' and cailiaoming='''+Edit1.Text+
    ''' and bumenming='''+ComboBox1.Text+'''');
  Query1.Prepared;
  Query1.Open;
  if Not Query1.Eof then
    LastOut := Query1.FieldByName('lastchukushu').AsString;

  if StrToFloatDef(Edit7.Text,0) >= StrToFloatDef(LastOut,0) then
  begin    {少出,修改为一个更大的数字}
    values := FloatToStr(StrToFloatDef(Edit7.Text,0)-StrToFloatDef(LastOut,0));
    if StrToFloatDef(values,0) > 0 then
    begin
      Query1.Close;
      Query1.SQL.Clear;
      Query1.SQL.Add('Select * from WeekHaoCai where nian='+IntToStr(nian)+
        'and zhou='+IntToStr(zhou)+' and class='''+clclass+''' 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;
        chukushu   := FloatToStr(StrToFloat(chukushu)+StrToFloat(values));
        chukujine  := FloatToStr(StrToFloat(chukushu)*StrToFloat(Edit3.Text));
        jiecunshu  := FloatToStr(StrToFloat(kucunshu)+StrToFloat(rukushu)-StrToFloat(chukushu));
        jiecunjine := FloatToStr(StrToFloat(kucunjine)+StrToFloat(rukujine)-StrToFloat(chukujine));

        if ComboBox1.Text = '生产部' then
        begin
          bumenshu  := Query1.FieldByName('scbshuliang').AsString;
          bumenshu  := FloatToStr(StrToFloat(bumenshu)+StrToFloat(values));
          bumenjine := FloatToStr(StrToFloat(bumenshu)*StrToFloat(Edit3.Text));
          sql := 'Update WeekHaoCai set chukushuliang='''+chukushu+''',chukujine='''+chukujine+
            ''',scbshuliang='''+bumenshu+''',scbjine='''+bumenjine+''',jiecunshuliang='''+
            jiecunshu+''',jiecunjine='''+jiecunjine+''' where nian='+IntToStr(nian)+' and zhou='+
            IntToStr(zhou)+' and class='''+clclass+''' and cailiaoming='''+Edit1.Text+'''';

⌨️ 快捷键说明

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