



É 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; |