05-10-2012, 06:49 PM
الحويطي
05-10-2012, 07:45 PM
بعد البحث وجدت لك كود يقوم بسرد جميع الاقراص الموجودة لعله يفيدك بشيء وما زال البحث جاريا
أضف ListBox إلى الفورم ومن ثم نقر مزدوج على الفورم نفسه واكتب هذا الأمر
وجدت لك الكود دون الحصول على اسم الـ Usb
لا تنسى وضع Memo + Button على الفورم
صورة
بالتوفيق أخي الكريم 
كود :
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;كود :
GetDriveLetters(ListBox1.Items)لا تنسى وضع 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
05-10-2012, 08:31 PM
شكرا جزيلا أخي الحويطي على التفاعل.
كخطوة أولى الأمر جيد.
بدأنا بالحصول على جميع الأقراص ثم الأقراص القابلة للإزالة.........ممتاز
المشكل النتيجة تظهر flash disk and floppy disk
لا أعتقد أنه توجد طريقة للتميز بين القرص المرن و الفلاش ديسك....
إظهار اسم أو وصف الفلاش ديسك هو خطوة أتمنى أن نتمكن من الحصول عليها فأحيانا تجد أكثر من فلاش ديسك في الحاسوب مما يجعلك تنتقل إلى my computer لمعرفة ما هو القرص الذي ترغب في التعامل معه
عموما أجدد لك شكري
كخطوة أولى الأمر جيد.
بدأنا بالحصول على جميع الأقراص ثم الأقراص القابلة للإزالة.........ممتاز
المشكل النتيجة تظهر flash disk and floppy disk
لا أعتقد أنه توجد طريقة للتميز بين القرص المرن و الفلاش ديسك....
إظهار اسم أو وصف الفلاش ديسك هو خطوة أتمنى أن نتمكن من الحصول عليها فأحيانا تجد أكثر من فلاش ديسك في الحاسوب مما يجعلك تنتقل إلى my computer لمعرفة ما هو القرص الذي ترغب في التعامل معه
عموما أجدد لك شكري
05-10-2012, 11:56 PM
السلام عليكم
استعمل المكون DriveComboBox المرفق معا دلفي
او ابحث عن مكونات شبيهة
استعمل المكون DriveComboBox المرفق معا دلفي
او ابحث عن مكونات شبيهة
الحويطي
06-10-2012, 12:09 PM
أهلا أخي الكريم ....
ممكن استخدام هذا الكود للحصول على نوع قرص معين ...
بالتوفيق أخي الكريم
ممكن استخدام هذا الكود للحصول على نوع قرص معين ...
كود :
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;بالتوفيق أخي الكريم
