Crear un fichero de texto desde un CEESI_Informe


Código VB6:

Sub Show()
  gform.Botonera.activarscripts=True
  gform.Botonera.BotonAdd "InformeTXT", "BotPersGeneraInformeTXT", , 0, True, 123
End Sub

Sub Botonera_AfterExecute(aBotonera, aBoton)
  If aboton.name = "BotPersGeneraInformeTXT" Then
    InformeTXT
  End If
End Sub

Sub InformeTXT()
  lIdInforme=999
  Set pCuaderno = gCn.Obj.DameObjeto("Informes", "Where IdInforme=" & lIdInforme)
  Set lCol = gcn.DameNewCollection
  lCol.Add CLng(Parametro1),"PEtiqueta"'Donde etiqueta es un campo de 
  CEESI_Informes_Parametros

  lCol.Add CLng(ParametroN),"PEtiqueta"

  Set pCuaderno.Objeto.ColParametros = lcol
  lfilename="C:\Prueba.txt"
  lCadena = pCuaderno.Objeto.GeneraInforme(lErrores)
  Set lUt = CreateObject("AhoraUtil.CUtil")
  lUt.GuardaFichero cstr(lFileName), cstr(lCadena)
  If Len(lErrores) > 0 Then
    If MsgBox("El informe se ha generado con errores.¿Desea visualizarlos?", 20, "Genera 
 Informes") = 6 Then
      Set lFrm = gCn.AhoraProceso("DameZoom", False, gCn)
      lPrt = "Errores informe: " & gcn.damevalorcampo("Select descrip from ceesi_informes where idinforme=" & lIdInforme)
      lFrm.Carga cstr(lPrt), cstr(lErrores)
    End If
  Else
    MsgBox "El informe se ha generado correctamente", 64, "Genera Informes"
  End If
End sub

Código C#:

using AhoraAsistentes;
using AhoraCore;
using AhoraGeneral;
using AhoraOCX;
using AhoraScripts;
using AhoraSistema;
using AhoraUtil;
using static AhoraCore.VBA.Conversion;
using static AhoraCore.VBA.Interaction;
using static AhoraCore.VBA.Strings;
using System;

namespace AhoraScriptsVacia
{
    public class Script_0 : AhoraOCX.AhoraBaseScript
    {

        public void Show()
        {
            try
            {
                ((ICntBotonera)((IForm)gform).Controls["Botonera"]).ActivarScripts = true;
                ((ICntBotonera)((IForm)gform).Controls["Botonera"]).BotonAdd("InformeTXT", "BotPersGeneraInformeTXT", "", (ETipo_Menu)0, true, 123);
            }
            catch (Exception)
            {
                throw;
            }
        }


        public void Botonera_AfterExecute(Valor aBotonera, Object aBoton)
        {
            try
            {
                if (System.String.Equals(((IControl)aBoton).Name, "BotPersGeneraInformeTXT", StringComparison.Ordinal))
                {
                    InformeTXT();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }


        public void InformeTXT()
        {
            Valor lPrt = ValorEmpty.Value;
            IFrmZoom lFrm = null;
            //CUtil lUt = null;
            Valor lErrores = ValorEmpty.Value;
            Valor lCadena = ValorEmpty.Value;
            Valor lfilename = ValorEmpty.Value;
            Valor ParametroN = ValorEmpty.Value;
            Valor Parametro1 = ValorEmpty.Value;
            IVB6Collection<Valor> lCol = null;
            IInforme pCuaderno = null;
            Valor lIdInforme = ValorEmpty.Value;
            try
            {
                lIdInforme = 999;
                pCuaderno = (IInforme)gCn.Obj.DameObjeto("Informes", "Where IdInforme=" + lIdInforme);
                lCol = gCn.DameNewCollection();
                lCol.Add((int)Parametro1, "PEtiqueta");
                //...
                lCol.Add((int)ParametroN, "PEtiqueta");

                ((IInforme)pCuaderno).ColParametros = lCol;
                lfilename = @"C:\Prueba.txt";
                lCadena = ((IInforme)pCuaderno).GeneraInforme(lErrores);
                //lUt = new AhoraUtil.CUtil();;
                CUtil.GuardaFichero((string)lfilename, (string)lCadena);
                if (Len(lErrores) > 0)
                {
                    if ((int)MsgBox("El informe se ha generado con errores.¿Desea visualizarlos?", (VbMsgBoxStyle)20, "Genera Informes") == 6)
                    {
                        lFrm = (IFrmZoom)gCn.AhoraProceso("DameZoom", out _, gCn);
                        lPrt = "Errores informe: " + gCn.DameValorCampo("Select descrip from ceesi_informes where idinforme=" + lIdInforme);
                        lFrm.Carga((string)lPrt, (string)lErrores);
                    }
                }
                else
                {
                    MsgBox("El informe se ha generado correctamente", (VbMsgBoxStyle)64, "Genera Informes");
                }
            }
            catch (Exception)
            {
                throw;
            }
        }

    }
}