Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Manejo De Ficheros
Autor Mensaje
Responder citando   Descargar mensaje 
Mensaje Manejo De Ficheros 
 
Access
Saber si tenemos acceso a un fichero (bien  por que no exista, bien por permisos)
Acceso=access(path,modo)

El modo puede ser '
gb.read ====> lectu ra
gb.write ====> escritura
gb.exec ====> ejecu ción
Y además se pueden combinar
print access(system.home & "/mifichero",gb.write or gb.exec)

Dir
Devuelve un array con los ficheros que cumplen la máscara especificada .
La máscara  puede ser
* ====> cualquiera
? ====> un caracter
[abc] ====> existe cualquier caracter especificado entre corchetes
[a-z] ====> cualquier caracter en el intervalo especificado
[^a- z] ====> cualquier caracter que no esté en el intervalo

Dim Fichero as  string
for each Fichero in dir(system.home, "*")
   print Fichero
next


Rdir
Igual que dir salvo que incluye subdirectorios.

Exist
Devuelve true si el fichero o directorio existe

dim Fichero as  string
Fichero ="mifichero.txt "
if exist(Fichero) then
...
endif


Isdir
Devuelve true si el directorio especificado existe

print isdir(system.home) ==== > true
print isdir(system.home & "/fichero. txt") = ===> false


stat
Devuelve información  de u n fich ero o directorio.
La información  que se puede obtener es
Group ====> gru po al que perten ece
User ====> usu ario a l que pertenece
Hidden ====> oculto o no
LastAccess ====> último acceso
LastCha nge ====> último cambio
LastUpdate ====> última actu alización
Node ====> nodo actual
SetGid ====> gid actual
SetUid ====> uid actual
Size ====> tamaño en  bytes
Sticky ====> si está activado stickybit
Time ====> hora
Type ====> tipo de fichero

print stat("/home").type ==== > gb.directory
print round(stat("/home").size/1024)  & "K"  ====> tamaño en kb


Temp
Devuelve el nombre de un fichero temporal único y será creado en  /tmp

Dim ficheroaux  as string
Ficheroaux=temp()


Open
Abrir un  fichero en  uno de los siguientes modos
read ====> lectura
write ====> escritura
create ====> creación
append ====> añadir datos. El puntero se situa al final nada mas abrir
watch  ====>
direct ====> abrir sin  usar buffer. La  lectura/escritura es directa al fichero
big ====> usar BIG ENDIAN
little ====> usar LITTLE ENDIAN

Dim Descriptor as FILE
Descriptor=open "fichero"  for read/write/create/ .../  


Eof
Devuelve true si estamos al final de fichero
open fichero for read  as Fich
do while not eof(Fich)
...
...
loop


line input
Lee una línea. Se utiliza  como delimitador el salto de línea LF chr(10 ). Por esta razón NO DEBE USARSE con
ficheros binarios. Para  estos hay que usar READ.

Dim Linea as string
line input #Descriptor , Linea


Read / Write
Lee una cantidad de bytes de un  fichero y los almacena  en una variable. El tipo de esa variable define el tipo
de dato que se ha  leído.

read #descriptor,Variable,longitud

Si Variable es de tipo string y no se especifica  longitud se lee el string entero.
Si Variable es de tipo string y longitud es negativo se empieza a leer desde la derecha

seek
Mueve el puntero X bytes hacia adelante. Si la  longitud es negativa lo mueve hacia  atrás.
seek #descriptor,posicion

seek #descriptor,0 ===  ir al  principio
seek #descriptor,lof(f ichero)  ====>  muevel  al final
seek #descriptor,-100  ====> mueve 10 0 bytes  hacia  atrás desde el  final de archivo


flush
Graba  el contenido del buffer al fichero. Usualmente se hace antes de cerrar un archivo tras haber hecho
cambios.
flush #descriptor

close
Cierra un  fichero
close # descriptor


copy
copia  un fichero no abierto a otro lugar No se pueden copiar directorios recursivamente.
copy path_origen to path destino

copy system.home &/ "f ichero. txt" to user.home &/ "fichero_renombrado. txt"

kill
Borra  un fichero no abierto

kill "fichero"

rename
Renombra  un fichero no abierto.

rename  "fichero" as "nuevonombre"

mkdir
Crea  un directorio.

mkdir " Directorio"

rmdir
Borra  un directorio

rmdir " Directorio"

Un ejemplo
Leer registros de una  tabla y dejarlos en un  fichero secuencial. Se entiende que ya  existe una conexión
activa a base de datos.

Dim Rec  as result, F as file
Rec=Conexion.exec("select nombre,direccion, telefono from clientes") 'abrir el recordset
F=open  "fichero.dat" for create
do while Rec.available
   print  #F,Rec!Nombre, Rec!direccion, Rec!telefono
   Rec.movenext
loop


Al escribir separando por coma los campos quedan separados por un tabulador.

Otro ejemplo
Insertar en  una  tabla datos procedentes de un fichero de datos. Se entiende una  conexión  activa a base de datos

Dim F as file,  Linea a sstring, Campos as  string[]
F=open  "fichero.dat" for read
while not eof( F)
   line  input  #F,Linea
   Campos=split(Linea, key.tab )
   Conexion.exec("insert into  tabla  (nombre ,direccion,telefono)  values ( '" & campos[0]  & "',' " & campos[1]  & "','"  & campos[2] &  ")")
wend

 



 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 0
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Problemas Con "Manejo De Ficheros" AnSnarkista General 8 Jueves, 17 Junio 2010, 18:32 Ver último mensaje
AnSnarkista
No hay nuevos mensajes Nombre De Ficheros: Arrastrar Ficheros A U... jsbsan General 2 Jueves, 16 May 2013, 18:57 Ver último mensaje
jsbsan
No hay nuevos mensajes Edición De Ficheros Dxf tincho General 17 Domingo, 24 Enero 2016, 18:53 Ver último mensaje
vuott
No hay nuevos mensajes Manipulador De Ficheros PDF shordi Aplicaciones/Fragmentos de Código 21 Miercoles, 10 Julio 2019, 17:37 Ver último mensaje
shordi
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
No puede descargar archivos
No puede publicar eventos en el calendario