como no vb?

Delphi

05/04/2003

sei programar em vb e estou começando a aprendere em delphi e tenho uma pequena duvida;
no vb quando eu criar qualquer objeto como um array bastava simplesmento copiar e colar o objeto e o array estava criado.
Mas no delphi isso não funciona desta forma, como faço para criar por exemplo um ´editbox´ com o mesmo nome mas diferenciado por indice como no vb? :?:


Anonymous

Anonymous

Curtidas 0

Respostas

Anonymous

Anonymous

05/04/2003

Em tempo de design nao tem como.


GOSTEI 0
As-mad

As-mad

05/04/2003

Se eu entendi direito vc pode utilizar a propriedade tag para configurar os grupos, mas terá q utilizar código para controlar esse agrupamento. Se vc utilizar um evento compartilhado por exemplo poderia utilizar algo como o comando:

procedure TForm1.Edit1Click(Sender: TObject);
begin
case (Sender as TEdit).Tag of
0: ShowMessage(´Edit 1´);
1: begin
ShowMessage(´Edit 2´);
Edit2.Visible := False;
end;
end;
end;


GOSTEI 0
Anonymous

Anonymous

05/04/2003

:D Fico agradecido pela boa vontade de vocês, mas ou eu não consegui entender direito a dica :oops: ou não enderam o meu problema, vou tentar ser mais claro na minha pergunta.
imagine que eu tenha um cadastro com umas 30 editbox, e que em determinada parte no program eu tenha que... vamos dizer limpar todas e pelo o que eu conheço do delphi até agora(que por sinal não é muito(Pra dizer a verdade quase nada :oops: ))eu teria que apagar uma por uma.
No vb bastava eu criar um loop com as textboxcriadas como um array e o problema estava resolvido. Ex:
for a =1 to 30
campo(a).text=´´
next a
com este mesmo esquema eu conseguia manipular o banco de dados. :?
o que eu gostaria de saber é que se no delphi dá para fazer algo igual, e se da, como?
Desde já fico agradecido pela boa vontade de vocês.
:wink:


GOSTEI 0
Anonymous

Anonymous

05/04/2003

Set a propriedade Tag dos componentes para um número.

E faça como mostra abaixo:

const
  TAG_CONJUNTOX = 1;

procedure ...
var
  i: integer;
begin
  for i := 0 to ComponentCount - 1 do begin
    if TEdit(Components[i]).Tag = TAG_CONJUNTOX then
      if Components[i] is TEdit then
        TEdit(Components[i]).Text := ´´;
  end;
end;


Se for fazer a operacao para todos os edits do form, entao nao precisa tratar um Tag.


GOSTEI 0
Anonymous

Anonymous

05/04/2003

((Teve um erro no codigo da msg anterior. Veja este.))

Set a propriedade Tag dos componentes para um número.

E faça como mostra abaixo:

Código:

const
TAG_CONJUNTOX = 1;

procedure ...
var
i: integer;
begin
for i := 0 to ComponentCount - 1 do begin
if Components[i].Tag = TAG_CONJUNTOX then
if Components[i] is TEdit then
TEdit(Components[i]).Text := ´´;
end;
end;



Se for fazer a operacao para todos os edits do form, entao nao precisa tratar um Tag.


GOSTEI 0
Cal

Cal

05/04/2003

:D Muito obrigado pela dica. funcionou direitinho :D


GOSTEI 0
POSTAR