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

📄 jb.pas

📁 窗口中的多个文本框的值 使用循环方式取得
💻 PAS
字号:
unit jb;

interface

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

type
  Tjbform = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    Label24: TLabel;
    Label25: TLabel;
    Label26: TLabel;
    Label27: TLabel;
    Label28: TLabel;
    Label29: TLabel;
    Label30: TLabel;
    Label31: TLabel;
    Label32: TLabel;
    Label33: TLabel;
    Label34: TLabel;
    Label35: TLabel;
    Label36: TLabel;
    Label37: TLabel;
    Label38: TLabel;
    Label39: TLabel;
    Label40: TLabel;
    Label41: TLabel;
    Label42: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Edit8: TEdit;
    Edit9: TEdit;
    Edit10: TEdit;
    Edit11: TEdit;
    Edit12: TEdit;
    Edit13: TEdit;
    Edit14: TEdit;
    Edit15: TEdit;
    Edit16: TEdit;
    Edit17: TEdit;
    Edit18: TEdit;
    Edit19: TEdit;
    Edit20: TEdit;
    Edit21: TEdit;
    Edit22: TEdit;
    Edit23: TEdit;
    Edit24: TEdit;
    Edit25: TEdit;
    Edit26: TEdit;
    Edit27: TEdit;
    Edit28: TEdit;
    Edit29: TEdit;
    Edit30: TEdit;
    Edit31: TEdit;
    Edit32: TEdit;
    Edit33: TEdit;
    Edit34: TEdit;
    Edit35: TEdit;
    Edit36: TEdit;
    Edit37: TEdit;
    Edit38: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit1Change(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  jbform: Tjbform;
  mytime: TsystemTime;

implementation

{$R *.dfm}

procedure Tjbform.FormCreate(Sender: TObject);
begin
  GetSystemTime(mytime);         //  取出当前的系统时间,mytime有值了
  Edit36.Text:=IntToStr(mytime.wYear);
  if  length(IntToStr(mytime.wMonth))=1 then
    Edit37.Text:='0'+IntToStr(mytime.wMonth)     // 不足补 0
  else
    Edit37.Text:=IntToStr(mytime.wMonth);        // soustr 存储月数据
  if  length(IntToStr(mytime.wDay))=1 then
    Edit38.Text:='0'+IntToStr(mytime.wDay)     // 不足补 0
  else
    Edit38.Text:=IntToStr(mytime.wDay);        // deststr 存储日数据
end;

procedure Tjbform.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if not (KEY IN ['0'..'9',#8,#46]) then Key:=#0;
end;

procedure Tjbform.Edit1Change(Sender: TObject);
Var
  m: array[1..41] of Real;    //  1到35 记录框中的值
  i:Integer;                  //  控制循环
begin
  for i:=1 to 35 do
  begin
    if ((Self.Components[i+41] as TEdit).Text='') then
      m[i]:=0
    else
      m[i]:=StrToFloat((Self.Components[i+41] as TEdit).Text);
  end;
  Edit3.Text:=FloatToStr(m[2]-m[1]);
  Edit6.Text:=FloatToStr(m[5]-m[4]);
  Edit7.Text:=FloatToStr(StrToFloat(Edit3.Text)+StrToFloat(Edit6.Text));
  Edit9.Text:=FloatToStr(StrToFloat(Edit7.Text)-m[8]);
  m[36]:=0;               // 上账的收入小计赋初值
  for i:=10 to 12 do
    m[36]:=m[36] + m[i];
  Edit13.Text:=FloatToStr(m[36]);
  m[37]:=0;               // 暂存的收入小计赋初值
  for i:=16 to 18 do
    m[37]:=m[37] + m[i];
  Edit19.Text:=FloatToStr(m[37]);
  m[38]:=0;               // 暂存的收入小计赋初值
  for i:=14 to 18 do
    m[38]:=m[38] + m[i];
  Edit20.Text:=FloatToStr(StrToFloat(Edit9.Text)+StrToFloat(Edit13.Text)+m[38]);
  m[39]:=0;               // 支出合计赋初值
  for i:=21 to 25 do
    m[39]:=m[39] + m[i];
  Edit26.Text:=FloatToStr(m[39]);
  Edit27.Text:=FloatToStr(StrToFloat(Edit20.Text)-StrToFloat(Edit26.Text));
  Edit28.Text:=FloatToStr(StrToFloat(Edit13.Text)-StrToFloat(Edit26.Text));
  m[40]:=0;               // 除去押金和预留后的收入赋初值
  for i:=29 to 33 do
    m[40]:=m[40] + m[i];
  Edit34.Text:=FloatToStr(m[40]);
  m[41]:=abs(StrToFloat(Edit27.Text)-StrToFloat(Edit34.Text));
  if  (StrToFloat(Edit27.Text) > StrToFloat(Edit34.Text)) then
    label35.Caption:='结果还缺'
  else
    label35.Caption:='结果还多';
  Edit35.Text:=FloatToStr(m[41]);
end;

end.

⌨️ 快捷键说明

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