tshape dynamicznie 2

0

procedure TForm1.Button1Click(Sender: TObject);
var
i,x,y: Integer;
Shape: TShape;
begin
begin
i := strtoint(edit1.text);
x:=5;
y:=10;
Shape := TShape.Create(Self);
Shape.Parent := Self;
Shape.Name := 'Shape' + IntToStr(i);
Shape.Left := x;
Shape.Top := y;
Shape.Width := 5;
Shape.Height := 5;
end;

Czy taka metoda jest dobra?

0

Nie. Tzn. raczej nie. Co userowi do numeru komponentu?

0

czemu?

0

Jeśli chcesz zrobić to, co w poprzednim temacie, to pomyśl o jakiejś zmiennej globalnej przechowującej numer i przy każdym tworzeniu komponentu inkrementuj wartość tej zmiennej i na jej podstawie twórz nazwę komponentu. W poprzednim temacie były odpowiedzi i to dobre odpowiedzi.

// DOPISANE:
Słuchaj, powiedzieliśmy tyle, że sześciolatek by to sam napisał. I nie chodzi tu o zaawansowanie. Skoro nie wiesz, co to zmienna, to co Ty tu za przeproszeniem robisz? Zapraszam do kursów.

0

Wybaczcie ze nie jestm profesjonalistą tak jak Wy. Ale gdyby ktoś rozjaśnił temat to na pewno włos z głowy by mu nie spadł. Takie zagadkowe podpowiedzi nic mi nie dają.
Sory za klopot.
Prosze jednoczesnie nie usuwać tego postu. Moze znajdzie sie ktoś kto mi pomoze.

0
var
  Form1: TForm1;
  SHP: array of TShape;

implementation

{$R *.dfm}

procedure TForm1.FormClick(Sender: TObject);
begin
  SetLength(SHP, length(SHP) + 1);
  SHP[High(SHP)] := TShape.Create(Self);
  with SHP[High(SHP)] do
  begin
    Parent := Self;
    Left := 6 + High(SHP)*2;
    Top := 6 + High(SHP)*2;
    Width := 50;
    Height := 50;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  SetLength(SHP, 0);
end;
0

Dzięki wielkie za pomoc. !!!

1 użytkowników online, w tym zalogowanych: 0, gości: 1