FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Problemas con Ejecutar comando cmd y capturar su salida
Hola a todos
Pues buscando como ejecutar un comando con el CMD y obtener la salida para almacenarla en una variable, me encontré con este truco de seoane, pero parece que como es algo antiguo y para delphi 7 o anterior, en delphi XE7 no funciona como debe ser. En la salida en lugar de mostrar el resultado como debe ser, muestra letras chinas Por ejemplo: Esta salida Cita:
un dir C: me devuelve esto: Cita:
__________________
La hora de acción no es hora de aprender, es necesario haber aprendido antes |
#2
|
||||
|
||||
Tiene toda la pinta de ser problema con los caracteres Unicode. Recuerda que desde Delphi 2009 los antiguos WideString son los actuales String, y los antiguos String son los actuales AnsiString. Lo mismo pasa con los Char y PChar, que ahora son AnsiChar y PAnsiChar.
Prueba a cambiar las definiciones de la función, a ver si funciona No tengo a mano Delphi ahora mismo para probarlo. Un saludo |
#3
|
||||
|
||||
Hice los cambios de tipos de char y ansichar y demas como me explicas, pero en algunas funciones me da incompatibilidad de tipos
Entonces, depurando el código para ver el lugar donde se "pierde" la codificación, encontre que es en esta línea:
y no entiendo nada mas, no se como seguir para arreglar el problema
__________________
La hora de acción no es hora de aprender, es necesario haber aprendido antes |
#4
|
||||
|
||||
¿Podrías mostrarnos un poco más de código? Incluyendo el código de read_stdout (sea variable, función...) y la declaración de Buffer (sea variable, parámetro...). Gracias.
|
#5
|
||||
|
||||
Cita:
En realidad no puse el codigo completo porque puse el enlace en el primer post, pero de igual forma aqui lo tienes
Forma de uso:
__________________
La hora de acción no es hora de aprender, es necesario haber aprendido antes |
#6
|
||||
|
||||
Cita:
Revisando el código, da la impresión de que podría funcionar si cambias esta línea: por: o simplemente:
Última edición por Al González fecha: 08-09-2020 a las 06:30:00. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ejecutar comando PowerShell windows | Parsec | Windows | 2 | 03-10-2019 08:52:01 |
Ejecutar comando y capturar su salida | seoane | Trucos | 10 | 07-11-2017 12:08:28 |
Capturar la salida de un comando dos. | spab | API de Windows | 26 | 04-02-2011 13:05:08 |
Ejecutar comando remoto | papulo | Linux | 5 | 27-11-2008 18:41:46 |
Capturar salida de comando linux | pkbza | Lazarus, FreePascal, Kylix, etc. | 5 | 13-01-2006 01:45:32 |
|