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; } } } }