Fecha actual Lun May 13, 2024 10:37 pm

Todos los horarios son UTC + 1 hora [ DST ]




Nuevo tema Responder al tema  [ 6 mensajes ] 
Autor Mensaje
NotaPublicado: Sab Mar 15, 2008 10:42 am 

Registrado: Jue Nov 03, 2005 7:20 pm
Mensajes: 132
Ubicación: Teruel(España)
Hola
Imagino que el ultimo paso entre clipper y c3 es pasar los datos a windows
Con OemtoChar(OrigenDOS, @vTempoDestinoWindows) las vocales acentuadas, nuestra querida Ñ se hace visible en windows.
La inversa CharToOem(OrigenWindows, @vTempoDOS) deja visibles los caracteres para DOS/Clipper.
Pero si pasamos CharToOem (o su inversa) mas de una vez se pierden los caracteres, siendo ya imposible hacer visible los caracteres acentuados y la Ñ tanto en DOS como en Windows.
No es un problema de C3, con PROMETHEUS tambien pasa.
¿Hay algun sistema para reconocer si la funcion CharToOem se ha pasado ya?
Venga va que esta es facil

Un saludo


Arriba
 Perfil  
Responder citando  
NotaPublicado: Sab Mar 15, 2008 12:21 pm 
Avatar de Usuario

Registrado: Dom Oct 09, 2005 11:26 am
Mensajes: 362
Ubicación: Salamanca - España
amable escribió:
Hola
Imagino que el ultimo paso entre clipper y c3 es pasar los datos a windows
Con OemtoChar(OrigenDOS, @vTempoDestinoWindows) las vocales acentuadas, nuestra querida Ñ se hace visible en windows.
La inversa CharToOem(OrigenWindows, @vTempoDOS) deja visibles los caracteres para DOS/Clipper.
Pero si pasamos CharToOem (o su inversa) mas de una vez se pierden los caracteres, siendo ya imposible hacer visible los caracteres acentuados y la Ñ tanto en DOS como en Windows.
No es un problema de C3, con PROMETHEUS tambien pasa.
¿Hay algun sistema para reconocer si la funcion CharToOem se ha pasado ya?
Venga va que esta es facil

Un saludo


Hola (otra vez)

Pues me temo que la respuesta es que no, ya que entiendo que las funciones ¿no pueden? reconocer si se esta en la primera pasada o en otra posterior.

Yo creo que solo teniendo un poquito de cuidado lo tienes facil ya que entiendo que no es una funcion de uso para el usuario, si no una herramienta de desarrollo

_________________
Un saludo.
Jesús P. Melgar Velasco


Arriba
 Perfil  
Responder citando  
 Asunto:
NotaPublicado: Dom Mar 16, 2008 12:06 am 

Registrado: Jue Nov 03, 2005 7:20 pm
Mensajes: 132
Ubicación: Teruel(España)
Hola Jesus

Parece que por aqui solo vivimos tu y yo
La instruccion OemtoChar y su inversa se me ocurrio ponerla en el menu del programa mientras depuraba el programa y mantenia la version anterior, pero despues de la esperiencia estoy de acuerdo contigo que no debe ser una opcion para el usuario.

Un saludo


Arriba
 Perfil  
Responder citando  
 Asunto:
NotaPublicado: Dom Mar 16, 2008 12:26 pm 
Avatar de Usuario

Registrado: Mar Dic 27, 2005 2:58 pm
Mensajes: 77
Yo creo que sí podrás detectarlo, son cadenas de caracteres iguales excepto para algunos especiales (ñ, acentos, etc). Puedes construir una función que te busque esos caracteres especiales, si están ya la tienes convertida a Windows, si no están puedes buscar sus equivalentes en DOS, si están éstos la tienes que convertir, y finalmente, si no están tampoco, te da igual, quiere cedir que convertida o no, la cadena final es la misma.

Por cierto, yo estoy por aquí tambien :)


Arriba
 Perfil  
Responder citando  
 Asunto:
NotaPublicado: Dom Mar 16, 2008 2:43 pm 

Registrado: Jue Nov 03, 2005 7:20 pm
Mensajes: 132
Ubicación: Teruel(España)
Hola Alberto
Se me ocurre hacer una funcion "puente", que admita los parametros origen y destino, pero que realize un AT caracter a caracter desde uno hasta Len(origen) basicamente creo que son estos:
ÁÉÍÓÚáéíóúÑñÜü si aparece alguno que devuelva .F. si no aparece que lance la funcion de conversion y devuelva .T.

Un saludo
Amable Garcia


Arriba
 Perfil  
Responder citando  
 Asunto:
NotaPublicado: Dom Mar 16, 2008 8:22 pm 

Registrado: Jue Nov 03, 2005 7:20 pm
Mensajes: 132
Ubicación: Teruel(España)
Imagino que es mejorable y os animo a ello, he hecho dos funciones
aWin y aDos, llevan dos parametros: Variable origen y si quiero o no que avise de error.
En el objeto llamante hay que declarar la variable que recoge el resultado.
Adjunto ejemplo

Un saludo
Amable Garcia


Adjuntos:
OemtoChar.zip [1.7 KiB]
406 veces
Arriba
 Perfil  
Responder citando  
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 6 mensajes ] 

Todos los horarios son UTC + 1 hora [ DST ]


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Buscar:
Saltar a:  
cron