Показать сообщение отдельно
  #4  
Старый 22.05.2015, 11:19
Аватар для SCrat.ORS
SCrat.ORS SCrat.ORS вне форума
Активный
 
Регистрация: 20.02.2007
Адрес: Мой адрес не дом и не улица, мой адрес 0x7С00
Сообщения: 208
Версия Delphi: 2006
Репутация: 884
По умолчанию

Переделай функцию перечисления устройств.
вот к примеру:
Код:
 procedure List_Drives;
 const
   DRIVE_UNKNOWN = 0;
   DRIVE_NO_ROOT_DIR = 1;
   DRIVE_REMOVABLE = 2;
   DRIVE_FIXED = 3;
   DRIVE_REMOTE = 4;
   DRIVE_CDROM = 5;
   DRIVE_RAMDISK = 6;
 var
   r: LongWord;
   Drives: array[0..128] of char;
   pDrive: PChar;
 begin
   r := GetLogicalDriveStrings(SizeOf(Drives), Drives);
   if r = 0 then Exit;
   if r > SizeOf(Drives) then
     raise Exception.Create(SysErrorMessage(ERROR_OUTOFMEMORY));
   pDrive := Drives;
   while pDrive^ <> #0 do
   begin
     if GetDriveType(pDrive) = DRIVE_FIXED then
       Form1.ComboBox1.Items.Add(pDrive);
     Inc(pDrive, 4);
   end;
 end;

Т.е. у тебя щас довольно глупо сделан перебор от 0 до 25, а в примере while использован, Вот и у тебя так же надо переделать Ну а поиск - да, по имени и содержимому, другого варианта не вижу.
__________________
Програмистами не рождаются, ими становятся!
Ответить с цитированием