Criar Edits dinâmicos em tempo de execução









Nesse código podemos criar vários Edits (caixas de texto) dinamicamente no formulário.
Vejamos:


private
{ Private declarations }
ArrayEdit :
Array[0..9] of TEdit; //define quantidade de Edits a serem criadas


Dentro de um Button ou em qualquer outro lugar de sua preferência, coloque:

var

x : integer;
begin
for x := 0 to 9 do begin
ArrayEdit[x] := TEdit.Create(Self);
ArrayEdit[x].Parent := Self;
ArrayEdit[x].Text := 'Edit' + IntToStr(x);
ArrayEdit[x].Left := 10;

ArrayEdit[x].Top := 30 + x * 20;
end;

//Edit n° 5, mudando a cor da fonte
ArrayEdit[5].Font.Color := clBlue;

end;
************************************************************
Faça o download do arquivo: Edits Dinamico.rar
************************************************************

"Programar não significa nada;
o importante é encontrar." Pablo Picasso.

Quebrando Linhas no MessageBox

Quebrar linhas no MessageBox, é simples, basta utilizar o comando #13.

Exemplo exibido em um botão (TBitbtn):


procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Application.MessageBox(PChar('Gerando Sistemas...' + #13 + 'Delphi'), 'Teste Quebrar Linha', MB_ICONEXCLAMATION);
end;

**********************************************************************************
Faça o download do arquivo: Quebrando Linhas no MessageBox.rar
**********************************************************************************

"Treino, é treino,
jogo é jogo." Neném Prancha.

Usando MessageBox


Apresentarei aqui duas formas de exibição de mensagem usando o MessageBox.

No primeiro caso, o texto a ser mostrado, é armazenado em duas variáveis do tipo String. Exemplo no botão 1:

procedure TForm1.BitBtn1Click(Sender: TObject);
var Txt1, Txt2: String;
begin
Txt1 := ''; //limpa a variável
Txt2 := ''; //limpa a variável

Txt1 := 'Testando MessageBox';
Txt2 := 'Rio de Janeiro';

MessageBox(Application.Handle, PChar(Txt1), 'Teste 1', MB_ICONINFORMATION + MB_OK);

MessageBox(Application.Handle, PChar('Moro no '+Txt2), 'Teste 2', MB_ICONINFORMATION + MB_OK);
end;
* * * * * * * * * * * * ** ** * *** * * * * * **

Já no segundo caso, a mensagem é armazenada em uma variável do tipo PChar. Exemplo no botão 2:

procedure TForm1.BitBtn2Click(Sender: TObject);
var Msg : PChar;
begin
Msg := ''; //limpa a variável
Msg := 'Testando MessageBox';

Application.MessageBox(Msg,'Teste 1',MB_ICONINFORMATION);
//ou também pode ser:
MessageBox(Application.Handle, Msg, 'Teste 2', MB_ICONINFORMATION + MB_OK);
end;

******************************************************************
Faça o download do arquivo: Usando MessageBox.rar
******************************************************************

"Pense grande.
Quem já ouviu falar de Alexandre, o Médio?" Giles Montgomery.

Entendendo MessageBox

Esta função pertence a API do Windows. Com isso as janelas de mensagens ficam no padrão do Windows. Não é tão complexo de usar.

Parâmetros:
- Handle da janela pai. Este é o handle da aplicação ao qual a janela de mensagens está associada.
- Texto a ser mostrado
- Título da janela
- Flags

- Ícones
MB_ICONINFORMATION,
MB_ICONASTERISK - Letra "i" dentro de um "balãozinho" branco
MB_ICONEXCLAMATION,
MB_ICONWARNING - Ponto de exclamação (!) dentro de um triângulo amarelo
MB_ICONERROR,
MB_ICONSTOP,
MB_ICONHAND - Letra "X" dentro de um círculo vermelho
MB_ICONQUESTION - Ponto de interrogação dentro de um "balãozinhO" brnaco

- Botões
MB_OK - Apenas o botão OK
MB_OKCANCEL - Botões OK e Cancelar
MB_YESNO - Botôes SIM e NÂO
MB_YESNOCANCEL - Botões SIM, NÃO e Cancelar
MB_ABORTRETRYIGNORE - Botões Anular, Repetir e Ignorar
MB_RETRYCANCEL - Botões Repetir e Cancelar

- Default
MB_DEFBUTTON1 - Primeiro botão é o default
MB_DEFBUTTON2 - Segundo botão é o default
MB_DEFBUTTON3 - Terceiro botão é o default

- Modalidade
MB_APPLMODAL - O usuário deve clicar num dos botões da caixa de mensagem antes de continuar trabalhando na janela identificada como pai. O usuário consegue trabalhar em outras janelas de outras aplicações.
MB_SYSTEMMODAL - Igual a MB_APPLMODAL porém impede que o usuário trabalhe em outras janelas

- Outras configurações
MB_HELP - Adiciona "Ajuda" na caixa de mensagens. Clicar no botão Ajuda ou pressionar F1 gera um evento Help
MB_RIGHT - Justifica o texto à direita

- Retorno
IDABORT - Botão "Anular" foi pressionado
IDCANCEL - Botão "Cancelar" foi pressionado ou a tecla "ESC" foi pressionada
IDIGNORE - Botão "Ignorar" foi pressionado
IDNO - Botão "Não" foi pressionado
IDYES - Botão "Sim" foi pressionado
IDOK - Botão "OK" foi pressionado
IDRETRY - Botão "Repetir" foi pressionado

"Se você quer que as pessoas pensem que você é muito inteligente,
simplesmente concorde com elas."
Provérbio Judaico.

Criando Slides no Delphi

Muitas vezes nos perguntamos se é possível criar efeitos sem usar o Timer.
Pois é possível sim. Existem efeitos tipo os que são aplicados nos Slides do PowerPoint, que funcionam aqui também.

Essa dica exibe um Panel que mostrará uma mensagem e aparecerá na horizontal, da esquerda para a direita.
E um formulario (form2) sendo exibido do meio para
fora.
Tudo que precisa é adicionar um botão no formulário principal e inserir a codificação.

Utilizados:
TButton = Button1 (Paleta de Componentes Standart)
TPanel = Panel1 (Paleta de Componentes Standart)
Um novo formulario = form2.

uses
Windows, Messages, SysUtils, Variantes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls;
...
implementation
uses Unit2;

...

procedure TForm1.FormShow(Sender: TObject);
begin
Panel1.Visible : = False;

end;

procedure TButton1Click(Sender: TObject);
begin
//---------------------------------------------------------
//Exibindo Efeito em Panel.
//----------------------------------
-----------------------
Panel1.Caption := 'Exibindo Efeito';
AnimateWindow(Panel1.Handle,3000,AW_HOR_POSITIVE );

Panel1.Visible := True;

//---------------------------------------------------------
//Exibindo Efeito em Formulário 2.
//---------------------------------------------------------

form2.BringToFront;
form1.Hide;
AnimateWindow(form2.Handle,2000,AW_CENTER);
form2.show;

end;

{Segue abaixo outras formas de Animações:
AW_BLEND //Somente no Windows 2000
AW_CENTER //Abre o objeto do meio pra fora
AW_HOR_POSITIVE //Abre o objeto na horizontal, da direita para a esquerda
AW_HOR_NEGATIVE //Abre o objeto na horizontal, da esquerda para a direita
AW_VER_POSITIVE //Abre o objeto na vertical, de cima para baixo
AW_VER_NEGATIVE //Abre o objeto na vertic
al, de baixo para cima
}
end.
**********************************************************************
Faça o download do arquivo: Criando Slides no Delphi.rar
**********************************************************************

"Escolha um trabalho que você goste de fazer
e não terá que trabalhar um único dia da sua vida." Confúcio.