المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : كاشف USB Drive‏


php3man
11-02-2010, 10:46 PM
بسم الله الرحمن الرحيم

يوم بعد يوم نتقدم باللغه
أنصح كل مبتدأ بالدوره

دورة دروس دلفي للعرب (http://www.delphi4arab.com/forum/forumdisplay.php?f=27)

اليوم نستعرض برنامج صغير يقوم بكشف اذا كان يو أس بي متواجد بنظام

procedure TForm1.Button1Click(Sender: TObject);
var Flash : Char ;
begin
for Flash := 'A' To 'Z' do
if GetDriveType(Pchar(Flash + ':\')) = 2 Then
Memo1.Lines.Add(Flash + ':\');
end;

end.

هنا الكود

بتقدر تغير بدل

if GetDriveType(Pchar(Flash + ':\')) = 2 Then

تجعها

if GetDriveType(Pchar(Flash + ':\')) = 3 Then
او

if GetDriveType(Pchar(Flash + ':\')) = 4 Then

علي حسب المراد
أستكشاف الدريافات كلها
أسكتشاف السي دي روم وما الي ذلك

DRIVE_UNKNOWN = 0;
{$EXTERNALSYM DRIVE_UNKNOWN}
DRIVE_NO_ROOT_DIR = 1;
{$EXTERNALSYM DRIVE_NO_ROOT_DIR}
DRIVE_REMOVABLE = 2;
{$EXTERNALSYM DRIVE_REMOVABLE}
DRIVE_FIXED = 3;
{$EXTERNALSYM DRIVE_FIXED}
DRIVE_REMOTE = 4;
{$EXTERNALSYM DRIVE_REMOTE}
DRIVE_CDROM = 5;
{$EXTERNALSYM DRIVE_CDROM}
DRIVE_RAMDISK = 6;
{$EXTERNALSYM DRIVE_RAMDISK}

تقدر أن تستخدمهم كلهم ب

CASE OF

مثال

procedure TForm1.Button1Click(Sender: TObject);
var Flash : Char ;
begin
for Flash := 'A' To 'Z' do
begin
case GetDriveType(Pchar(Flash + ':\')) of
DRIVE_REMOVABLE :
Memo1.Lines.Add(Flash + ':\');
DRIVE_FIXED :
Memo1.Lines.Add(Flash + ':\');
end;
end;
end;
end.

**** أن يكون الشرح واضح

Benhlell
18-06-2010, 07:50 PM
اخي العزيز هذه الطريقة رغم صحتها فهي لا تجدي نفعا في حالة usb ممكن انزع usb في اي لحضة
اذا استعملت التايمر يبقى يضيف كل مدة زمنية مححدة
احتجت اكتشاف usb من قبل و استعملت الطريقة التي تعرضها انت الان لكن وجدت اخطاء كثيرة فيها يجب استعمال دوال طويلة ومعقدة لاكتشاف ادخال USB يوجد مثال جيد جدا في المنتدى يفي بالغرض
على كلمشكور على المجهود

MOH.ALSHAIF
29-07-2011, 09:38 PM
مشكور على المعلومات , موفق إن شاء الله ...