Ver Mensaje Individual
  #1  
Antiguo 07-05-2025
victor03 victor03 is offline
Miembro
 
Registrado: feb 2025
Posts: 50
Reputación: 2
victor03 Va por buen camino
Leer lineas de consola de comandos

hola, tengo un programa que hice de consola el cual me devuelve unas líneas de comando que después yo leo y manejo según lo que me pongan, el porblema que yo tengo es a la hora de leer esas lineas,
y es que si hay un caracter especial 'ñ','á'... esa palabra me la deja en blanco, por lo que he visto el problema esta en 'OutputLine := WideString(Buffer) ; ' he probado a cambiar el wideString por string UTF8Encode... y no me han funcionado.

Código Delphi [-]
  RutaEXE := 'C:\SII\envioVerifactu\envioVerifactu.exe';
  Parametros := '"' + fichero + '" ' + CONTROLWCERT_HUELLA.AsString + ' "' + CONTROLWRUTA_VERIFACTU.AsString + '"';
  CommandLine := '"' + RutaEXE + '" ' + Parametros;

  LOG('EJECUTANDO: ' + CommandLine);

  try
    if CreateProcess(nil, PChar(CommandLine),
      nil, nil, True, 0, nil, nil, StartupInfo, ProcessInfo) then
    begin
        CloseHandle(WritePipe); // Solo lecturaG

        LOG('LEER LA SALIDA DEL PROCESO');
        repeat
          BytesRead := 0;
          ZeroMemory(@Buffer, SizeOf(Buffer));
          if ReadFile(ReadPipe, Buffer, SizeOf(Buffer) - 1, BytesRead, nil) and (BytesRead > 0) then
          begin
            Buffer[BytesRead] := #0;
            OutputLine := WideString(Buffer) ;     
            ConsolaSalida := ConsolaSalida + OutputLine;
            LOG(CONSOLAsALIDA);
          end;
        until BytesRead = 0;

Última edición por Neftali [Germán.Estévez] fecha: 07-05-2025 a las 16:14:19. Razón: Poner los TAGs correctos
Responder Con Cita