ADSENSE

ADSENSE

quarta-feira, 7 de novembro de 2018

SetFocus no Firemonkey Delphi.


O Firemonkey do Delphi proíbe a mudança de foco em alguns eventos. Para conseguir contornar a situação do SetFocus dos campos, precisamos mandar um mensagem atrasada para o form.

Como mandar esta mensagem. Simples vamos usar uma Thread Anonima. Pois é depois de muita procura achei um paliativo.

Vamos a Função:

procedure TfrmTelaPadrao.ForceFocus(Obj: TControl);
begin
  TThread.CreateAnonymousThread(
    procedure
    begin
      TThread.Synchronize( nil,
         procedure
         begin
           Obj.SetFocus;
         end
      );
    end
  ).Start;
end;

Espero que tenha ajudado a quem procura.

quarta-feira, 5 de outubro de 2016

MySQL: Somando datas corretamente com CURDATE

A função CURDATE não funciona corretamente para a adição de dias que extrapolam o calendário. Como exemplo, a instrução a seguir retornar uma data inexistente:

// acrescentando 120 dias a data atual
 > SELECT CURDATE()+120;
 > 20071325
Para resolver isso é usada uma outra função chamada DATE_ADD, responsável pela soma correta de dias em uma determinada data:
// acrescentando 120 dias a data atual
 > SELECT DATE_ADD(CURDATE(), INTERVAL 120 DAY);
 > 2008-04-03
O mesmo pode ser feito para subtrair dias de uma data com a função DATE_SUB.
Fonte: http://codare.net/2008/02/01/mysql-somando-datas-corretamente-com-curdate/

terça-feira, 2 de agosto de 2016

Bloquear mouse e tecla

Olá pessoal,

Segue um dica bem lega e simples para bloquear teclado e mouse. Nesta dica, o CTRL + ALT + DEL não fica travado.

function BlockInput(fbLookIt:Boolean):Integer; stdcall; external 'user32.dll';

Para bloquear, chame a função da seguinte forma:
BlockInput (true)

Para desbloquear, chame a função da seguinte forma:
BlockInput (false);

Grande abraço!