Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unit frmMain;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls, ExtCtrls, frmCount, Contnrs;
- type
- TForm1 = class(TForm)
- BAddFrame: TButton;
- GroupBox1: TGroupBox;
- Edit1: TEdit;
- procedure BAddFrameClick(Sender: TObject);
- procedure FormCreate(Sender: TObject);
- private
- { Private-Deklarationen }
- public
- procedure AdderClick(Sender: TObject);
- procedure RemoveClick(Sender: TObject);
- end;
- var
- Form1: TForm1;
- frames: TObjectList;
- total: Integer;
- implementation
- {$R *.dfm}
- procedure TForm1.AdderClick(Sender: TObject);
- var frm: TAdderframe;
- begin
- frm := ((Sender as TButton).Parent as TAdderframe);
- total := total + frm.subtotal;
- Edit1.Text := IntToStr(total);
- end;
- procedure TForm1.BAddFrameClick(Sender: TObject);
- var
- frame: TAdderframe;
- begin
- frame := TAdderframe.Create(Groupbox1);
- frame.Name := '';
- frame.Parent := Groupbox1;
- frame.Width := Groupbox1.ClientWidth-2;
- frame.Top := frame.Height * frames.Count;
- frame.BAdd.OnClick := AdderClick;
- frame.BRemoveFrame.OnClick := RemoveClick;
- frames.Add(frame);
- end;
- procedure TForm1.FormCreate(Sender: TObject);
- begin
- frames := TObjectList.Create;
- total := 0;
- end;
- procedure TForm1.RemoveClick(Sender: TObject);
- var i: Integer;
- begin
- frames.Remove((Sender as TControl).Parent);
- for I := 0 to frames.count - 1 do
- begin
- (frames[i] as TAdderframe).Top := (frames[i] as TAdderframe).Height * i;
- end;
- end;
- end.
- =============================
- unit frmCount;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls;
- type
- TAdderframe = class(TFrame)
- EAmount: TEdit;
- BAdd: TButton;
- BRemoveFrame: TButton;
- procedure EAmountChange(Sender: TObject);
- private
- { Private-Deklarationen }
- public
- subtotal: Integer;
- end;
- implementation
- {$R *.dfm}
- procedure TAdderframe.EAmountChange(Sender: TObject);
- begin
- subtotal := StrToIntDef(EAmount.Text,0);
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement