
07/09/2009, 03:53
|
 | | | Fecha de Ingreso: julio-2006 Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 18 años, 9 meses Puntos: 29 | |
Respuesta: Guardar y abrir archivos TXT en un Textbox Algo he encontrado.
La primera sub, en .NET, creo que sería así:
Sub AbrirArchivo(Ruta As String, Texto As TextBox)
Dim fnum As Integer
' tienes que asignar un numero a cada fichero que abres.
' el primer fichero lleva el numero 0, el segundo 1, etc,
' asi que para guardarlo creas esta variable
On Error GoTo Ninguno ' si da error es que no se ha
podido abrir y saltamos a Ninguno
fnum = FreeFile() ' esto es una ayuda al programador.
'freefile devuelve el siguiente numero vacío que puedes
usar para abrir un fichero,
'de modo que no tienes que llevar la cuenta de cuantos has
abierto,
' ya que al cerrarlo, el sistema lo descuenta.
' abrimos el fichero, donde Ruta es un string
' que debes cargar con la ruta completa y nombre
' del fichero de texto.
FileOpen(fnum, Ruta, OpenMode.Input)
' como ves, fnum tambien se usa ahí, para asignar el numero
al fichero.
' esto hace un bucle hasta que se llegue al final del
fichero
Do Until EOF(fnum)
' vas sacando líneas y añadiendolas a tu textbox.
' usas fnum para referirte al fichero abierto.
txt = LineInput(fnum)
' y la línea sacada se carga en txt
' pegas la linea en el textbox 'Texto'
Texto.Text = Texto.Text & vbCrLf & txt
' y asi tantas veces como lineas haya
Loop
FileClose(fnum)
' al final cierras el fichero y freefile podra usar el
numero de nuevo en otro.
' esto lo añado yo
Goto FinSub
' si hay error
Ninguno:
' mostramos el error
msgbox Err.Number & " - " & Err.Description
Err.Clear
' y limpiamos el error
on error resume next
FinSub:
on error goto 0
'quitamos el control de errores
' y salimos
End Sub
La segunda no he encontrado equivalente, ya que guarda todo el textbox en una sola orden, y mi programa guardaba ListBox, con lo que lo hacía línea alínea así:
PrintLine(NumFichero, "TextoAGuardar")
Pero posiblemente te sirva así:
Sub GuardarArchivo(Ruta As String, Texto As TextBox)
Dim fnum As Integer
On Error GoTo Ninguno
fnum = FreeFile()
FileOpen(fnum, Ruta, OpenMode.OutPut)
PrintLine(NumFichero, Texto.Text)
FileClose(fnum)
Goto FinSub
Ninguno:
Msgbox “Error al guardar el archivo”
Err.Clear
On Error Resume Next
FinSub:
On Error Goto 0
End Sub
Espero que te sirvan así.
Lo de el control de errores es costumbre (o manía) mía.
Siempre declaro todas las variables y uso a mi manera el control de errores, pero no puedo decir que sea la manera correcta por que soy auto-didacta y las cosas las entiendo a mi modo y pocas veces hay quién pueda corregirme.
Si te interesa puedo hacerte un resumen, pero no voy a decir que sea el uso correcto. |