DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

PARA QUEM GOSTA DE DELPHI

Como converter um Char para minúsculo?

É necessário estar declarado SysUtils na seção uses,
em versões unicode declare System.SysUtils.

Nesta função vamos brincar um pouco com a linguagem assembly,
abaixo segue o código fonte da função, que serve também como
um exemplo de como utilizar o assembly no delphi.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function LoCase( ch : Char ) : Char;
{$IFDEF WIN32}
asm
        CMP     AL,'A'
        JB      @@exit
        CMP     AL,'Z'
        JA      @@exit
        SUB     AL,'A' - 'a'
@@exit:
{$ENDIF$}
{$IFDEF WIN64}
begin
  if (Length(ch) < 1) then
  begin
    Result := ch;
    Exit;
  end;
 
  Result := LowerCase(ch)[1];
{$ENDIF}
end;

Na função, o código assembly não funciona para 64 bits,
então foi feito uma adaptação para a função rodar também No x64.

Exemplos de uso:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure TForm1.Button1Click(Sender: TObject);
var
  vAux : String;
begin
  { Exemplo 1, um caractere simples }
  ShowMessage(LoCase('X'));
 
  { Exemplo 2, o primeiro caractere de uma string estática. }
  ShowMessage(LoCase(String('SHOW DELPHI')[1]));
 
  { Exemplo 3, convertendo o sexto caractere de uma variável string. }
  vAux := 'FAÇA PARTE DA COMUNIDADE';
  ShowMessage(LoCase(vAux[6]));
end;
Facebook Comments Box
  • InfusTec
  • 2.246 views
  • 0 comentários
  • 25 de março de 2015

Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!

Deixe um comentário

Ir ao topo

© 2024 Infus Soluções em Tecnologia - Todos os Direitos Reservados