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

"Modo Deus" ou GodMode do Windows 7, 8 e 10

Olá, Bom dia a Todos.

Agora vamos ver uma dica muito simples, porem bastante útil, principalmente para quem trabalha com suporte técnico.

Vamos falar sobre o "Modo Deus" para Windows nas versões 7, 8 e 10.

O que é o "Modo Deus" ?
    É uma funcionalidade do Windows 7, 8 e 10, onde encontramos uma grande relação de itens de configuração do Windows. No Windows 7 são 278 itens, no Windows 8.1 são 251 itens e no Windows 10 são 239 itens para o gerenciamento do sistema operacional.

Como criar e utilizar este recurso ?
    Crie uma pasta em um local de sua escolha (Ex.: Área de Trabalho), logo após renomeie a pasta para "Modo_Deus.{ED7BA470-8E54-465E-825C-99712043E01C}" (Sem Aspas).

A pasta ficará com um ícone parecido com este no Windows 7:

E igual a este no Windows 10:

Após abrir a pasta você terá uma janela semelhante a esta no Windows 7:

E semelhante a esta no Windows 10:



OBS. 1.: No canto superior direito, temos um campo de pesquisa, onde podemos filtrar os itens por palavra chave.

OBS. 2.: O nome da pasta "Modo_Deus" foi apenas um apelido usado para o nome do ícone criado, você pode usar qualquer outro nome para este recurso.
Ex.: Painel.{ED7BA470-8E54-465E-825C-99712043E01C}


Bom, espero ter ajudado com esta dica.


Atenciosamente
Dica Chave.



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.

quinta-feira, 16 de maio de 2013

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


Olá, Boa Tarde.
Mais um dica chegando.
Hoje vou publicar um função para validar o dígito verificador de CPFs.

  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 verificaCPF(cpf: String): Boolean; 

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

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

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

    if (verificaCPF(Edit1.Text) = True) then
    begin
      ShowMessage('CPF Válido!!!');
    end
    else
    begin
      ShowMessage('CPF 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 CPF 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 postarei uma nova dica para a validação de dígito verificador de CNPJ.

Atenciosamente
Dica Chave.



quarta-feira, 15 de maio de 2013

Formatando Data e Hora em Delphi Com a Função "FormatDateTime()"

Olá, Bom dia.
Vamos a mais uma dica.

Hoje vamos falar um pouco da função "FormatDateTime", função esta que está presente na Unit "SysUtils" do Delphi. Esta função retorna uma string com o formato passado no primeiro parâmetro(string) e tendo como base a data passada no segundo parâmetro(TDateTime).

Formato da função: FormatDateTime(formato, data).

Vamos a um exemplo prático:

  1. Abra um novo projeto no Delphi;
  2. No formulário principal, insira um "Memo" e um "Button"(Guia Standard);
  3. No evento "OnClick" do botão, coloque o seguinte código:
  Memo1.Lines.Add(' ..:: Formatos Para Dia ::..');
  Memo1.Lines.Add('     d: ' + FormatDateTime('d', Now));
  Memo1.Lines.Add('    dd: ' + FormatDateTime('dd', Now));
  Memo1.Lines.Add('   ddd: ' + FormatDateTime('ddd', Now));
  Memo1.Lines.Add('  dddd: ' + FormatDateTime('dddd', Now));
  Memo1.Lines.Add(' ddddd: ' + FormatDateTime('ddddd', Now));
  Memo1.Lines.Add('dddddd: ' + FormatDateTime('dddddd', Now));
  Memo1.Lines.Add('');
  Memo1.Lines.Add(' ..:: Formatos Para Mês ::..');
  Memo1.Lines.Add('     m: ' + FormatDateTime('m', Now));
  Memo1.Lines.Add('    mm: ' + FormatDateTime('mm', Now));
  Memo1.Lines.Add('   mmm: ' + FormatDateTime('mmm', Now));
  Memo1.Lines.Add('  mmmm: ' + FormatDateTime('mmmm', Now));
  Memo1.Lines.Add('');
  Memo1.Lines.Add(' ..:: Formatos Para Ano ::..');
  Memo1.Lines.Add('     y: ' + FormatDateTime('y', Now));
  Memo1.Lines.Add('    yy: ' + FormatDateTime('yy', Now));
  Memo1.Lines.Add('  yyyy: ' + FormatDateTime('yyyy', Now));
  Memo1.Lines.Add('');
  Memo1.Lines.Add(' ..:: Formato Para Hora ::..');
  Memo1.Lines.Add('     h: ' + FormatDateTime(' h', Now));
  Memo1.Lines.Add('    hh: ' + FormatDateTime('hh', Now));
  Memo1.Lines.Add('');
  Memo1.Lines.Add(' ..:: Formatos Para Minuto ::..');
  Memo1.Lines.Add('     n: ' + FormatDateTime('n', Now));
  Memo1.Lines.Add('    nn: ' + FormatDateTime('nn', Now));
  Memo1.Lines.Add('');
  Memo1.Lines.Add(' ..:: Formatos Para Segundo ::..');
  Memo1.Lines.Add('     s: ' + FormatDateTime('s', Now));
  Memo1.Lines.Add('    ss: ' + FormatDateTime('ss', Now));
  Memo1.Lines.Add('');
  Memo1.Lines.Add(' ..:: Formatos Para Milisegundos ::..');
  Memo1.Lines.Add('     z: ' + FormatDateTime('z', Now));
  Memo1.Lines.Add('   zzz: ' + FormatDateTime('zzz', Now));
  Memo1.Lines.Add('');
  Memo1.Lines.Add(' ..:: Formatos de Personalizados ::..');
  Memo1.Lines.Add('                 dd/mm/yyyy: ' + FormatDateTime('dd/mm/yyyy', Now));
  Memo1.Lines.Add('                 yyyy/mm/dd: ' + FormatDateTime('yyyy/mm/dd', Now));
  Memo1.Lines.Add('                 mm/dd/yyyy: ' + FormatDateTime('mm/dd/yyyy', Now));
  Memo1.Lines.Add('                 yyyy/dd/mm: ' + FormatDateTime('yyyy/dd/mm', Now));
  Memo1.Lines.Add('                      dd/mm: ' + FormatDateTime('dd/mm', Now));
  Memo1.Lines.Add('                     dd/mmm: ' + FormatDateTime('dd/mmm', Now));
  Memo1.Lines.Add('                    dd/mmmm: ' + FormatDateTime('dd/mmmm', Now));
  Memo1.Lines.Add('         dd de mmmm de yyyy: ' + FormatDateTime('dd "de" mmmm "de" yyyy', Now));
  Memo1.Lines.Add('   dddd, dd de mmmm de yyyy: ' + FormatDateTime('dddd"," dd "de" mmmm "de" yyyy', Now));
  Memo1.Lines.Add('"Local", dd de mmmm de yyyy: ' + FormatDateTime('"Nome_Cidade," dd "de" mmmm "de" yyyy', Now));


    4.  Salve o projeto em uma pasta de sua escolha e compile a aplicação, após compilar na janela que irá abrir, clique no botão e veja o resultado gerado no campo "Memo".

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

Esta foi a dica de hoje, podem comentar a vontade.
Atenciosamente
Dica Chave.

segunda-feira, 13 de maio de 2013

Trocar Vírgula Por Ponto em Delphi

Olá, Bom dia a Todos...
Como primeira dica, vamos postar algo simples, porém muito útil para desenvolvedores iniciantes com o Delphi.


function TForm1.TrocaVirgulaPPonto(Valor: string): String;
begin
  Result := trim(StringReplace(Valor,',','.',[rfReplaceall]));
end;



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

Esta foi a dica de hoje, podem comentar a vontade.
Atenciosamente
Dica Chave.