Mungkin pertanyaan di judul artikel ini aneh? Buat apa susah-susah membuat program seperti itu? Ya, kalau itu sih masalah kreatifitas programmer-nya. Saya pribadi terkadang memakai program beginian untuk membantu Pengguna yang awam saat mereka hendak menyimpan file-nya, atau bisa juga digunakan untuk mencegah Pengguna menggandakan data yang tidak dikehendaki.
Untuk mengotak-atik program seperti ini. Sertakan unit FileCtrl pada bagian uses dulu. Segala prosedur dari artikel ini kebanyakan didapatkan dari sana.
Algoritma-nya berjalan seperti ini:
- Drive di komputer dikenal dalam bentuk huruf. A sampai Z. Agar saya dapat menggunakan fungsi for yang mengharuskan nilai angka sebagai counter, maka A sampai Z tadi saya kodekan sebagai huruf ASCII, yaitu 65 sampai 90.
for i := 65 to 90 do begin
.... - Bentuk drive selalu ditulis dengan ':\', maka saya menambahkan string ini ke drive dengan kode program
C := chr(i)+':\'; - Fungsi GetDriveType yang ada di unit Windows, saya gunakan untuk mengetahui tipe apakah drive yang dikodekan dengan string seperti poin 2 diatas,
TipeDrive := GetDriveType(PChar(C)); - Hasil dari TipeDrive dapat dianalisa sebagai berikut. Jika menghasilkan nilai 5 (dilambangkan dengan kostanta DRIVE_CDROM), maka drive tersebut adalah CDROM/DVDROM.
Kostanta-kostanta lainnya dapat Anda lihat di unit Windows sebagai berikut:
const
DRIVE_UNKNOWN = 0;
DRIVE_NO_ROOT_DIR = 1;
DRIVE_REMOVABLE = 2;
DRIVE_FIXED = 3;
DRIVE_REMOTE = 4;
DRIVE_CDROM = 5;
DRIVE_RAMDISK = 6;
function CekTipeCDROM: string;
var
i: Integer;
C: String;
TipeDrive: Integer;
begin
for i := 65 to 90 do
begin
C := chr(i)+':\';
TipeDrive := GetDriveType(PChar(C));
case TipeDrive of
DRIVE_CDROM: Result := C+' adalah CD-ROM drive';
end;
end;
end;
0 comments:
Posting Komentar