Ejemplos de cómo generar un fichero de texto.
Atención: El usuario que guarda debe de tener permiso de escritura en la ruta seleccionada. Se recomienda que no sea en la raíz de una unidad de disco.
Código VB6:
' Ejemplo con FileSystemObject Sub Main() frmAux.Descargar 'ATENCIÓN: DEBE ESTAR SIEMPRE QUE NO SE MUESTRE EL FORMULARIO. Set fs = CreateObject("Scripting.FileSystemObject") Set a = fs.CreateTextFile("c:\temp\testfile.txt", True) lVar = "contenido de mi variable" a.WriteLine("This is a test l1.") a.WriteLinelVar & ";A;" & lVar ) a.WriteLine("This is a test l3.") a.Close End Sub
'Ejemplo con funciones de la librería ahoraUtil, esta vez utilizando un recordset Sub Main() frmAux.Descargar Set lObj = CreateObject("AhoraUtil.CUtil") lpath = "C:\Compartida\" lcliente = InputBox("Nombre Cliente:") lSQL = "SELECT * from Pantallas_Configuracion_Scripts" Set lr1 = gcn.OpenResultSet (lSQL,2,3) Do While Not lr1.EOF lCadFile = CStr(lr1("Codigo")) lfichero = lcliente & " - " & CStr(lr1("Pantalla")) lObj.GuardaFichero lpath & lfichero & ".txt",CStr(lCadFile) lr1.MoveNext Loop MsgBox "Extracción terminada " & lpath End Sub
Código C#:
// Ejemplo con clase File using System.IO; namespace AhoraScriptsVacia { public class Script_61 : AhoraOCX.AhoraBaseScript { public void Main() { StreamWriter lFichero = File.CreateText("C:\\TEMP\\testfile.txt"); string lVar = "Contenido de mi variable"; lFichero.WriteLine("Línea 1"); lFichero.WriteLine(lVar + ";A;" + lVar); lFichero.WriteLine("Línea 3"); lFichero.Close(); } } }
// Ejemplo con funciones de la librería AhoraUtil, esta vez utilizando un recordset using AhoraSistema; using static AhoraUtil.CUtil; using static AhoraCore.VBA.Interaction; namespace AhoraScriptsVacia { public class Script_62 : AhoraOCX.AhoraBaseScript { public void Main() { string lPath = "C:\\TEMP\\"; string lCliente = InputBox("Nombre Cliente:"); string lSQL = "SELECT * FROM Pantallas_Configuracion_Scripts"; IRecordSet lR1 = gCn.OpenResultSet(lSQL); while (!lR1.EOF) { string lCadFile = lR1["CodigoNet"].Value; string lFichero = lCliente + " - " + lR1["Pantalla"].Value; GuardaFichero(lPath + lFichero + ".txt", lCadFile); lR1.MoveNext(); } MsgBox("Extracción terminada: " + lPath); } } }
En Ahora 5 se ha añadido un parámetro nuevo para determinar la codificación del fichero a crear. Por ejemplo, para los ficheros a enviar para intercambios de información (EDI), se aconseja crear los archivos en formato UTF-8 sin BOM.
Un ejemplo de cómo hacerlo:
Código C#:
using AhoraCore; using AhoraOCX; using AhoraSistema; using static AhoraCore.VBA.Interaction; using static AhoraCore.VbMsgBoxResult; using static AhoraCore.VbMsgBoxStyle; using System; using System.IO; using System.Text; namespace AhoraScriptsVacia { public class Script_17 : AhoraOCX.AhoraBaseScript { public void Main() { string t1 = "hola"; string t2 = "mundo"; IFileSystemObject fs = AhoraCore.AhoraServiceLocator.Current.GetService<AhoraCore.IFileSystemObject>(); ITextStream edi = fs.CreateTextFile(@"C:\Prueba.txt", new UTF8Encoding(false), true); edi.WriteLine(t1 + @"#" + t2); edi.Close(); } } }
¿Le ha sido útil este artículo?
¡Qué bien!
Gracias por sus comentarios
¡Sentimos mucho no haber sido de ayuda!
Gracias por sus comentarios
Sus comentarios se han enviado
Agradecemos su esfuerzo e intentaremos corregir el artículo