📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Buttons;
type
TForm1 = class(TForm)
Panel1: TPanel;
Label1: TLabel;
ComboBox1: TComboBox;
GroupBox1: TGroupBox;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label6: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit5: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
GroupBox3: TGroupBox;
Label8: TLabel;
Label9: TLabel;
Label11: TLabel;
Label7: TLabel;
Edit6: TEdit;
Edit7: TEdit;
Edit9: TEdit;
Edit8: TEdit;
Label10: TLabel;
Edit10: TEdit;
Label5: TLabel;
Edit4: TEdit;
procedure BitBtn1Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
var Cc,Cp,Cs,t,Q,S,P,D,f,M:real;
begin
Cc:=StrTofloat(Edit1.Text); //生产费
Cp:=StrTofloat(Edit2.Text); //存储费
D:=StrTofloat(Edit5.Text); //需求量
P:=StrTofloat(Edit10.Text); //补充量
if combobox1.ItemIndex=0 then
begin
Q:=sqrt(2*Cc*D/(Cp*(1-D/P))); //最优生产批量
t:=sqrt(2*Cc/(Cp*D*(1-D/P))); //最优生产周期
f:=sqrt(2*Cc*Cp*D*(1-D/P)); //最小总费用
end
else
begin
Cs:=StrTofloat(Edit3.Text); //缺货费
Q:= sqrt(2*Cc*D*(Cp+Cs)*P/(Cp*Cs*(P-D)));
t:= sqrt(2*Cc*(Cp+Cs)*P/(Cp*Cs*D*(P-D)));
f:=sqrt(2*Cp*Cs*Cc*D*(P-D)/((Cp+Cs)*P));
M:=sqrt(2*Cc*Cp*D*(P-D)/(Cp*(Cp+Cs)*P)); //最大存储量
S:=sqrt(2*Cc*Cp*D*(P-D)/(Cs*(Cp+Cs)*P)); //最大允许缺货量
end;
edit6.Text:=formatfloat('0.###',Q); //格式化输出结果
edit7.Text:=formatfloat('0.###',t);
edit8.Text:=formatfloat('0.###',f);
edit4.Text:=formatfloat('#.###',M);
edit9.Text:=formatfloat('#.###',S);
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
if combobox1.ItemIndex=0 then
begin
edit3.Clear;
edit3.Enabled:=false;
label4.Enabled:=false;
edit9.Clear;
edit9.Enabled:=false;
label7.Enabled:=false;
edit4.Clear;
edit4.Enabled:=false;
label5.Enabled:=false;
end
else
begin
edit3.Clear;
edit3.Enabled:=true;
label4.Enabled:=true;
edit9.Clear;
edit9.Enabled:=true;
label7.Enabled:=true;
edit4.Clear;
edit4.Enabled:=true;
label5.Enabled:=true;
end ;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
close;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
label4.Enabled:=false;
edit3.Clear;
edit3.Enabled:=false;
label7.Enabled:=false;
edit9.Clear;
edit9.Enabled:=false;
edit4.Clear;
edit4.Enabled:=false;
label5.Enabled:=false;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -