Utilizamos cookies propias y de terceros. Al navegar entendemos que aceptas el uso de cookies. +Info.
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Usuario
· Wiki

Nick


Contraseña


Nuevo usuario


English
Comprobar si hay un disco/diskette/CD en una unidad de discos removibles - Delphi
Lenguaje de programación Borland Delphi



IsDiskIn
El truco es llamar a la API GetDiskFreeSpace y devolver su valor de retorno como boolean. La siguiente función toma la letra de la unidad que se recibe como parámetro (por ejemplo 'A', 'D', etc.) y devuelve True si hay un disco en la unidad, o False si no es así.

uses Windows;

var
  CaminoUnidad: array [0..3] of char = 'A:';

function IsDiskIn(unidad: char): boolean;
var
  d1, d2, d3, d4: longword;
begin
  CaminoUnidad[0] := unidad;
  Result := GetDiskFreeSpace(CaminoUnidad, d1, d2, d3, d4);
end;
En la implementación usamos una cadena terminada en nulo inicializada (CaminoUnidad) que contiene el directorio raíz de la unidad A: y sustituimos la letra de la unidad por la que se pasa como parámetro antes de llamar a GetDiskFreeSpace.

Llamada de ejemplo:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if not IsDiskIn('A') then
    ShowMessage('La unidad A: no está lista');
end;




Publicado el: 2003-10-05

Este sitio web NO CONTIENE malware, todos los programas con código fuente aquí. Autor: Alonso Javier Pérez Díaz Google+ Síguenos en Google+