unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type
TForm1 = class(TForm)
ListBox1: TListBox;
Button1: TButton;
Memo1: TMemo;
Label1: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Button2: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure refreshList;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
items:array[0..1000,0..1] of string;
implementation
{$R *.dfm}
function getLastId:integer;
var
i:integer;
begin
result:=-1;
for i := 0 to 1000 do
begin
if ((Items[i,0] = '') AND (Items[i,1] = '')) then
begin
result:=i;
break;
end;
end;
end;
procedure TForm1.refreshList;
var
i:integer;
begin
ListBox1.Clear;
for i := 0 to 1000 do
begin
if ((Items[i,0] = '') OR (Items[i,1] = '')) then break;
ListBox1.Items.Add(Items[i,0]+' ('+Items[i,1]+'р)');
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
sum:integer;
begin
Memo1.Lines.Clear;
Memo1.Lines.Add('Товары:');
sum:=0;
for i := 0 to ListBox1.Items.Count-1 do
begin
if (ListBox1.Selected[i]) then
begin
Memo1.Lines.Add(ListBox1.Items[i]);
sum:=sum+StrToInt(Items[i,1]);
end;
end;
Label1.Caption:=IntToStr(sum);
end;
procedure TForm1.Button2Click(Sender: TObject);
var
lastId:integer;
begin
lastId:=getLastId;
Items[lastId,0]:=Edit1.Text;
Items[lastId,1]:=Edit2.Text;
refreshList;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
i:integer;
begin
Items[0,0]:='Хрень №1'; Items[0,1]:='20';
Items[1,0]:='Хрень №2'; Items[1,1]:='234';
Items[2,0]:='Хрень №3'; Items[2,1]:='102';
Items[3,0]:='Хрень №4'; Items[3,1]:='41';
Items[4,0]:='Хрень №5'; Items[4,1]:='32';
Items[5,0]:='Хрень №6'; Items[5,1]:='50';
refreshList;
end;
end.