Delphi Brasil
Seja bem-vindo (a) ao Delphi Brasil,aqui você encontrará dicas,tutoriais e etc.
Por favor,registre-se para obter o maior proveito possivel do fórum.
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Conectar-se

Esqueci minha senha

Parceiros

Criando componentes em tempo de execução

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Criando componentes em tempo de execução

Mensagem por leandrohackerx em Sab Abr 09, 2011 1:49 pm

Olá galera,eu estou aqui para encinar a vocês como criar componentes em tempo de execução no delphi.
Abra o seu delphi e mãos a obra!
Agora que você ja abriu o delphi, crie um novo projeto e adicione um botão no formulário.
Neste meu exemplo, nós queremos que ao clicar no botão aparece um novo botão no formulário.Então no evento OnClick do botão cire uma variavel antes de begin e depois de procedure assim:

procedure TForm1.Button1Click(Sender: TObject);
var
Btn: TButton;

begin

end;

Agora entre begin e end você deve adicionar todo o codigo.
Primeiro vamos dar um valor a variavel btn.Adicione a seguinte linha de código:

Btn:=TButton.Create(Self); //Da o valor especificado a variavel do tipo TButton

Agora vamos fazer isto mais rápido,vou colocar o resto do codigo e explicar com comentários blz?
Adicione os códigos seguintes:

Btn.Parent:=Form1; //O botão aparece no formulario,você pode colocá-lo dentro de
//qualquer outro componente colocando o nome dele,exemplo: panel1
Btn.Name:='Button2'; //Dá um nome ao botão
Btn.Left:=50; //Especifica a posição X do botão
Btn.Top:=50; //Especifica a posição Y do botão
Btn.Height:=25; //Define a altura do botão
Btn.Widht:=72; //Define a largura do botão

Pronto!Agora você pode me perguntar:
- E se eu quiser adicionar um evento no botão?
A resposta é:
- Simples,primeiro eu crio uma procedure e depois defino a propiedade OnClick para o nome dela.Não entendeu?Então vamos na prática!

Lá em cima no código,depois de:

...
implementation

{$R *.dfm}

Adicione este codigo:

procedure TForm1.Clicou(Sender: TObject);
begin
//Seu codigo aqui!
end;


No lugar de "//Seu codigo aqui!" você adiciona o código que quiser.No meu caso eu adicionei um "ShowMessage('Teste!');".

Agora la em cima no codigo,entre public e end;, adicione a seguinte linha:

procedure Clicou(Sender: TObject);

Depois disso volte em:

procedure TForm1.Button1Click(Sender: TObject);
var
Btn: TButton;
begin

Btn:=TButton.Create(Self); //Da o valor especificado a variavel do tipo TButton
Btn.Parent:=Form1; //O botão aparece no formulario,você pode colocá-lo dentro de
//qualquer outro componente colocando o nome dele,exemplo: panel1
Btn.Name:='Button2'; //Dá um nome ao botão
Btn.Left:=50; //Especifica a posição X do botão
Btn.Top:=50; //Especifica a posição Y do botão
Btn.Height:=25; //Define a altura do botão
Btn.Widht:=72; //Define a largura do botão
end;

E adicione o código depois de "Btn.Widht:=72; //Define a largura do botão" e antes de end;.:

Btn.OnClick:=Clicou; //Define o evento OnClik para o botão

Agora teste e seja feliz!xD.

Codigo fonte completo do tutorial:
Código:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure Clicou(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Clicou(Sender: TObject);
begin
//Seu codigo aqui!
ShowMessage('Teste!');
end;

procedure TForm1.Button1Click(Sender: TObject);
var
Btn: TButton;
begin
Btn:=TButton.Create(Self); //Da o valor especificado a variavel do tipo TButton
Btn.Parent:=Form1; //O botão aparece no formulario,você pode colocá-lo dentro de
//qualquer outro componente colocando o nome dele,exemplo: panel1
Btn.Name:='Button2'; //Dá um nome ao botão
Btn.Left:=50; //Especifica a posição X do botão
Btn.Top:=50; //Especifica a posição Y do botão
Btn.Height:=25; //Define a altura do botão
Btn.Width:=72; //Define a largura do botão
Btn.OnClick:=Clicou;
end;

end.


Tutorial criado por leandrohackerx.
Copyright © 2011 leandrohackerx

_________________
Quer distribuir aqueles programinhas de 500Kb sem precisar fazer upload deles?
Use o Alien Hex,com ele você distribuie os seus arquivos em forma de texto hexadecimal.
O Alien Hex é um ótimo software que converte qualquer arquivo em hexadecimal e qualquer codigo hexadecimal em arquivo.
Link: http://delphibrasil.forumeiros.com/t7-alien-hex-distribua-os-seus-arquivos-em-hexadecimal-sem-problemas#34
avatar
leandrohackerx
Administrador
Administrador

Mensagens : 19
Data de inscrição : 17/12/2010
Idade : 21
Localização : Na frente do PC

Ver perfil do usuário http://delphibrasil.forumeiros.com

Voltar ao Topo Ir em baixo

Re: Criando componentes em tempo de execução

Mensagem por Ninja8086 em Seg Ago 01, 2011 9:43 pm

Esse é o melhor jeito de deixar o executável menor mesmo. Não fica lá muito protegido mas o custo benefício de tamanho é bom....
avatar
Ninja8086
Membro
Membro

Mensagens : 5
Data de inscrição : 19/04/2011

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum