Cadastre-se Revistas DevMedia Cursos
 

Space de Wilson José Lehapan Junior
Busca Autor


Últimas 20 atualizações de Wilson José Lehapan Junior

Noticia - RAD Studio XE2 uma nova era para desenvolvedores Delphi e C++Builder

RAD Studio XE2 está chegando e junto vem as novas versões XE2 do Delphi, C++Builder, RadPHP e Prism, para que você conheça todas as novidades, esta semana começa o RAD Studio XE2 World Tour, você já pode conferir a lista de países participantes e já fazer o seu registro.

Esta versão representa um marco para os desenvolvedores Delphi e C++Builder, muitas são as novidades e iremos apresentar todas estas grandes novidades durante o RAD Studio XE Tour, enquanto isso vou destacando algumas das novidades:

  • Delphi 64-bit para Windows e suporte completo para a VCL/RTL
  • Driver ODBC para dbExpress ODBC
  • Monitoramento e controle de conexões para servidores DataSnap
  • LiveBinding, o novo mecanismo para conectar e atualizar qualquer tipo de dado
  • Cloud API com suporte a Amazon S3
  • VCL Styles para modernizar o visual das suas aplicações VCL
  • FireMonkey a nova plataforma para desenvolvimento de software NATIVO

FireMonkey é um grande passo adiante, abre um mercado totalmente novo para desenvolvedores Delphi e C++Builder, permitindo oferecer seus atuais aplicativos para Mac, desenvolver novas aplicações e distribuí-los através da App Store, alcançado assim milhões de usuários finais. Os inúmeros recursos do FireMonkey irá distinguir as suas aplicações de qualquer outro.

Muito mais está por vir, fique atento a este blog, outros blogs Embarcadero e ao nosso website Embarcadero durante este mês para saber mais.


Registre-se no link http://www.embarcadero.com/world-tour


Baseado em: http://www.andreanolanusse.com/pt/rad-studio-xe2-uma-nova-era-para-desenvolvedores-delphi-e-cbuilder/ -->">
02/08/2011 09:58:00





Noticia - Nova Certificação Delphi – Anúncio oficial


Hoje é um dia muito importante para a comunidade Delphi, hoje nós da Embarcadero anunciamos o novo Programa de Certificação Delphi tão esperado pela comunidade Delphi. Milhões de desenvolvedores Delphi terão a oportunidade de demonstrar suas habilidades e conhecimento aos seus pares, a comunidade de desenvolvedores e potenciais empregadores.

O novo programa de certificação é muito mais acessível que a certificação anterior, teve a colaboração de vários experts em Delphi ao redor do mundo e difere da certificação anterior onde tinhamos apenas um nível de certificação – o novo programa de certificação está dividido em dois níveis, conhecidos como Developer e Master Developer.

Já estão disponíveis os Study Guides (guias de estudos) para ambas as certificações; o study guide traz informações sobre os tópicos que serão avaliados durante a prova, links para recursos online e uma lista de livros recomendados para a preparação. Para cada prova você terá 60 minutos para responder 60 perguntas, ao final você saberá qual foi sua pontuação e se passar, receberá o certificado em formato PDF no seu email.

A prova para se tornar Delphi Developer pode ser adquirida através da loja online da Embarcadero a um custo de US$49 e não é moderada, ou seja, você pode fazer a prova de qualquer lugar. Já a prova para se tornar Delphi Master Developer custa US$149 e deve ser adquirida através de um de nossos parceiros. Você terá de agendar a sua prova em um dos Centros de Certificação, pois esta prova deverá ser assistida por um dos nossos parceiros.

Certificação Delphi Developer

A prova para se tornar Delphi Certified Developer testa conhecimentos gerais na linguagem delphi, incluindo sintaxe da linguagem, técnicas de programação e conceitos relacionados ao desenvolvimento de aplicações para banco de dados.

Se você possui uma licença registrada do Delphi XE ou RAD Studio XE, você poderá fazer uma prova Developer gratuitamente, mais informações na página do Certification Center.

A prova está organizada em 12 seções:

  • Delphi Fundamentals
  • Data types, variables, and Constants
  • Procedures and Functions
  • Classes and Objects
  • Object Interfaces
  • Generics, Attributes and Anonymous Method
  • Database Concepts
  • Standards Routines and I/O
  • Libraries and Packages
  • Memory Management
  • Exceptions and Assertions
  • Database Concepts
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
07/06/2011 07:28:00





Artigo - Dica para migrar do Delphi 2007 para o Delphi 2010


Bom, pude perceber que muitos colegas ao migrar os projetos feitos em Delphi 2007 para Delphi 2010, o Code Completion não funciona.
Aqui vai a dica de como fazer ele aparecer novamente.
Verifique após migrar seu projeto, se em seu Project Options -> Delphi Compiler -> Unit aliases se contém as seguintes definições:

 "WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE"

Obs.: Caso não tenha, pode ser que em alguns lugares do código do seu programa o Code Completition não funcione.

Abraços...!!! -->">
11/05/2010 10:48:00





Artigo - Clonar as colunas de um DBGrid para outro DBGrid

As vezes precisamos clonar as colunas de um DBGrid para outro DBGrid.
Então segue abaixo como clonar as colunas e suas propriedades.


procedure CloneColumnsDBGrid(dbgrOrigem, dbgrDestino: TDBGrid);
var
  x: integer;
  Coluna: TColumn;
begin
  dbgrDestino.Columns.Clear;
  for x := 0 to dbgrOrigem.Columns.Count - 1 do
  begin
    Coluna := dbgrDestino.Columns.Add;
    with dbgrOrigem.Columns.Items[x] do
    begin
      Coluna.Alignment    := Alignment;
      Coluna.ButtonStyle  := ButtonStyle;
      Coluna.Color        := Color;
      Coluna.DropDownRows := DropDownRows;
      Coluna.Expanded     := Expanded;
      Coluna.FieldName    := FieldName;
      Coluna.ImeMode      := ImeMode;
      Coluna.ImeName      := ImeName;
      Coluna.PickList     := PickList;
  ...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
11/03/2010 09:07:00





Artigo - Validação de data inicial e final e/ou data e hora inicial e final

Nós utilizamos muito em pesquisas e relatórios a validação de data inicial e final e/ou data e hora inicial e final. Pois bem, para não ficar reescerevendo várias vezes a mesma coisa, pode ser utilizada duas rotinas para estas validações (segue abaixo as rotinas).


Adicione no Uses DateUtils.

Declaração das rotinas:

procedure ValidaPeriodo(DataIni, DataFim : TDateTime; CampoFoco: TWinControl); overload;
procedure ValidaPeriodo(DataIni, DataFim, HoraIni, HoraFim : TDateTime;
  CampoFoco: TWinControl); overload;



Implementação das rotinas:

procedure ValidaPeriodo(DataIni, DataFim : TDateTime; CampoFoco: TWinControl);
begin
  if  DateOf(DataIni) > DateOf(DataFim) then
    begin
      if  CampoFoco <> nil then
          CampoFoco.SetFocus
      {endif};
      Raise Exception.Create( 'A data inicial não pode ser maior do que a data final.' + #1 ...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
11/03/2010 08:33:00





Artigo - Formulário tremer igual ao comando "Chamar atenção" do MSN

Para quem sempre quis saber como fazer o formulário tremer igual ao comando "Chamar atenção" do MSN, aqui está o procedimento.


uses Math;

procedure TremerForm(Form: HWND);
var
  R: TRect;
  x: integer;
  Esq, Topo: integer;
begin
  { Coordenadas do formulário }
  GetWindowRect( Form, R );

  for x := 0 to 45 do
  begin
    { Gera as posições aleatórias }
    Esq  := RandomRange( -7, 7 );
    Topo := RandomRange( -7, 7 );

    { Atribui a nova posição do formulário }
    SetWindowPos( Form, 0, R.Left + Esq, R.Top + Topo, R.Right - R.Left, R.Bottom - R.Top, 0 );

    { Tempo para mostrar que está tremendo o formulário }
    Sleep(20);
  end;

  { Retorna a posição do formulário }
  SetWindowPos( Form, 0, R.Left, R.Top, R.Right - R.Left, R.Bottom - R.Top, 0 );
end;

Espero ter colaborado. -->">
02/03/2010 17:13:00





Artigo - Comparar se imagens do tipo TBitmap são iguais.

Comparar se imagens do tipo TBitmap são iguais. Mas utilizando o recurso TStream, para ter uma performance muito mais rápida do que a famosa rotina de percorrer uma Matriz de pixels.

function  Ret_ImagensIguais(Bitmap1, Bitmap2: TBitmap): Boolean;
var
  Img1, Img2: TStream;
  Cont: integer;
  Ch1, Ch2: char;
begin
  Result := False;
  Img1 := TMemoryStream.Create;
  Img2 := TMemoryStream.Create;

  try
    Bitmap1.SaveToStream( Img1 );
    Bitmap2.SaveToStream( Img2 );

    if  Img1.Size <> Img2.Size then
        Exit
    {endif};

    Cont := 0;
    Img1.Position := 0;
    Img2.Position := 0;
    while Cont < Img1.Size do
    begin
      Img1.Read( Ch1, 1 );
      Img2.Read( Ch2, 1 );
      if  Ch1 <> Ch2 then
          Exit
      {endif};
      Inc( Cont );
    end;
  finally
    Img1.Free;
    Img2.Free;
  end;

  Result := True;
end;

Espero ter colaborado. -->">
01/03/2010 09:21:00





Artigo - Clicar no título de um DBGrid e poder ordenar por aquela coluna, assim como faz o Windows Explorer

Muitas pessoas querem poder ter a funcionalidade de clicar no título de um DBGrid e poder ordenar por aquela coluna, assim como faz o Windows Explorer. Então, pensando em compartilhar conhecimento, segue abaixo uma rotina para ajudar estes programadores a terem esta funcionalidade a mais nos seus softwares.


Const
  INDICE_DEFAULT = 'DEFAULT_ORDER';
  GRID_COR_INDICE_TITULO = clCream;


procedure CliqueNoTitulo(Column: TColumn);
var
  strColumn: string;
  x: integer;
  JaEstaEmUso: Boolean;
  idOptions: TInde ...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
01/03/2010 09:13:00





Artigo - Preenche uma string com uma quantidade de caracteres, podendo alinhar a esqueda ou direita

Podemos utilizar as rotinas abaixo para formatar um texto com qualquer caracter e determinando o seu tamanho.

{ Coloca o texto na esquerda
  Campos:
     Texto = string que será colocada na esquerda;
     Qtd   = quantidade de caracteres que terá o texto;
     Ch    = caracter que será preenchido o texto.
  Exemplo:
     Texto = '15'
     Qtd   = 4
     Ch    = 'x'
       Result = '15xx'
     }
function  ColocaTextoEsq(Texto: string; Qtd: integer; Ch: Char): string;
var
  x: integer;
begin
  if  Ch = '' then
      Ch := Chr( 32 ) { Espaço }
  {endif};

  if  Length(Texto) > Qtd then
      Result := Copy( Texto, 0, Qtd )
  else
    begin
      x := Length( Texto );
      for  Qtd := x to Qtd-1 do
      begin
        Texto := Texto + Ch;
      end;
      Result := Texto;
    end
  {endif};
end;

{ Coloca o texto na direita
  Campos:
     Texto = string que será colocada na direita;
     Qtd   = quantidade de caracteres que terá o texto;
     Ch    = caracter que será preenchido o texto.
  Exemplo:
     Texto = '15'
     Qtd   = 4
     Ch    = 'x'
       Result = 'xx15'
     }
function  ColocaTextoDir(Texto: string; Qtd: integer; Ch: Char): string;
var
  x: integer;
  str: string;
begin
  if  Length(Texto) > Qtd then
      Result := Copy( Texto, (Length(Texto)-Qtd) + 1, Length(Texto) )
  else
    begin
      str := '';
      for x := Length(Texto) to Qtd - 1 do
      begin
        str := str + Ch;
      end;
      Result := str + Texto;
    end
  {endif};
end;


Espero ter colaborado.
-->">
26/02/2010 11:49:00





 

Analista/Desenvolvedor Delphi desde 2002 (a partir da versão 4). Trabalhei de 2002 até 2008 com desenvolvimento de sistemas ERP. Trabalho atualmente como engenheiro e desenvolvedor de softwares embarcados (incluindo a criação do Kernel - BSP, drivers e o software final) para produtos eletrônicos (linha automotiva pesada e agrícola). Graduando no Curso de Ciência da Computação (UCS).
Arquivo de atualizações
 2011
 2010

Estatísticas do Autor:
Número de posts: 9
Características dos posts deste autor:
Conteúdo:
Utilidade:
1 0
 
DevMedia Group - Tel: (21) 3382-5038 - www.devmedia.com.br
Todos os Direitos Reservados a DevMedia Group