delphi4arab منتديات دلفي للعرب
كيف معرفة حرف واسم القرص القابل للازالة الموجود على الحاسب؟ - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : كيف معرفة حرف واسم القرص القابل للازالة الموجود على الحاسب؟ (/showthread.php?tid=4615)



كيف معرفة حرف واسم القرص القابل للازالة الموجود على الحاسب؟ - you_per7 - 05-10-2012

كيف معرفة حرف واسم القرص القابل للازالة الموجود على الحاسب؟


كيف معرفة حرف واسم القرص القابل للازالة الموجود على الحاسب؟ - الحويطي - 05-10-2012

بعد البحث وجدت لك كود يقوم بسرد جميع الاقراص الموجودة لعله يفيدك بشيء وما زال البحث جاريا
كود :
procedure GetDriveLetters(AList: TStrings); var vDrivesSize: Cardinal; vDrives : array[0..128] of Char; vDrive : PChar; begin AList.BeginUpdate; try // clear the list from possible leftover from prior operations AList.Clear; vDrivesSize := GetLogicalDriveStrings(SizeOf(vDrives), vDrives); if vDrivesSize=0 then Exit; // no drive found, no further processing needed vDrive := vDrives; while vDrive^ <> #0 do begin AList.Add(StrPas(vDrive)); Inc(vDrive, SizeOf(vDrive)); end; finally AList.EndUpdate; end; end;
أضف ListBox إلى الفورم ومن ثم نقر مزدوج على الفورم نفسه واكتب هذا الأمر
كود :
GetDriveLetters(ListBox1.Items)
وجدت لك الكود دون الحصول على اسم الـ Usb
لا تنسى وضع Memo + Button على الفورم
كود :
Function RemovableDrive(Drive: char): Boolean; begin Result := (Windows.GetDriveType(PChar(Drive + ':\')) = Windows.Drive_Removable); end; procedure TForm2.Button1Click(Sender: TObject); var Drive: Char; begin for Drive := 'A' to 'Z' do begin if BoolToStr(RemovableDrive(Drive), TRUE) <> 'False' then Memo1.Lines.Add('Drive: ' + Drive); end; end;
صورة
كود :
http://im15.gulfup.com/MvgF1.jpg
بالتوفيق أخي الكريم Smile


كيف معرفة حرف واسم القرص القابل للازالة الموجود على الحاسب؟ - you_per7 - 05-10-2012

شكرا جزيلا أخي الحويطي على التفاعل.
كخطوة أولى الأمر جيد.
بدأنا بالحصول على جميع الأقراص ثم الأقراص القابلة للإزالة.........ممتاز
المشكل النتيجة تظهر flash disk and floppy disk
لا أعتقد أنه توجد طريقة للتميز بين القرص المرن و الفلاش ديسك....
إظهار اسم أو وصف الفلاش ديسك هو خطوة أتمنى أن نتمكن من الحصول عليها فأحيانا تجد أكثر من فلاش ديسك في الحاسوب مما يجعلك تنتقل إلى my computer لمعرفة ما هو القرص الذي ترغب في التعامل معه
عموما أجدد لك شكري


كيف معرفة حرف واسم القرص القابل للازالة الموجود على الحاسب؟ - Agmcz - 05-10-2012

السلام عليكم
استعمل المكون DriveComboBox المرفق معا دلفي
او ابحث عن مكونات شبيهة


كيف معرفة حرف واسم القرص القابل للازالة الموجود على الحاسب؟ - الحويطي - 06-10-2012

أهلا أخي الكريم ....

ممكن استخدام هذا الكود للحصول على نوع قرص معين ...

كود :
procedure TForm1.Button1Click(Sender: TObject); var typ: Integer; s: string; begin s := '[color=Red]C:\[/color]'; typ := GetDriveType(PChar(s)); if Typ <> 0 then case typ of DRIVE_REMOVABLE: begin ShowMessage('Drive Removable / Diskette'); end; DRIVE_FIXED: begin ShowMessage('Drive fixed'); end; DRIVE_CDROM: begin ShowMessage('CD ROM Drive'); end; DRIVE_RAMDISK: begin ShowMessage('RAM Drive'); end; DRIVE_REMOTE: begin ShowMessage('Remote Drive'); end; end; end;


بالتوفيق أخي الكريم Smile