Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.08.2008, 15:47   #1
Noor
Участник клуба
 
Аватар для Noor
 
Регистрация: 01.11.2006
Сообщений: 1,051
По умолчанию Определить буквы дисков !!!

Подскажите как определить буквы дисков которые еще не используются системой ??

Пример:В системе флоп(а),винт(С,Д) DVD(E) Как теперь определить остальные буквы (F..Z) еще доступные для присвоения их Дискам.
Noor вне форума Ответить с цитированием
Старый 29.08.2008, 16:02   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

GetLogicalDrives даст тебе строку с подключенными логикдисками.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.08.2008, 16:04   #3
Noor
Участник клуба
 
Аватар для Noor
 
Регистрация: 01.11.2006
Сообщений: 1,051
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
GetLogicalDrives даст тебе строку с подключенными логикдисками.
Какие Диски (и буквы им присвоенные) я уже определил. Как остальные отобрать в отдельный список ?
Noor вне форума Ответить с цитированием
Старый 29.08.2008, 16:21   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Как это как?
В цикле пройди
типа так:
Код:
for i:=ord('а') to ord('z') do if chr(i) не в списке то ...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.08.2008, 17:31   #5
Noor
Участник клуба
 
Аватар для Noor
 
Регистрация: 01.11.2006
Сообщений: 1,051
По умолчанию

Что то я уже не соображаю под конец дня ..
Делал определение и вывод так

Код:
 function DriveExists(Drive: Byte): Boolean;
var
     LogDrives: set of 0..25;
begin
     Integer (LogDrives):=GetLogicalDrives;
     Result:=Drive in LogDrives;
end;



procedure TForm1.FormActivate(Sender: TObject); 
  var
   D:Byte;
   i:Integer;
   masDE:array[0..25]of Char;
  begin
  For D:=0 to 25 do
  For i:=1 to 1 do
    begin
    masDE[i]:=(Chr(D+$41));
    If DriveExists(D) Then
    ListBox1.Items.Add((masDE[i]));
   end;
  end;
end.
мас1 - полученный мною массив
мас2 - алфавит A..Z
мас3 - отсортированные буквы

Пытался заполнить еще один массив Латинским алфавитом и потом сверить значения массивов и если мас1<>мас2 то мас3=мас1
Noor вне форума Ответить с цитированием
Старый 01.09.2008, 08:34   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вот смотри:
Код:
var p:pchar;i:byte;
begin
getmem(p,100);
GetLogicalDriveStrings(100,p);
for i:=ord('A') to ord('Z') do
 if pos(chr(i),p)=0 then ListBox1.Items.Add(chr(i)+':\');
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.09.2008, 09:17   #7
Noor
Участник клуба
 
Аватар для Noor
 
Регистрация: 01.11.2006
Сообщений: 1,051
По умолчанию

СПС - попробую, а то на мой код отладчик ругается !
Noor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск дисков! Altera Общие вопросы Delphi 6 12.08.2011 20:46
Среди 20 введёных чисел определить чётные, распечатать их, определить min Spade Помощь студентам 4 15.06.2008 18:39
Каталогизатор дисков puma Софт 3 28.05.2008 16:05
Прописные буквы Guest_ Помощь студентам 6 15.12.2007 21:29