![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как получить список дисков в системе, С ,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