![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Es esta función no puedo selecionar una tabla de conversión, necesito enviar en ASCII y no te digo nada cuando el cliente remoto es un control numérico CNC de hace 20 años
que vete tu a saber que SO lleva sino es un SO propietario, lo que si se es que lo normal es que esperen caracteres ASCII.He intentado convertir la cadena: ansistring recibida a otro tipo como decia al principio de este post para tampoco he solucionado el tema. ¿Como puedo convertir la cadena recibida en una cadena ASCII? String, ShortString, AnsiString, UnicodeString, WideString parece que son UTF8 en Delphi 2010. Aunque pensandolo bien, si la cadena ya se ha generado en UTF8 no voy a poder convertirla nunca, debo crear la cadena original en ASCII ¿Como se hace esto? no he visto nada en la ayuda de Delphi 2010 Thanks
__________________
Disfruta de la vida ahora, vas a estar muerto mucho tiempo. Última edición por cesarsoftware fecha: 24-09-2013 a las 11:10:08. |
|
#2
|
||||
|
||||
|
cesarsoftware,
Cita:
1- Sería conveniente saber cuales son las características del cliente remoto que presenta el problema mencionado en el Msg #1, quizás con mayor información podamos acotar el problema de forma más precisa. 2- ¿Has probado el tipo de dato UTF8String y la función de conversión Utf8ToAnsi?, la idea es manejar los datos a enviar en el Servidor como UTF8String y convertirlos a ASCII por medio de Utf8ToAnsi al momento del envío. Revisa esta información: Cita:
4- Revisa este código: El código anterior convierte un String a un AnsiString con un CodePage específico, quizás puedas probar enviando los datos como CodePage 437. Revisa este link: Cita:
1- ¿El problema se presenta con más de un cliente remoto?. 2- ¿Hay clientes remotos con los que funciona bien la transferencia?. 3- ¿Has considerado normalizar todos los datos eliminado los caracteres acentuados por sus correspondientes sin acento?. Espero sea útil ![]() Nelson. Última edición por nlsgarcia fecha: 24-09-2013 a las 15:46:10. |
|
#3
|
||||
|
||||
|
cesarsoftware,
Cita:
Cita:
El código anterior en Delphi 2010, define un tipo de string asociado a un codepage particular, lo cual permitirá enviar la información del Servidor al Cliente Remoto en función del formato requerido en el Msg #1 por medio del CodePage 437, según se muestra en la siguiente imagen: ![]() Revisa este link: Cita:
![]() Nelson. Última edición por nlsgarcia fecha: 25-09-2013 a las 02:04:51. |
|
#4
|
||||
|
||||
|
Buenos días nelson.
Perdona por no haber respondido antes, tu esfuerzo se merece una pronta respuesta, pero por suerte he estado todas la semana muy liado con unas ventas nuevas ![]() Tus respuestas tienen toda la pinta de ser lo que necesito, usar el codepage 437 porque soy yo el que emite un codigo incorrecto para lo esperado 233 en vez de 130. No te tenido tiempo de implementar la función, espero poder hacerlo esta tarde y te comento. Gracias.
__________________
Disfruta de la vida ahora, vas a estar muerto mucho tiempo. |
|
#5
|
||||
|
||||
|
Cita:
2. No, en ninguno Es decir, yo emito mal el carácter como te comentaba en el post anterior. 3. Imposible, es el usuario el que define los nombres, el ejemplo de "César" es porque detecte el fallo usando mi propio nombre como ejemplo. Gracias de nuevo.
__________________
Disfruta de la vida ahora, vas a estar muerto mucho tiempo. |
|
#6
|
|||
|
|||
|
Cita:
![]() ![]() |
|
#7
|
||||
|
||||
|
cesarsoftware,
Cita:
Espero sea útil ![]() Nelson. |
|
#8
|
||||
|
||||
|
Buenos días Nelson.
Implemente la función ChangeCodePage de forma que si al objeto TServidorSocket de le indica un codepage entonces la usa, Y lo curioso es que en la aplicación que me hacia falta funciono Gracias.Pero al ser un objeto que uso en otras aplicaciones, probar en otra con algunos mensajes como "Máquina no encontrada" y no funciona ![]() ¿Se puede especificar un codepage para toda la aplicación? He visto en propiedades del proyecto "Compiling" y "Resource compiling" el valor para codepage, he puesto en ambos casos 437 y no noto diferencia, también está la opción "Version info" la posiblididad de definir el "Locale ID" pero tampoco veo resultado. Asi que de momento mejor que antes ya estoy. Gracias.
__________________
Disfruta de la vida ahora, vas a estar muerto mucho tiempo. |
|
#9
|
||||
|
||||
|
Tambien en probado con esto
Y la uso asi
Y al pasar por la funcion del mensaje anterior, he probado a que convierta a 437 y el tipo no es String437 y que la deje tal cual si el tipo si es String437, y en esta aplicación no funciona. ![]()
__________________
Disfruta de la vida ahora, vas a estar muerto mucho tiempo. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| insert ansistring? | noelr | Conexión con bases de datos | 0 | 23-11-2011 02:00:59 |
| Uso de AnsiString | 11_8_88 | C++ Builder | 8 | 14-08-2010 20:53:47 |
| Generar un string con codigos ascii | JordiP | Varios | 9 | 16-12-2009 11:39:16 |
| string o AnsiString? | javier20 | OOP | 1 | 19-08-2007 01:58:35 |
| AnsiString en una Dll | Trigger | API de Windows | 2 | 21-01-2004 22:53:20 |
|