Visual Basic - mas dudas

Life is soft - evento anual de software empresarial
 
Vista:

mas dudas

Publicado por Ray (29 intervenciones) el 02/05/2006 01:04:10
cual es el codigo para que desde un programa abra un documento. txt. y otro para guardar un txt. y asignarle ubicacion
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Más respuestas

Publicado por Zoto (55 intervenciones) el 02/05/2006 23:08:49
Buenas, Ray.

No es tan complicado como parece.
Crea un nuevo proyecto.

_______________________________________
Añade los siguientes controles en el formulario:

TextBox llamado txtFileName
TextBox llamado txtData
CommandButton llamado cmdLoad
CommandButton llamado cmdSave
_______________________________________

Establece las siguientes propiedades del control TextBox llamado txtData:

MultiLine=True
ScrollBars= 2 -Vertical

Copia y pega este código en el editor de código del formulario:

'código ---------------------------------------------------------------------------------------

'-------------------------------
'Nombre: GuardarCargar_Texto.VBP
'Creador: Zoto - www.lawebdelprogramador.com | Foro Visual Basic
'Descripción: Ejemplo para Guardar/Cargar un archivo de texto
'Copyright: Puedes utilizar este código en tus aplicaciones y modificarlo.
' No puedes compilarlo ni distribuirlo.
' Si quieres publicar este código fuente en algun sitio Web,
' contacta primero conmigo:
' [email protected]

'Espero que te sea de ayuda.
'-------------------------------

Dim nF As Long 'Variable que contiene el número de archivo (FreeFile)

Private Sub cmdLoad_Click()
On Error GoTo LOAD_ERROR 'Nos dirigimos a tal etiqueta en caso de error

Dim Data As String
nF = FreeFile 'Se rellena la variable global nF con FreeFile

'Para abrir un archivo es necesario su nombre (en este caso se encuentra en txtFileName) y su número
'de archivo.
'El número de archivo es como un dorsal en un equipo de basquet.
'El proyecto es el equipo. En un mismo equipo no puede haver dos o más dorsales iguales.
'Entonces en un mismo proyecto no pueden haver dos o más números de archivo (identificadores) iguales.
'En este caso no pasa nada si usamos un número cualquiera.
'FreeFile devuelve un número de archivo libre, es decir, uno que no se ha utilizado aún en el proyecto
'(un dorsal sin jugador).
'En este caso, que solo abrimos un solo archivo en un mismo procedimiento,
'no es necesario llamar a FreeFile. Podría haver escrito 1 como número de archivo.
'No obstante, es muy recomendable acostumbrarse a llamar a FreeFile porque, si en un futuro tenemos
'que abrir más de un archivo a la vez nos será muy útil (evitará repeticiones de números y nos
'ahorrará errores).

'Se comprueba que el archivo existe.
'Si, pasando el archivo, la función Dir devuelve nulo, NO existe. Por lo tanto, se abandona el procedimiento.
If Dir(txtFileName.Text) = "" Then MsgBox "El archivo no existe.", vbCritical + vbOKOnly, "Archivo inexistente": Exit Sub


Open txtFileName.Text For Binary As #nF
Data = Space(LOF(nF)) 'Se rellena la variable con un número de espacios (" ")
'igual al tamaño del archivo. La función LOF() devuelve el
'tamaño del archivo abierto, pasando su número, en este caso nF (FreeFile).

Get #nF, 1, Data 'La variable Data, que actual como Buffer, recoge un número de Bytes del archivo
'igual a su número de carácteres (es decir, todo el archivo, ya que la hemos rellenado
'con una cantidad de espacios igual al tamaño del archivo).
'El uno escrito antes de Data, sirve para indicar a partir de qué Byte empezar
'a recoger datos (en este caso 1, desde el principio del archivo).
Close #nF

'Ahora, la variable Data, ya contiene TODOS los datos del archivo seleccionado (txtFileName.Text).
'Simplemente, los pasamos al TextBox llamado txtData para mostrarlos al usuario:

txtData.Text = Data

'Ya sabemos cargar un archivo de forma binaria (en principio para archivos de texto, pero
'sirva para ARCHIVOS DE CUALQUIER EXTENSIÓN).

MsgBox "Archivo cargado.", vbInformation + vbOKOnly, "Cargado" 'Se informa del éxito

Exit Sub
LOAD_ERROR: 'En caso de error se muestra ventana comunicando al respecto.
MsgBox "Error al cargar archivo de texto.", vbCritical + vbOKOnly, "Error nº " & Err
Err = 0
End Sub

Private Sub cmdSave_Click()
On Error GoTo SAVE_ERROR 'Nos dirigimos a tal etiqueta en caso de error

'(mira cmdLoad_Click para información sobre esto, ya que la mayoría se repite).

Dim Data As String
nF = FreeFile

Data = txtData.Text 'Se asigna a la variable Data el texto del TextBox llamado txtData

'Aquí se abre el archivo pero con la instrucción Append, es decir,
'para el simple propósito de añadir datos al archivo.

Open txtFileName.Text For Append As #nF
Print #nF, Data 'Se añade todo el contenido de la variable Data al archivo (se usa la instrucción Print, que, muy importante,
'deja automáticamente un cambio de línea (vbCrLf) al final de los datos añadidos).
Close #nF

'Ya sabemos guardar un archivo de forma binaria (en principio para archivos de texto, pero
'sirva para ARCHIVOS DE CUALQUIER EXTENSIÓN).

MsgBox "Archivo guardado.", vbInformation + vbOKOnly, "Guardado" 'Se informa del éxito

Exit Sub
SAVE_ERROR: 'En caso de error se muestra ventana comunicando al respecto.
MsgBox "Error al guardar archivo de texto.", vbCritical + vbOKOnly, "Error nº " & Err
Err = 0
End Sub

'código ---------------------------------------------------------------------------------------

Como ves, el código está ampliamente comentado y no tiene, en principio, pérdida alguna.
Si tienes, no obstante, alguna duda o problema con él, coméntamelo.

Espero que esto te ayude.
Nos vemos,

Zoto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Más respuestas

Publicado por joel (1 intervención) el 03/05/2006 02:14:54
Nuevo (s) ---> I_D_I_O_T_@_(S)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar