Fórum Result:= C and $DF #185717
02/10/2003
0
Portanto, deveriamos setar um bit para o valo 0.
Pensando nisto, gostaria de desenvolver uma funcao assim (eu sei que ela ja existe):
function upcase(c: char): char;
begin
Result:= C and $DF;
end;
function lowcase(c: char): char;
begin
Result:= C and $20;
end;
Estas funcoes contem erros! Porque o parametro ´C´ nao esta em binario.
Como converto este char para seu valor em binario sem usar a funcao ord?
Desde ja agradeço a atenção
Ljr
Curtir tópico
+ 0Posts
02/10/2003
Ljr
function lowcase(c: char): char;
begin
Result:= C or $20;
end;
Gostei + 0
03/10/2003
Ljr
Consegui resolver o problema da seguinte forma:
function myord(c: char): byte; asm MOV RESULT, AL end; function CharToStr(n: byte): char; asm MOV RESULT, AL end; function myupcase(c: char): char; begin Result:= CharToStr( myord(c) and $DF ); end; function mylowcase(c: char): char; asm Result:= CharToStr( myord(c) or $20 ); end; procedure TForm1.Button1Click(Sender: TObject); begin Caption:= myupcase(Edit1.Text[1]) end;
Só que nestas funcões eu não implementei para ver se o valor passado estava entre ´a´ e ´z´, ou ´A´ e ´Z´. Não preciso.
Gostei + 0
06/10/2003
Beppe
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)