Delphi - Acceso a unidades de disco.

 
Vista:

Acceso a unidades de disco.

Publicado por Ignacio (1 intervención) el 04/02/2001 20:24:13
Hola a todos, y gracias de antemano por cualquier ayuda que me podáis dar.

Quisiera que alguien me informara acerca de cómo se pueden leer bajo Windows los sectores de los discos duros/disquettes al estilo de las rutinas de la int13h del MsDos. Voy a usar Delphi 4.0 para dicha aplicación.

Saludos.
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

RE:Acceso a unidades de disco.

Publicado por JACOBO B. S. (80 intervenciones) el 05/02/2001 01:07:37
Usa esta función:

function LibreEnDisco( const Drive : Char ) : LongInt;
var
lpRootPathName : PChar; { address of root path }
lpSectorsPerCluster : DWORD; { address of sectors per cluster }
lpBytesPerSector : DWORD; { address of bytes per sector }
lpNumberOfFreeClusters : DWORD; { address of number of free clusters }
lpTotalNumberOfClusters : DWORD; { address of total number of clusters }
begin
lpRootPathName := PChar( Drive + ':\' );
if Windows.GetDiskFreeSpace( lpRootPathName,
lpSectorsPerCluster,
lpBytesPerSector,
lpNumberOfFreeClusters,
lpTotalNumberOfClusters ) then
Result := lpNumberOfFreeClusters * lpBytesPerSector * lpSectorsPerCluster
else
Result := -1;
end;

Un ejemplo de llamada:
Label1.Caption:=IntToStr( LibreEnDisco('c') );

Modificandola un poco puedes obtener el resto de información que nos devuelve GetDiskFreeSpace
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