Para que servem OnGetEditMask, OnGetEditText e OnSetEditText do TStringGrid  

Posted by: Paulo Bezerra in


O evento OnGetEditMask ocorre quando entramos no modo de edição.
Neste momento podemos verificar em qual linha/coluna se
encontra o cursor e então, se quiser, poderá especificar uma
máscara de edição. Exemplo:

procedure TForm1.StringGrid1GetEditMask(Sender: TObject; ACol,
ARow: Integer; var Value: String);
begin
if (ARow = 1) and (ACol = 1) then
Value := '(999) 999-9999;1;_'; // Telefone
end;

O evento OnGetEditText ocorre também quando entramos no modo
de edição. Neste momento podemos manipularmos o texto da
célula atual (linha/coluna) e então podemos simular algo tal
como uma tabela onde opções podem ser digitadas através
de números. Exemplo:

procedure TForm1.StringGrid1GetEditText(Sender: TObject; ACol,
ARow: Integer; var Value: String);
begin
if (ARow = 1) and (ACol = 2) then begin
if StringGrid1.Cells[ACol, ARow] = 'Ótimo' then
Value := '1'
else if StringGrid1.Cells[ACol, ARow] = 'Regular' then
Value := '2'
else if StringGrid1.Cells[ACol, ARow] = 'Ruim' then
Value := '3';
end;
end;

O evento evento OnSetEditText ocorre quando saímos do modo de
edição. Neste momento podemos manipular a entrada e trocar
por um texto equivalente. Normalmente usamos este evento em
conjunto com o evento OnGetEditText. Exemplo:

procedure TForm1.StringGrid1SetEditText(Sender: TObject; ACol,
ARow: Integer; const Value: String);
begin
if (ARow = 1) and (ACol = 2) then begin
if Value = '1' then
StringGrid1.Cells[ACol, ARow] := 'Ótimo'
else if Value = '2' then
StringGrid1.Cells[ACol, ARow] := 'Regular'
else if Value = '3' then
StringGrid1.Cells[ACol, ARow] := 'Ruim'
end;
end;

Observações

Para testar o exemplo anterior crie um novo projeto e coloque no Form1 um TStringGrid. Mude os três eventos mencionados conforme os exemplos. Execute e experimente digitar nas céluas 1 e 2 da primeira linha (na parte não fixada, é claro!).

Como Faço Para Deixar Um Formulário Sempre Visivel  

Posted by: Paulo Bezerra in


Como Faço Para Deixar Um Formulário Sempre Visivel

Se for o form principal e no form2  é só colocar a propriedade FormStyle dele para fsStayOnTop. Se for form secundario é só usar a dica do nosso colega s3c, e sobrescrever esse procedimento ->

no form2 abaixo do public coloque:

procedure CreateParams(var Params: TCreateParams); override;

e coloque esta procedure

procedure TForm2.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  Params.WndParent := 0;
end;


ou

Procedure TForm1.Button1Click(Sender: TObject);
Begin
  With Form1 do
    SetWindowPos(Handle, // "handle" para a janela
                 HWND_TOPMOST, // controla onde vai ficar a janela  (*¹)
                 Left,  // a posição horizontal
                 Top,   // a posição vertical
                 Width, // a largura
                 Height, // a altura
                 // opções de posicionamento da janela
                 SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE); // (*²)
End;

Existem outras opções, além de HWND_TOPMOST, ou SWP_NOSIZE
Coloca o cursor antes, por exemplo de SWP_NOMOV e pressiona Control+Espaço e vai digitando S W P...
O Delphi mostra as outras opções, que você pode testar...

COMO INVADIR POR FTP  

Posted by: Paulo Bezerra in

COMO INVADIR POR FTP
 
Primeiro você vai ter que pedir pro seu coputador que ele colabore pois isso é muito importante e sua maquina tem que ter mais de 200M de espaço em disco e uma memoria mais que 16SDram.
Entre no seu Ruindows, depois no MS-Bos... e digite NBTSTAT -a e  o number do IP do cara que você QUER INVADIR. coloque assim "nbtstat -a 200.171.42.35
Depois é so digitar: ftp 200.171.42.35
digite "user ~quote /root" e depois digite "send 200.171.42.35 c:"
Pronto, agora é so usar o seu computador como estivesse usando o dele, começe a deletar tudo, entre no Cd/ Windows e delete o Explorer.exe e tudo mais.....
 
Mensagens apenas reflitam, pense nisso....

Formulários independentes no Delphi, estilo MSN  

Posted by: Paulo Bezerra in



Formulários independentes no Delphi, estilo MSN

Criar formulários no estilo do MSN, onde cada janela de bate-papo fica independente da aplicação, é muito fácil no Delphi. Para isto, basta sobrepor o método CreateParams no formulário desejado.

No exemplo abaixo eu criei um formulário (frmMSN) que é utilizado por outras duas janelas com essas características.

O resultado: todos os formulários herdados deste modelo ficaram em janelas independentes da aplicação, você pode observá-los na barra de tarefas do windows, no desktop, como na imagem acima:

type
  TfrmMSN = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
  protected
    procedure CreateParams(var Params: TCreateParams); 
      override;
  end;
 
implementation
 
{$R *.dfm}
 
procedure TfrmMSN.CreateParams(var Params: TCreateParams);
begin
  inherited;
  Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
  Params.WndParent := GetDesktopWindow;
end;
merito http://www.alexandrejose.com
interessante tambem:

procedure TfrmCadForn.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
with Params do
begin
ExStyle := ExStyle OR WS_EX_APPWINDOW ;
WndParent := Application.Handle;
end;
end;

A mudança foi feita de WndParent := GetDesktopWindow para WndParent := Application.Handle

MP3  

Posted by: Paulo Bezerra in

ESSE CARA É SHOW http://umquetenha.blogspot.com