Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > Varios
Register FAQ Members List Calendar Guía de estilo Search Today's Posts Mark Forums Read

Coloboración Paypal con ClubDelphi

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 17/11/2005
ariefez's Avatar
ariefez ariefez is offline
Miembro
 
Join Date: Sep 2005
Location: Perú - Lima
Posts: 63
Poder: 21
ariefez Va por buen camino
Diacrítico

Se puede quitar el diacrítico de las letras.

Por ejemplo:
á = a
ô = o
Ä = A
Reply With Quote
  #2  
Old 17/11/2005
jhonny's Avatar
jhonny jhonny is offline
Jhonny Suárez
 
Join Date: May 2003
Location: Colombia
Posts: 7,070
Poder: 32
jhonny Va camino a la famajhonny Va camino a la fama
Que bueno que se pueda
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Reply With Quote
  #3  
Old 17/11/2005
marcoszorrilla's Avatar
marcoszorrilla marcoszorrilla is offline
Capo
 
Join Date: May 2003
Location: Cantabria - España
Posts: 11,221
Poder: 10
marcoszorrilla Va por buen camino
Código Delphi [-]
 cCadena:= LoQueSea;
 StringReplace(cCadena, 'ó', 'o', rfReplaceAll);

Supongo que quieres decir substituir un carácter por otro:
camión --> camion ?

Un Saludo.
__________________
Guía de Estilo de los Foros
Quote:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Reply With Quote
  #4  
Old 17/11/2005
ariefez's Avatar
ariefez ariefez is offline
Miembro
 
Join Date: Sep 2005
Location: Perú - Lima
Posts: 63
Poder: 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.
Reply With Quote
  #5  
Old 17/11/2005
dec's Avatar
dec dec is offline
Moderador
 
Join Date: Dec 2004
Location: Alcobendas, Madrid, España
Posts: 13,142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

No estoy seguro de que sea lo apropiado, pero, en este Hilo Federico puede ayudarte.
__________________
David Esperalta
www.decsoftutils.com
Reply With Quote
  #6  
Old 17/11/2005
roman's Avatar
roman roman is offline
Moderador
 
Join Date: May 2003
Location: Ciudad de México
Posts: 20,269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Quote:
Originally Posted by jhonny
Que bueno que se pueda


Y también se pueden quitar los signos de interrogación.

// Saludos
Reply With Quote
  #7  
Old 18/11/2005
jhonny's Avatar
jhonny jhonny is offline
Jhonny Suárez
 
Join Date: May 2003
Location: Colombia
Posts: 7,070
Poder: 32
jhonny Va camino a la famajhonny Va camino a la fama
Quote:
Originally Posted by roman
Y también se pueden quitar los signos de interrogación.
Y tambien el Hola, el por favor, y muchas cosas mas
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Reply With Quote
  #8  
Old 18/11/2005
ariefez's Avatar
ariefez ariefez is offline
Miembro
 
Join Date: Sep 2005
Location: Perú - Lima
Posts: 63
Poder: 21
ariefez Va por buen camino
Gracias por sus respuestas era lo q estaba buscando.

Una cosa mas, al ver el hilo q pusiste, veo q no usan ninguna regla, no es tan simple como pasar a minusculas.

Una pregunta aparte: ¿como hace el SO para saber q caracter le corresponde al presionar: ´ y luego a me muestre á ?
Reply With Quote
  #9  
Old 18/11/2005
Al González's Avatar
[Al González] Al González is offline
In .pas since 1991
 
Join Date: May 2003
Posts: 5,610
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile

¡Hola Ariefez!

Hace algunos años me hice la misma pregunta que tú (aunque con «signos de interrogación» ). Investigando en la vasta ayuda de la API de Windows —Win32.hlp—, encontré que la función MultiByteToWideChar puede utilizarse para obtener la composición de un carácter con diacrítico (Windows mantiene una relación de los caracteres diacríticos y sus posibles composiciones con diferentes letras). Para esto, hay que indicar el parámetro mb_Composite al llamar a la función.

Pero como muchas otras funciones de la API de Windows, MultiByteToWideChar resulta un poco pomposa a la hora de llamarla: sólo acepta cadenas PChar, debes darle el buffer donde guardará el resultado y ¡demanda seis parámetros! ; y por si fuera poco también descompone la letra eñe (en tilde + ene). Quizá te convenga crear una función que encapsule, controle y simplifique el uso de MultiByteToWideChar para quitar los diacríticos de una cadena en castellano, lo cual también yo hice en mi biblioteca de funciones Delphi (si quieres una copia, sólo envíame un correo).

Espero esto sea de utilidad, seguimos en contacto.

Un abrazo agudo, grave y circunflejo.

Al González.
Reply With Quote
  #10  
Old 18/11/2005
ariefez's Avatar
ariefez ariefez is offline
Miembro
 
Join Date: Sep 2005
Location: Perú - Lima
Posts: 63
Poder: 21
ariefez Va por buen camino
Thumbs up Basta un pequeño empujon para ir a donde sea

Gracias a todos por responder a mis dudas y especialmente a Al González era lo que en realidad estaba buscando. voy a probar la funcion y a ver q sale. Nos vemos, sera hasta la proxima.
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT +2. The time now is 06:46.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi