Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как получить список дисков в системе, С ,D и т.д. скоко их там ес


Term ©   (2004-06-02 10:17:00) 

Собственно сабжжжж


pasha_golub   (2004-06-02 10:41:00) [1]

Тимохов ©   (02.06.04 10:38) [9]

Ну, не правда ваша. Например, на олимпиадах по программированию оптимизацию отключают. Да мало ли случаев?

Вот вроде {$B-/+}, тоже все понятно, чего его дергать? А ведь нет - бывают же необходимости. :-)


Тимохов   (2004-06-02 10:38:00) [2]


> ЗЫ А если {$O-}?


значит руки надо отрывать...


pasha_golub   (2004-06-02 10:36:00) [3]

Anatoly Podgoretsky ©   (02.06.04 10:24) [4]
Тимохов ©   (02.06.04 10:26) [6]

Ой, спасибо, успокоили! ;-)

ЗЫ А если {$O-}?


grom   (2004-06-02 10:35:00) [4]

http://delphibase.endimus.ru/?action=viewfunc&topic=harddisk&id=10137


Term   (2004-06-02 10:26:00) [5]

СПАСИБО!!!!


Тимохов   (2004-06-02 10:26:00) [6]


> pasha_golub ©   (02.06.04 10:20) [3]

у дельфи мозгов хватит на такую кулхацкую фишку...


Anatoly Podgoretsky   (2004-06-02 10:24:00) [7]

pasha_golub ©   (02.06.04 10:20) [3]
Не волнуйся, оптимизатор не настолько плох, чтобы не заменить умножение сдвигом.


pasha_golub   (2004-06-02 10:20:00) [8]

Кстати, быстрее наверно так:

function GetDrives: string; //получить все доступные диски для системы
var
c: char;
Mask, Drives: integer;
begin
Drives := GetLogicalDrives;
Mask := 1;
Result := '';
for c := 'A' to 'Z' do
begin
 if Mask and Drives = Mask then Result := Result + c;
  Mask := Mask shl 1;
end;
end;


pasha_golub   (2004-06-02 10:19:00) [9]

Дарю

function GetDrives: string; //получить все доступные диски для системы
var
 c: char;
 Mask, Drives: integer;
begin
Drives := GetLogicalDrives;
Mask := 1;
Result := '';
for c := 'A' to 'Z' do
 begin
  if Mask and Drives = Mask then Result := Result + c;
  Mask := Mask * 2;
 end;
end;

function DriveLetterToIndex(const ALetter: char):byte;
begin
Result := ord(Aletter) - 64;
end;


pasha_golub   (2004-06-02 10:18:00) [10]

RTFM


Наверх

Титульная страница Поиск, карта сайта Написать письмо