Você está na página 1de 2

Explorar unidades y directorios

Si importante es controlar el manejo de archivos no menos importante es el saber moverse


por las unidades de disco y los directorios.

Veamos que tenemos Delphi para estos menesteres:

function CreateDir( const Dir: string ): Boolean;

Esta funcin crea un nuevo directorio en la ruta indicada por Dir. Devuelve True o False
dependiendo si ha podido crearlo o no. El nico inconveniente que tiene esta funcin es que
deben existir los directorios padres. Por ejemplo:

CreateDir( 'C:\prueba' ) devuelve True


CreateDir( 'C:\prueba\documentos' ) devuelve True
CreateDir( 'C:\otraprueba\documentos' ) devuelve False (y no lo crea)

function ForceDirectories( Dir: string ): Boolean;

Esta funcin es similar a CreateDir salvo que tambin crea toda la ruta de directorios
padres.

ForceDirectories( 'C:\prueba' ) devuelve True


ForceDirectories( 'C:\prueba\documentos' ) devuelve True
ForceDirectories( 'C:\otraprueba\documentos' ) devuelve True

procedure ChDir( const S: string ); overload;

Este procedimiento cambia el directorio actual al indicado por el parmetro S. Por ejemplo:

ChDir( 'C:\Windows\Fonts' );

function GetCurrentDir: string;

Nos devuelve el nombre del directorio actual donde estamos posicionados. Por ejemplo:

GetCurrentDir devuelve C:\Windows\Fonts

function SetCurrentDir( const Dir: string ): Boolean;

Establece el directorio actual devolviendo True si lo ha conseguido. Por ejemplo:

SetCurrentDir( 'C:\Windows\Java' );

procedure GetDir( D: Byte; var S: string );


Devuelve el directorio actual de una unidad y lo mete en la variable S. El parmetro D es el
nmero de la unidad siendo:

D Unidad
--- ------------------
0 Unidad por defecto
1 A:
2 B:
3 C:
...

Por ejemplo para leer el directorio actual de la unidad C:

var
sDirectorio: String;
begin
GetDir( 3, sDirectorio );
ShowMessage( 'El directorio actual de la unidad C: es ' + sDirectorio );
end;

function RemoveDir( const Dir: string ): Boolean;

Elimina un directorio en el caso de que este vaco, devolviendo False si no ha podido


hacerlo.

RemoveDir( 'C:\prueba\documentos' ) devuelve True


RemoveDir( 'C:\prueba' ) devuelve True
RemoveDir( 'C:\otraprueba' ) devuelve False porque no esta vaco

Con estas tres funciones se pueden hacer cosas tan importantes como eliminar directorios,
realizar bsquedas de archivos, calcular lo que ocupa un directorio en bytes, etc.

Você também pode gostar