Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-09-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
Como Cambiar Caracter ¥ por Ñ????

Tengo el siguiente problema, hice una importación de datos de un sistema en clipper a mi aplicación en windows, usó Firebird 1.52, pero me he percatado que los nombres de los CLIENTES en vez de ponerle la Ñ le pone el signo ¥ al principio tuve problemas con las consultas de los clientes pero lo solucione con la siguiente función:
Código Delphi [-]
function AnSi2Ascii(AText:string):string;
const MaxLength = 255;
var PText : PChar;
begin
  PText:=StrAlloc(MaxLength);
  StrPCopy(PText,AText);
  {$IFDEF WIN32}
  CharToOEM(PText,PText); {32Bit}
  {$ELSE}
  AnsiToOEM(PText,PText); {16Bit}
  {$ENDIF}
  Result:=StrPas(PText);
  StrDispose(PText);
end;

Pero si quiero hacer una asignación para desaparecer ese caracter no me lo cambia, he realizado un ciclo donde reviso caracter por caracter si me encuentro con el signo raro y no me cambia ese signo por la Ñ, pongo ejemplo:
Código Delphi [-]
..
  for x:=1 to length(val) do
    result:=result+ANSI2ASCII(val[x]);
..

Agradezco cualquier sugerencia.
Responder Con Cita
  #2  
Antiguo 29-09-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Una pregunta:
Has probado a modificarlo a mano?

Te digo esto, porque puede ser que no hayas configurado bien el:
Charset:ISO8859_1
y el Collate:
Es_es

Y lo que esté ocurriendo es que no admita este tipo de caracteres.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 01-10-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
ok

Yo inicialmente cuando hice la Base de datos empece y sigo con ese mismo Collate y Charset, por cada campo VarChar le agrego estas 2 propiedades.

Gracias por su sugerencia.
Responder Con Cita
  #4  
Antiguo 01-10-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: 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
Como los caracteres de los datos que importas también dependen del juego de caracteres que tenías en Clipper, posiblemente te funcione importarlos primero usando UTF y luego ya pasándolo a tus bases con ISO8859_1.

// Saludos
Responder Con Cita
  #5  
Antiguo 01-10-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
ok

Disculpe mi Ignorancía pero como hago eso con UTF????
Gracias Roman....
Responder Con Cita
  #6  
Antiguo 01-10-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
UTF

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #7  
Antiguo 02-10-2005
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
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 a todos!

Cita:
Empezado por AGAG4
...en vez de ponerle la Ñ le pone el signo ¥...
..reviso caracter por caracter si me encuentro con el signo raro y no me cambia ese signo por la Ñ, pongo ejemplo:
Código Delphi [-]
  for x:=1 to length(val) do
    result:=result+ANSI2ASCII(val[x]);
Agradezco cualquier sugerencia.
Que tal Alfredo. El problema es que estás intentando convertir de OEM a ANSI con una función que convierte de ANSI a OEM (CharToOEM). Necesitas usar la función inversa, OEMToChar.

Para mayor facilidad, si tienes Delphi 7, mi sugerencia sería que utilizaras la función ghCadenaANSI de Interfaz GH (Uses IGHCadenas).
Código Delphi [-]
CadenaNueva := ghCadenaANSI (CadenaVieja);

Un abrazo acentuado.

Al González.
Responder Con Cita
  #8  
Antiguo 03-10-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
ok

Muchas Gracias Al Gonzalez y MarcosZorrilla...

Las funciones que me comenta Al Gonzalez son Libres????

Lo solucione de la siguiente forma:

Código Delphi [-]
function LimpiaCharANSI(val:String):String;
var x:integer;
begin
  result:='';
  for x:=1 to length(val) do
    if (IntToStr(ord(val[x])) = '165') or ((IntToStr(ord(val[x])) = '209')) then
      result:=result+'Ñ'
    else
      result:=result+val[x];
end;

Que tengan Buen Día....
Responder Con Cita
  #9  
Antiguo 03-10-2005
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
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 a todos!

Cita:
Empezado por AGAG4
...Las funciones que me comenta Al Gonzalez son Libres????...
Interfaz GH es una biblioteca de funciones gratuita, totalmente funcional e incluye el código fuente. Su tipo de licencia es freeware.

Un abrazo sin costo.

Al González.
Responder Con Cita
  #10  
Antiguo 04-10-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
ok

Gracias por la información Al Gonzalez....

Saludos....
Responder Con Cita
  #11  
Antiguo 05-10-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
No puedo bajar la libreria

No puedo bajar la libreria que me comenta AL Gonzalez
Asi se llama el archivo que se descarga:
InterfazGH7%
2Ezip&tw=43200&kv=7&ct=1128549310&kpp=1&ver=2.1.0173.1&tpf=c3f3cef47a4d8cfcd3e3bf83dd97c21c

Saludos....
Responder Con Cita
  #12  
Antiguo 06-10-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
Ya lo descargue

Lo que me paso es que tenía un programa para descarga de archivos, lo desinstale y listo ....

Saludos....
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 21:21:00.


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