ultra 0 Denunciar post Postado Outubro 29, 2004 Salve pessoal iMasters(Delphi). Tenho aká uma pequena dúvida, de nomeação de edits....... Tenho uma variável I (Integer), que adiciono à cada clique no botao +1 A dúvida é, à cada clique no botão ele fará 5 campos edits ficarem visíveis, e à cada outro clique, outros 5 campos....... vou mostrar como está o código: var i: Integer;procedure TForm.btnAddClick(Sender: TObject);begini:= i + 1; ed_X1.Visible := True; ed_Y1.Visible := True; ed_Z1.Visible := True; ed_W1.Visible := True; ed_K1.Visible := True;end; Mas queria poder utilizar o valor do i para nomear os ed_ ...... ( no ASP eu fazia CAMPO&variável )......... Alguém sabe como faço isso ? Me economizaria Linhas e Linhas de código hehe http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Abraços e Agradeço a ajuda http://forum.imasters.com.br/public/style_emoticons/default/joia.gif ULTRA Compartilhar este post Link para o post Compartilhar em outros sites
arrobaroger 0 Denunciar post Postado Outubro 29, 2004 é Ultra isso seria muito bom... O nome do que você está querendo fazer é MacroSubstituição e isso, até o pouco que eu sei, é IMPOSSÍVEL em Delphi. Outras linguagens como Clipper e C++ eu sei que suportam isso, ASP(puro, não ASP.NET) por não ser compilado mas sim usar uma linguagem interpretada pode fazer isso tb. Agora Delphi, não! :( Mas calma é possível melhorar esse código, que tal se nós tentarmos fazer assim: coloca 10 edits no form, ai em 5 deles você muda a propriedade TAG para 1 e nos outros 5 para 2; ai a sua procedure ficaria assim: var i: Integer;procedure TForm.btnAddClick(Sender: TObject);var j: Integer;begin i:= i + 1; for J := 0 to ComponentCount - 1 do//Vou varrer todos componentes begin if Component[J] is TEdit then//verifico se o componente é um edit; TEdit(Component[J]).Visible := TEdit(Component[J]).Tag = i;{o edit só vai ficar visivel se a propriedade tag for igual ao valor de i} Application.processmessages; end;// end; qualquer dúvida tamo ai. ps: não testi esse código. Compartilhar este post Link para o post Compartilhar em outros sites
ultra 0 Denunciar post Postado Outubro 29, 2004 Isso ! Valeu Roger ! Com algumas modificações, e correção no "Component[J]" para "Components[J]" , fiz o script não como eu achava que seria, mas muito muito mais leve que o script atual heheh Apenas limitei o i até 10, ou mais de 1, pois senão se adicionasse + de 10 vezes, ele ia contando o i para 11,12,13,14......... ou 0,-1,-2,-3,-4........ e mudei o: TEdit(Component[J]).Tag = i para TEdit(Component[J]).Tag < i pois os edits antes visíveis sumiam Mas é isso ae ! Mais uma vez muito agradecido Roger ! Me economizou segundos preciosos da minha aplicação ! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
apocalipse 0 Denunciar post Postado Novembro 1, 2004 Salve pessoal iMasters(Delphi). Tenho aká uma pequena dúvida, de nomeação de edits....... Tenho uma variável I (Integer), que adiciono à cada clique no botao +1A dúvida é, à cada clique no botão ele fará 5 campos edits ficarem visíveis, e à cada outro clique, outros 5 campos....... vou mostrar como está o código: var i: Integer;procedure TForm.btnAddClick(Sender: TObject);begini:= i + 1; ed_X1.Visible := True; ed_Y1.Visible := True; ed_Z1.Visible := True; ed_W1.Visible := True; ed_K1.Visible := True;end;Mas queria poder utilizar o valor do i para nomear os ed_ ...... ( no ASP eu fazia CAMPO&variável )......... Alguém sabe como faço isso ? Me economizaria Linhas e Linhas de código hehe http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Abraços e Agradeço a ajuda http://forum.imasters.com.br/public/style_emoticons/default/joia.gif ULTRA Salve Velho belezaComo estaNao sei se entendi direito o que voce que mas vai ae umdica eu criei os edits com ae voce pode crias mas de cincos ...bom vai ae o codigoprocedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);var ed:TEdit; I, J:Integer; Nome:String;begin for J:=ned to ned+4 do begin ed:=TEdit.Create(Self); ed.Parent:=Self; ed.Top:=L+30; ed.Left:=Button1.Left; Nome:='Edit' + IntToStr(J); ed.Name:=Nome; ed.Text:=Nome; L:=ed.Top; end; ned:=ned+ J;end;procedure TForm1.FormShow(Sender: TObject);begin ned:=2; l:=Edit1.Top;end;Fui: Compartilhar este post Link para o post Compartilhar em outros sites