domingo, 26 de junio de 2011

Módulo Archivo: Leer

Leemos nuestros datos.... nuestra agenda casi funcional
Bueno, una vez que guardemos nuestros datos, habra que leerlos. Como siempre, y para ser organizados nos iremos al modulo “Archivo”, y crearemos la siguiente subrutina:



PUBLIC SUB abrir(OPTIONAL ruta AS String)
DIM a AS Integer 'contador de conjunto de datos
DIM b as integer 'contador de dato DIM arr_cadenas as String[]
DIM codigofinline AS String
DIM numero_de_datos AS Integer
codigofinline = "|"
Dialog.Title = “Seleccione un archivo de datos listin”
Dialog.Filter = ["*.lis", "Datos de Listin"]
IF NOT Dialog.OpenFile() THEN
arr_cadenas = Split(File.LOAD(Dialog.Path), codigofinline)


if arr_cadenas[0]<>”v0.0.1then
'se trata de una version incompatible con la version de este programa, abandono el procedimiento
Message.Error(“Error: Version incompatible de datos”)
goto finlectura
endif
numero_de_datos=arr_cadenas[2] ' la arr_cadenas[1] contiene el programa que lo hizo
b=2
'redimensiono los datos....
var.id.Resize(numero_de_datos)
var.dni.Resize(numero_de_datos)
var.nombre.Resize(numero_de_datos)
var.apellidos.Resize(numero_de_datos)
var.empresa.Resize(numero_de_datos)
var.puesto.Resize(numero_de_datos)
var.telf_empresa.Resize(numero_de_datos)
var.telf_parti.Resize(numero_de_datos)
var.fax.Resize(numero_de_datos)
var.movil_empresa.Resize(numero_de_datos)
var.movil_parti.Resize(numero_de_datos)
var.pag.Resize(numero_de_datos)
var.foto.Resize(numero_de_datos)
var.direccion.Resize(numero_de_datos)
var.observaciones.Resize(numero_de_datos)
var.fecha_datos.Resize(numero_de_datos)
var.correo.Resize(numero_de_datos)


'leo los datos
for a=0 to numero_de_datos-1
b+=1
var.id[a]=arr_cadenas[b]
b+=1
var.dni[a]=arr_cadenas[b]
b+=1
var.nombre[a]=arr_cadenas[b]
b+=1
var.apellidos[a]=arr_cadenas[b]
b+=1
var.empresa[a]=arr_cadenas[b]
b+=1
var.puesto[a]=arr_cadenas[b]
b+=1
var.telf_empresa[a]=arr_cadenas[b]
b+=1
var.telf_parti[a]=arr_cadenas[b]
b+=1
var.fax[a]=arr_cadenas[b]
b+=1
var.movil_empresa[a]=arr_cadenas[b]
b+=1
var.movil_parti[a]=arr_cadenas[b]
b+=1
var.pag[a]=arr_cadenas[b]
b+=1
var.foto[a]=arr_cadenas[b]
b+=1
var.direccion[a]=arr_cadenas[b]
b+=1
var.observaciones[a]=arr_cadenas[b]
b+=1
var.fecha_datos[a]=arr_cadenas[b]
b+=1
var.correo[a]=arr_cadenas[b]
next
titulo.rellena()
ENDIF
finlectura:
END



Orden Split:
Es capaz de crear un array desde una cadena o archivo (file.load(dialog.path) cuando los elementos que esten separados por un caractar (en nuestro caso el “codigofinline”)




arr_cadenas = Split(File.LOAD(Dialog.Path), codigofinline)









Y en el formulario FMAIN, añadimos el codigo siguiente al pulsar en el Menu Archivo/Abrir



PUBLIC SUB Abrir_Click()
archivo.abrir()
END

No hay comentarios:

Publicar un comentario