uses ObslugaBazy;
type
Baza = Record
...
...
end;
TProgram = class(TForm)
PanelW: TPanel;
procedure FormCreate(Sender: TObject);
private
Nazwy: Array of TLabel;
Przyciski: Array of TLabel;
OBazaD: TObslugaB;
procedure WyswietlDaneNazwyM(Sender: TObject);
public
BazaD: Baza;
end;
var
Program: TProgram;
implementation
procedure TProgram.FormCreate(Sender: TObject);
var
I: Integer;
begin
BazaD := OBazaD.LoadDB('info.txt');
SetLength(Nazwy, Length(BazaD.NazwyM);
for I := 0 to Length(BazaD.NazwyM) - 1 do
begin
Nazwy[I] := TLabel.Create(PanelW);
with Nazwy[I] do
begin
Parent := PanelW;
Caption := BazaD.NazwyM;
end;
end;
SetLength(Przyciski, Length(BazaD.NazwyM);
for I := 0 to Length(BazaD.NazwyM) - 1 do
begin
Przyciski[I] := TLabel.Create(PanelW);
with Przyciski[I] do
begin
Parent := PanelW;
Caption := 'Wyświetl';
OnClik := WyswietlDaneNazwyM;
end;
end;
end;
procedure TProgram.WyswietlDaneNazwyM(Sender: TObject);
var
I: Integer;
begin
if PanelW.ControlCount > 0 then
for I := 0 to PanelW.ControlCount - 1 do
PanelW.Controls[I].Free;
end;
Chciałbym, aby po kliknięciu któregoś z labeli w tablicy Przyciski
usuwały się wszystkie komponenty na PanelW
. W moim przypadku tych komponentów jest 28, problem pojawia się w pętli przy numerze 15 (`I := 14'); W rzeczywistości są usuwane co drugie komponenty, a nie każdy.