Mostrando postagens com marcador Delphi. Mostrar todas as postagens
Mostrando postagens com marcador Delphi. Mostrar todas as postagens

quinta-feira, 19 de novembro de 2015

Criptografia[2.0] (Exemplo em Lazarus e Delphi)

Olá Galera, Bom Dia...

Atendendo a solicitação de um de nossos leitores(Internautas), hoje estarei postando uma versão melhorada do exemplo de criptografia, Criptografia (Exemplo em Lazarus e Delphi).  Nesta nova versão o adicionei o campo "Chave de Criptografia", deixando assim aberto para o usuário definir a chave que será utilizada para criptografia do texto.




Segue Links:
   Link para download do EXE:

   Link para download do código fonte(Lazarus 1.4.4):


Estes fontes foram desenvolvidos com Lazarus versão 1.4.4, porém são totalmente compatíveis com Delphi. Caso surja alguma duvida, basta deixar seu comentário.


Se você tem uma dica interessante, preencha o Formulário de contato do lado direito da página e nos envie.

Atenciosamente
Dica Chave.

sexta-feira, 26 de junho de 2015

Cálculo de Troco em Pascal (Lazarus / Delphi)

Bom dia, Galera!!!

Vamos a mais uma dica (exemplo) prática(o) e rápida(o)?

Hoje vamos postar um exemplo com uma função para cálculo de troco, detalhando o menor número de cédulas e moedas possíveis. Para isso criamos um pequeno aplicativo em Pascal, com a ferramenta Lazarus e vamos disponibilizar o executável, bem como os fontes para que todos possam usufruir dos dados, sendo redistribuindo e/ou melhorando, apenas solicitamos que seja preservados os  dados autorais dos fontes. 


Segue Links:
   Link para download do EXE:

   Link para download do código fonte(Lazarus 1.4.0):


Estes fontes foram desenvolvidos com Lazarus versão 1.4.0 e Sistema Operacional Windows 7 x64, porém são totalmente compatíveis com Delphi. Caso surja alguma duvida, basta deixar seu comentário.


Se você tem uma dica interessante, preencha o Formulário de contato do lado direito da página e nos envie.

Atenciosamente
Dica Chave.

terça-feira, 28 de abril de 2015

Conversor de Números Decimal Para Romano em Pascal (Lazarus / Delphi)

Boa Tarde, Pessoal!!!

Vamos à mais uma dica rápida?

Hoje, vamos postar um conversor de números de Decimal para Romano. Este aplicativo foi criado em Pascal, com a ferramenta Lazarus e estamos disponibilizando o executável, bem como os fontes para que todos possam usufruir dos dados, sendo redistribuindo e/ou melhorando, apenas solicitamos que seja preservados os  dados autorais dos fontes. 



Segue Links:
   Link para download do EXE:

   Link para download do código fonte(Lazarus 1.4.0):


Estes fontes foram desenvolvidos com Lazarus versão 1.4.0 e Sistema Operacional Windows 7 x64, porém são totalmente compatíveis com Delphi. Caso surja alguma duvida, basta deixar seu comentário.


Se você tem uma dica interessante, preencha o Formulário de contato do lado direito da página e nos envie.

Atenciosamente
Dica Chave.

segunda-feira, 20 de abril de 2015

Conversor de Temperaturas em Pascal (Lazarus / Delphi)

Boa Tarde, Galera!!!

Hoje, pergunto para você, internauta, já precisou converter temperaturas, mas não fazia nem ideia de como calcular? 
Como também nos deparamos com esta necessidade, resolvemos criar um pequeno aplicativo em Pascal, com a ferramenta Lazarus e disponibilizar o executável, bem como os fontes para que todos possam usufruir dos dados, sendo redistribuindo e/ou melhorando, apenas solicitamos que seja preservados os  dados autorais dos fontes. 



Segue Links:
   Link para download do EXE:

   Link para download do código fonte(Lazarus 1.2.6):


Estes fontes foram desenvolvidos com Lazarus versão 1.2.6 e Sistema Operacional Windows 7 x64, porém são totalmente compatíveis com Delphi. Caso surja alguma duvida, basta deixar seu comentário.


Se você tem uma dica interessante, preencha o Formulário de contato do lado direito da página e nos envie.

Atenciosamente
Dica Chave.

sexta-feira, 17 de abril de 2015

Conversão de Base Numérica em Pascal (Lazarus e Delphi)

Olá, Boa Tarde!!!

Hoje vamos falar um pouco sobre as conversões de bases numéricas. As conversões numéricas são muito utilizadas na computação, as bases mais utilizadas são a Hexadecimal, Decimal, Octal e Binária. A base numérica representa a quantidade de símbolos possíveis para representar um determinado número, abaixo temos uma tabela com os símbolos que podem ser utilizados em cada sistema de numeração.

Base Numérica Símbolos Exemplo
Binário 0 e 1
100110100102
Octal 0, 1, 2, 3, 4, 5, 6 e 7
23228
Decimal 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9
123410
Hexadeciaml 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E e F
4D216

Quando vemos um número qualquer sem base numérica sub-entendemos ser um número da base Decimal, porém para números de qualquer outra base é necessário informar explicitamente a base numérica do número, ela é representada por um número sub-escrito no final do número como no exemplo acima.

Tendo em vista estas diferentes bases, desenvolvemos um pequeno aplicativo em pascal para fazermos as devidas conversões. Aqui vamos disponibilizar o conversor, bem como os fontes para que você possa redistribui-lo e/ou melhora-lo, apenas solicitamos que seja preservados os  dados autorais dos fontes, fontes estes desenvolvidos em linguagem pascal, com o auxilio da ferramenta Lazarus na sua versão 1.2.6.




Segue Links:
   Link para download do EXE:

   Link para download do código fonte(Lazarus 1.2.6):

Estes fontes foram desenvolvidos com Lazarus versão 1.2.6 e Sistema Operacional Windows 7 - x64, porém são totalmente compatíveis com Delphi. Caso surja alguma duvida, basta deixar seu comentário.

Se você tem uma dica interessante, preencha o Formulário de contato do lado direito da página e nos envie.

Atenciosamente
Dica Chave.

terça-feira, 20 de janeiro de 2015

Criptografia (Exemplo em Lazarus e Delphi)

Olá Galera, Boa Tarde...

Hoje vamos falar um pouco sobre criptografia de dados para sistemas empresariais.

Você sabe afinal o que é criptografia?
Nada mais é que um meio de aprimorar a segurança de uma mensagem ou de um arquivo, embaralhando o conteúdo de modo que ele só possa ser lido por quem por quem tenha a chave de criptografia correta para desembaralhá-lo. Por exemplo, quando você esta conversando com outra pessoa em um chat, normalmente os dados trafegados pela rede serão criptografados para ajudar a manter os dados em segurança.

A primeira vista ela até pode parecer complicada, mas para usufruir dos benefícios que proporciona você não precisa estuda-lá profundamente e nem ser nenhum matemático experiente. Atualmente, a criptografia já está integrada ou pode ser facilmente adicionada à grande maioria dos sistemas operacionais e aplicativos e para usá-la, muitas vezes, basta a realização de algumas configurações.

Mas nosso objetivo não é falar sobre o que é criptografia e sim mostrar um exemplo prático. Vamos postar aqui um modelo desenvolvido em Lazarus 1.2.6, com executável e os fontes com a função de criptografia, função esta que você poderá utilizar em seus sistemas, apenas alterando a chave(Key) de criptografia.



Segue Links:
   Link para download do EXE:
     Cripto - EXE.

   Link para download do código fonte(Lazarus 1.2.6):


Estes fontes foram desenvolvidos com Lazarus versão 1.2.6, porém são totalmente compatíveis com Delphi. Caso surja alguma duvida, basta deixar seu comentário.


Se você tem uma dica interessante, preencha o Formulário de contato do lado direito da página e nos envie.

Atenciosamente
Dica Chave.

Teste de QI de Einstein

Olá, Bom Dia, Pessoal!!!

Você já resolveu o teste de QI de Einstein? Achou interessante? Gostaria de fazer um para distribuir em seu sistema, site ou apenas para se divertir?

Aí vai uma dica, estamos disponibilizando para todos os internautas que acessam nosso blog, o executável para todos utilizarem da melhor forma possível, bem como os fontes para que você possa redistribui-lo e/ou melhora-lo, apenas solicitamos que seja preservados os  dados autorais dos fontes, fontes estes desenvolvidos em linguagem pascal, com o auxilio da ferramenta Lazarus na sua versão 1.2.6.


Segue Links:
   Link para download do EXE:

   Link para download do código fonte(Lazarus 1.2.6):


Estes fontes foram desenvolvidos com Lazarus versão 1.2.6, porém são totalmente compatíveis com Delphi. Caso surja alguma duvida, basta deixar seu comentário.


Se você tem uma dica interessante, preencha o Formulário de contato do lado direito da página e nos envie.

Atenciosamente
Dica Chave.

terça-feira, 16 de dezembro de 2014

Escrevendo Número Por Extenso com Lazarus.

Olá, Bom Dia, Galera!

Hoje vamos para uma dica super rápida e muito útil.

Quem nunca precisou transformar números do tipo "REAL" ou "Inteiro" para extenso? Então aí vai uma solução prática, quem quer apenas usar o programa para gerar os números em extenso, basta baixar o "EXE", já quem tem interesse em adicionar esta função ao seu sistema, ou até mesmo melhora-la, pode baixar o "Fonte"



Segue Links:
   Link para download do EXE:

   Link para download do código fonte(Lazarus 1.2.6):


Estes fontes foram desenvolvidos com Lazarus versão 1.2.6, porém são totalmente compatíveis com Delphi. Caso surja alguma duvida, basta deixar seu comentário.


Se você tem uma dica interessante, preencha o Formulário de contato do lado direito da página e nos envie.

Atenciosamente
Dica Chave.

sexta-feira, 12 de dezembro de 2014

Gerador de Senhas

Olá, Boa Tarde, Pessoal!

Nesta dica vou disponibilizar um gerador de senhas fortes, desenvolvido por mim.

Mas, O que é um gerador de Senha?
   É um sistema que vai lhe ajudar a criar senhas fortes, seguras e difíceis de serem descobertas, até mesmo por hackers. Uma senha forte, começa  já eliminando vínculo com dados pessoais como datas de nascimento ou trechos de seus nomes. Segundo especialistas em segurança digital, ter uma senha forte é a melhor dica para os internautas que utilizam os mais variados serviços disponíveis na internet.

Nosso sistema Gerador de Senhas é muito simples de usar, basta escolher quais tipos de caracteres deseja que façam parte de sua senha, setar o tamanho e quantas senhas deseja gerar, e pronto....


Segue Links:
   Link para download do EXE:

   Link para download do código fonte(Lazarus 1.2.6):


Segue os links do executável para quem apenas desejar gerar boas senhas, e para quem quer conhecer, editar e utilizar as funções de geração de senhas, segue também os fontes. Fontes estes desenvolvidos com Lazarus versão 1.2.6. Caso surja alguma duvida, basta deixar seu comentário.


Se você tem uma dica interessante, preencha o Formulário de contato do lado direito da página e nos envie.

Atenciosamente
Dica Chave.

quinta-feira, 6 de novembro de 2014

Tela de Login Simples e Sem Botões Em Lazarus

Olá, Boa Noite, Galera...

Hoje vou mostrar como criar uma tela de login simples no Lazarus(Versão 1.2.6) apenas usando dois "Edits" e um "Form".

Então vamos trabalhar???

1º) Crie um novo projeto e salve-o em uma pasta a sua escolha.

2º) Agora vamos criar um segundo formulário(Form de Login) e salvar na mesma pasta.

3º) Vamos alterar as seguintes propriedades deste Form de Login:
     FormStyle para bsNome -> Tirar as bordas do formulário;
     Position para poScreenCenter -> Centraliza o formulário na tela.

4º) Vamos adicionar 02(dois) "Edits" em nosso formulário.


5º) No evento "OnKeyPress" do Edit1 coloque o seguinte código:
   if (key = #13) then
   begin
     key := #0;
     Edit2.SetFocus;
   end;

6º) No evento "OnKeyPress" do Edit2 coloque o seguinte código:
   if (key = #13) then
   begin
     key := #0;
     login(Edit1.Text, Edit2.Text); // Chama a procedure de login
   end;

7º) Declare uma procedure chamada login onde passaremos dois parâmetros,(login e senha).
   public
     { public declarations }
     procedure login(usuario, senha : String);

8º) Vamos declarar a Unit do Form principal, logo abaixo de "Implementation"
   uses
     uPrincipal;

9º) Na área de implementação vamos codificar nossa procedure de login. 
   procedure TForm2.login(usuario, senha: String);
   begin
     // Função para verificar login e senha
     // Verifica se o login for válido 
     // (pode ser uma consulta no banco de dados)
     // Aqui vou apenas testar se o login e senha são iguais.
     if (usuario = senha) then
     begin
       frmPrincipal.Enabled := True;  // Ativa o Form Principal
       Form2.Hide;  // Esconde o form de login
     end
     else
     begin
       ShowMessage('Usuário e/ou Senha não confere...');
       Edit1.SetFocus;
     end;
   end; 

10º) Já no Form principal, na seção de "uses" temos que declarar a unit do Form de login.

11º) No evento "OnShow" do Form principal vamos colocar o seguinte código:
   frmPrincipal.WindowState := wsMaximized;
   frmPrincipal.Enabled := False;
   Form2.ShowModal;

12º) Agora basta compilar e efetuar os devidos testes.

    OBS.: Para fins de compatibilidade, esta dica foi escrita usando Lazarus versão 1.2.6.


Esta foi a dica de hoje, se for útil, comentem.

Se você tem uma dica interessante, preencha o Formulário de contato do lado direito da página e nos envie.

Atenciosamente
Dica Chave.

segunda-feira, 25 de agosto de 2014

Como Alterar o Ponteiro do Mouse em Delphi em tempo de Execução


Olá, Bom Dia à Todos...

Hoje vai uma dica rápida de como alterar o ponteiro do mouse em tempo de execução no Delphi, dica fácil e muito útil.

Então, mãos a obra...

No início do bloco de código que deseja alterar o modo de exibição do ponteiro do mouse, coloque o seguinte  código:

   Screen.Cursor := crSQLWait; //Muda o cursor para a ampulheta de SQL...

   {

   AQUI FICA O SEU BLOCO DE CÓDIGO...
   }

   Screen.Cursor := crDefault; //Volta o cursor para o ponteiro padrão...


    OBS.: Para fins de compatibilidade, esta dica foi escrita usando Delphi XE5. 

    DICA.: Para saber os nomes de cursores disponíveis, basta ir na propriedade "Cursor" de qualquer componente do Form Delphi.


Esta foi a dica de hoje, se for útil, comentem.

Se você tem uma dica interessante, preencha o Formulário de contato do lado direito da página e nos envie.

Atenciosamente
Dica Chave.

quarta-feira, 10 de julho de 2013

Pegar o destino de um atalho do Windows com Delphi

Olá, Boa Tarde Pessoal...
Depois de pesquisar muito na internet, encontrei pouco conteúdo sobre o assunto e resolvi postar aqui.
Nosso assunto hoje será como descobrir o destino de um atalho do windows.

Para que esta função rode corretamente é preciso declarar no uses as seguinte Units "ShellApi, ShlObj, ActiveX, ComObj, Registry" (sem as aspas).

1º - Declare a seguinte função:
   Function PegaDestinoAtalho(const LinkFileName:String):String;

2º - Na área de implementações, implemente-a da seguinte maneira:
   function TForm1.PegaDestinoAtalho(const LinkFileName: String): String;
   var
     psl : IShellLink;
     ppf : IPersistFile;
     Info : Array[0..MAX_PATH] of Char;
     wfs : TWin32FindData;
   begin
     CoCreateInstance(CLSID_ShellLink, nil, CLSCTX_INPROC_SERVER, IShellLink, psl);
     if psl.QueryInterface(IPersistFile, ppf) = 0 then
     begin
       ppf.Load(PWChar(WideString(LinkFileName)), 0);
       psl.GetPath(@info, MAX_PATH, wfs, SLGP_UNCPRIORITY);
       Result := info;
     end;
   end;

3º - Para utilizar a função, chame-a da seguinte forma:
   // Declare duas variáveis do tipo String ("caminho e destino").
     // "caminho" será o caminho do atalho e 
     // "destino" receberá o destino do atalho.
   caminho := 'C:\Users\usuario\Desktop\atalho.lnk';
   destino := PegaDestinoAtalho(caminho);

    OBS. 1: Em Breve postarei como ler todos os arquivos do tipo "*.lnk" de um determinado diretório.
    OBS. 2: Para fins de compatibilidade, esta dica foi escrita usando Delphi XE3.

    Fonte.: Algum lugar da Internet e alterado para melhor entendimento.

Esta foi a dica de hoje, se for útil, comentem.

Se você tem uma dica interessante, pode postar nos comentários.

Atenciosamente
Dica Chave.

Nome do usuário logado no Windows com Delphi

Olá, Boa Tarde Pessoal...
Hoje vamos ver como saber o nome do usuário logado no Windows com o auxilio do Delphi.

1º - Declare a seguinte função:
   Function NomeUsuario: String;

2º - Na área de implementações, implemente-a da seguinte maneira:
   function TForm1.NomeUsuario: String;
   var
     lpBuffer : Array[0..20] of Char;
     nSize : dWord;
     mRet : boolean;
     erro : dWord;
   begin
     nSize := 120;
     mRet := GetUserName(lpBuffer, nSize);
     if mRet then
     begin
       Result := lpBuffer
     end
     else
     begin
       erro := GetLastError();
       MessageDlg('Ocorreu o erro ' + IntToStr(erro) + ' ao procurar o nome logado no computador.',
                  mtError, [mbOk], 0);
       Result := '';
     end;
   end;

3º - Para utilizar a função, chame-a da seguinte forma:
   nomeDoUsuario := NomeUsuario;

    OBS.: Para fins de compatibilidade, esta dica foi escrita usando Delphi XE3.

    Fonte.: Algum lugar da Internet.

Esta foi a dica de hoje, se for útil, comentem.
Se você tem uma dica interessante, pode postar nos comentários.
Atenciosamente
Dica Chave.

sexta-feira, 24 de maio de 2013

Completar Uma String Até um Determinado Tamanho

Olá, Boa Tarde Pessoal...
Hoje vamos a mais uma dica simples, porem muito útil.

1º - Declare a seguinte função:
   CompletaString(str: string; tamanho: Integer; caracter: string): String;

2º - Na área de implementações, implemente-a da seguinte maneira:
   function TForm1.CompletaString(str: string; tamanho: Integer; caracter: string): String;
   begin
     // str -> Variavel a ser alterada.
     // tamanho -> Tamanho desejado para a variavel.
     // caracter -> Caracter usado para completar o tamanho da variavel.
     while (Length(str) < tamanho) do
     begin
       str := str + caracter;
     end;
     Result := str;
   end;

3º - Para utilizar a função, chame-a da seguinte forma:
   minhaVariavel := CompletaString(minhaVariavel, 20, ' ');



    OBS.: Para fins de compatibilidade, esta dica foi escrita usando Delphi XE3.

Esta foi a dica de hoje, se for útil, comentem.
Se você tem uma dica interessante, pode postar nos comentários.
Atenciosamente
Dica Chave.

terça-feira, 21 de maio de 2013

Função Para Validar Dígito Verificador de CNPJ



Olá, Bom Dia.
Conforme prometido, hoje vou publicar um função para validar o dígito verificador de CNPJs.

  1. Abra um novo projeto no Delphi;
  2. No formulário principal, insira um "Edit" e um "Button"(Guia Standard);
  3. Declare a seguinte função na seção de declarações "Public".  
          function verificaCNPJ(cnpj: String): Boolean; 

     4.  Na seção de implementação "Implementation", implemente a função descrita acima, segue código:

          function TForm1.verificaCNPJ(cnpj: String): Boolean;

    var
      numCNPJ : array[1..12] of integer;
      cont, d1, d2 : integer;
      digitado, calculado : String;
    begin
      for cont :=1 to 12 do
      begin
        numCNPJ[cont] := StrToInt(cnpj[cont]);
      end;
    
      d1 := numCNPJ[1]*5 + numCNPJ[2]*4 + numCNPJ[3]*3 + numCNPJ[4]*2 + numCNPJ[5]*9 +
      numCNPJ[6]*8 + numCNPJ[7]*7 + numCNPJ[8]*6 + numCNPJ[9]*5 + numCNPJ[10]*4 +
      numCNPJ[11]*3 + numCNPJ[12]*2;
    
      if (d1 mod 11)<2 then
        d1 := 0
      else
        d1 := 11 - (d1 mod 11);
    
      d2 := numCNPJ[1]*6 + numCNPJ[2]*5 + numCNPJ[3]*4 + numCNPJ[4]*3 + numCNPJ[5]*2 +
      numCNPJ[6]*9 + numCNPJ[7]*8 + numCNPJ[8]*7 + numCNPJ[9]*6 + numCNPJ[10]*5 +
      numCNPJ[11]*4 + numCNPJ[12]*3 + d1*2;
    
      if (d2 mod 11)<2 then
        d2 := 0
      else
        d2 := 11 - (d2 mod 11);
    
      digitado := cnpj[13] + cnpj[14];
      calculado := IntToStr(d1)+IntToStr(d2);
    
      if (digitado = calculado) then
        verificaCNPJ := True
      else
        verificaCNPJ := False
    end;

     5.  No evento "OnClick" do botão, coloque o seguinte código:

    if (verificaCNPJ(Edit1.Text) = True) then
    begin
      ShowMessage('CNPJ Válido!!!');
    end
    else
    begin
      ShowMessage('CNPJ Inválido!!!');
    end;

     6.  Salve o projeto em uma pasta de sua escolha e compile a aplicação, após compilar na janela que irá abrir, digite o número do CNPJ no Edit e clique no botão para validar o dígito.

    OBS.: Para fins de compatibilidade, esta dica foi escrita usando Delphi XE3.

Esta foi a dica de hoje, em breve mais novidades em nosso Blog.

Atenciosamente
Dica Chave.