Tema: Diacrítico
Ver Mensaje Individual
  #4  
Antiguo 17-11-2005
Avatar de ariefez
ariefez ariefez is offline
Miembro
 
Registrado: sep 2005
Ubicación: Perú - Lima
Posts: 63
Reputación: 21
ariefez Va por buen camino
algo asi seria, pero, en general no hay alguna forma de reemplazar todos, por ejemplo para pasar un string o un caracter a minusculas usaria la funcion de Delphi (Con sus limitaciones)

Código Delphi [-]
function LowerCase(const S: string): string;
var
  Ch: Char;
  L: Integer;
  Source, Dest: PChar;
begin
  L := Length(S);
  SetLength(Result, L);
  Source := Pointer(S);
  Dest := Pointer(Result);
  while L <> 0 do
  begin
    Ch := Source^;
    if (Ch >= 'A') and (Ch <= 'Z') then Inc(Ch, 32);
    Dest^ := Ch;
    Inc(Source);
    Inc(Dest);
    Dec(L);
  end;
end;
pero si vemos la funcion esta echa de forma general, osea q todo depende de una linea de codigo:

Código Delphi [-]
    if (Ch >= 'A') and (Ch <= 'Z') then Inc(Ch, 32);
no hay alguna forma de hacer una funcion q al pasar como parametro un Char este me devuelva como resultado la letra sin su diacrítico; por ejemplo:

Código Delphi [-]
function SinDiacritico(const C: Char): Char; //O algo por el estilo
begin
...
end;
 
{Llamada de la funcion}
...
C := SinDiacritico('á'); //El valor de C seria 'a'
C := SinDiacritico('ô'); //El valor de C seria 'o'
C := SinDiacritico('Û'); //El valor de C seria 'U'
...
Agradesco cualquier sugerencia, nos escribimos luego.
Responder Con Cita