Ver Mensaje Individual
  #7 (permalink)  
Antiguo 07/09/2009, 03:53
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 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.