Page 1 of 1

DiskSpace(), algun elemplo?

PostPosted: Sat Jun 29, 2013 1:12 am
by noe aburto
Saludos.

Para efecto de generar archivos de respaldo ZIP necesito saber el espacio disponible en memorias USB, HD u otros para determinar si mi archivo ZIP se puede almacenar.
La funcion DiskSpace() me da mi espacio pero no es nada seguro con el espacio real de mis dispositivos.
Algun ejemplo o funcion correcta?

Re: DiskSpace(), algun elemplo?

PostPosted: Sun Jun 30, 2013 6:47 pm
by compubrion
DISKSPACE()
Obtiene la cantidad de espacio disponible en el disco
Syntax
DISKSPACE( [<nDisco>] [, <nTipo>] ) --> nDiskbytes
Arguments
<nDrive> es el número de disco del que esta solicitando información donde 1
= A, 2 = B, etc, Si se especifica cero ó ningún parametro DISKPACE() trabaja sobre
la unidad actual de disco Por defecto es cero.
<nTipo> es el tipo de espacio que está siendo requerido. Por defecto es
HB_DISK_AVAIL.
Returns
<nDiskBytes> es el número de bytes en la unidad especificada que coincide
con el tipo requerido.
Description
Por defecto esta función retorna el número de bytes de espacio libre en el
disco actual que esta disponible para el usuario que solicita la información.
Hay 4 tipos de información disponible:
HB_FS_AVAIL La cantidad de espacio disponible para el usuario que hace la
solicitud. Este valor podría ser menor que HB_FS_FREE si las asignaciones de
espacio en disco (quotas) son soportadas por el sistema operativo al tiempo de
ejecución y estas quotas están asignadas. De otro modo el valor será igual al
retornado por HB_FS_FREE.
HB_FS_FREE La cantidad actual de espacio libre en el disco.
HB_FS_USED El número de bytes en uso en el en el disco.
HB_FS_TOTAL La cantidad total de espacio asignado para el usuario si las
quotas estan asignadas. De otro modo el tamaño actual del disco.
Si la información es requerida sobre un disco que no esta disponible un error
de ejecución 2018 será establecido.
Examples
? "Ud. tiene diponible: " + STR( DISKSPACE() ) + " bytes " +;
"sobre un total de " + STR( DISKSPACE( 0, HB_FS_TOTAL) )
Note: Ver ..\tests\tstdspac.prg por otros ejemplos.
Status
Started
Compliance
CA-Clipper retorna un valor entero cuya utilidad esta limitada a discos
menores de 2 gigabytes. La versión de Harbour retorna un valor de punto flotante
con 0 decimales si el disco es > 2 gigabytes. <nTipo> es una extensión de Harbour.

Re: DiskSpace(), algun elemplo?

PostPosted: Mon Jul 01, 2013 12:40 pm
by karinha
Code: Select all  Expand view

FUNCTION VERIFICA_HD()

   LOCAL nSpaceDisk

   nSpaceDisk := DISKSPACE()

   //@ 2,2 Say Tran( nSpaceDisk, "@E 999,999,999,999,999" )

   IF ( DISKSPACE() < 9000000.0 )

      MsgStop( "HARD DISK FULL", "Atencion" )

   ENDIF

RETURN( .T. )