• Domingo 22 de Diciembre de 2024, 09:26

Autor Tema:  Salvar Archivos A Disco  (Leído 1350 veces)

enri333

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Salvar Archivos A Disco
« en: Martes 31 de Octubre de 2006, 16:05 »
0
Buenas:
La pregunta es sencilla, los datos que intoduzco en mi aplicación en forma de Textbox, combos, grids, etc. los quiero salvar en el disco en un archivo ¿en qué formato se deben guardar? me explico, ¿como archivo aleatorio separado por comas o tabuladores o con caracteres especiales y luego recuperarlos con split? (es lo que suelo hacer pero no sé si hay otros métodos mejores utilizo Char$28,29 y 30 como separadores) ¿como archivo secuencial? ¿binario? ¿algún otro? ¿y si hay imágenes? gracias.

ArKaNtOs

  • Miembro de PLATA
  • *****
  • Mensajes: 1253
  • Nacionalidad: mx
    • Ver Perfil
Re: Salvar Archivos A Disco
« Respuesta #1 en: Martes 31 de Octubre de 2006, 16:23 »
0
Puedes con una BD  :P

lo mas recomendable si buscas el manejo ficheros es el manejo de ficheros secuenciales para cuando quieres guardar valores de Grid, ahora si son de varios TextBox y es para un uso como de propiedades del sistema o algo asi te conviene el manejo de ficheros binarios y separalos por chr 13 aunque tambien los que mencionas estan bien, y si hay imagenes solo guarda los path :)

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Salvar Archivos A Disco
« Respuesta #2 en: Martes 31 de Octubre de 2006, 17:39 »
0
Como ha dicho mi amigo, lo más fácil es con una Base de datos.

Así te conectas con una DB Access que está en el mismo directorio que la aplicación.
Código: Text
  1.  
  2. Sub conectar(ByRef base As ADODB.Connection)
  3.     ChDir (App.Path)
  4.     Set base = New ADODB.Connection
  5.     txtConexion = "db.mdb"
  6.     base.Provider = "Microsoft.Jet.OLEDB.4.0"
  7.     base.ConnectionString = App.Path & "\" & txtConexion
  8.     base.Open
  9. End Sub
  10.  
  11.  

Así cargas los registros de una consulta.
Código: Text
  1.  
  2. Sub cargarRegistro(sql As String, ByRef reg As Recordset)
  3.     On Error Resume Next
  4.     If (reg.State) Then
  5.         reg.Close
  6.     End If
  7.     reg.LockType = adLockPessimistic
  8.     reg.Open sql, base
  9. End Sub
  10.  
  11.  

Así ejecutas una sentencia SQL.
Código: Text
  1.  
  2. Sub goSQL(sql As String, ByRef base As ADODB.Connection)
  3.     base.Execute (sql)
  4. End Sub
  5.  
  6.  

PD: Debes agregar el control "Microsoft ADO Data Control 6.0 (ALEDB)" para que funcione.

Espero que te sirva.

 :hola:
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Salvar Archivos A Disco
« Respuesta #3 en: Miércoles 1 de Noviembre de 2006, 01:21 »
0
Hola

Pues si lo mejor es una BD
aqui hay unos ejemplos de como escribir y leer achivos



Modulo
Código: Text
  1.  
  2. Type Datos
  3.     nombre As String
  4.     apellidos As String
  5.     edad As String
  6. End Type
  7.  
  8.  

Form

Código: Text
  1.  
  2. Private Sub Command1_Click()
  3. Dim Num As Integer, Cliente As Datos
  4.  
  5. Num = FreeFile
  6.  
  7. Cliente.nombre = Me.Text1
  8. Cliente.apellidos = Me.Text2
  9. Cliente.edad = Me.Text3
  10.  
  11. 'Modo Binary o Random
  12.   Open App.Path & "\archivo.txt" For Binary As #Num
  13.      Put #Num, , Cliente.apellidos & "," & Cliente.nombre & "," & Cliente.edad
  14.   Close #Num
  15.  
  16.  ' en Modo Output o Append
  17.  ' Open App.Path & "\archivo.txt" For Append As #Num
  18.    ' Print #Num, Cliente.apellidos & "," & Cliente.nombre & "," & Cliente.edad
  19.  ' Close #Num
  20.  
  21. End Sub
  22.  
  23.  
  24. Private Sub Command2_Click()
  25. Dim Num As Integer, Cliente As Datos, Vcio
  26.  
  27. Num = FreeFile
  28.  
  29. Cliente.nombre = Me.Text1
  30. Cliente.apellidos = Me.Text2
  31. Cliente.edad = Me.Text3
  32.  
  33. 'Lectura separada por comas
  34. '  Open App.Path & "\archivo.txt" For Input As #Num
  35.  '   Input #Num, Cliente.apellidos, Cliente.nombre, Cliente.edad
  36. '  Close #Num
  37. 'MsgBox "Nombre:" & Cliente.nombre & vbCrLf & " Apellidos " & vbCrLf & Cliente.apellidos & vbCrLf & "edad:" & Cliente.edad
  38.  
  39. 'Lectura binaria
  40.   Open App.Path & "\archivo.txt" For Binary As #Num Len = LenB(Cliente)
  41.     Get #Num, , Cliente
  42.   Close #Num
  43.  
  44. MsgBox "Registro:" & Cliente.nombre
  45.  
  46.  
  47. End Sub
  48.  

Espero te sirva
Suerte

Tambien busca sobre la funcion EOF
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================