Пользователь

Добро пожаловать,

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

Меню сайта




Ваше мнение
Как вы узнали о нашем сайте?

От друга, знакомого
Из печатных источников
Из поисковой машины
По ссылке с другого сайта
Случайно
Не знаю


Результаты
Другие опросы

Всего голосов: 1023
Комментарии: 4


Наши партнеры



Статистика




Programming books  Download software  Documentation  Scripts  Content Managment Systems(CMS)  Templates  Icon Sets  Articles  Contacts  Voting  Site Search




Статьи и обзоры



Определение установленных логических дисков

Статьи по объектно-ориентированному программированию на языке Pascal и в среде программирования Delphi. Примеры работающего кода, тексты компонентов и классов, советы мастеров. В приведенном ниже примере описано как можно получить список логических дисков, установленных в системе, а также определить их тип. Для этих целей используются функции winAPI GetLogicalDrives и GetDriveType.




Для работы примера на форму проекта поместите объекты Button1 и Memo1. В обработчике событий для Button1 нужно ввести указанный код.

Код
procedure TForm1.Button1Click(Sender: TObject);

var x: int64;
bit, i: integer;
tp: Uint;
tip: string;

begin
// Вызываем функцию WinAPI
// Функция возвращает битовую маску установленных логических дисков.
// Бит 0 определяет наличие диска А:, бит 1 - диска B и т.д.

x:=GetLogicalDrives();

if x=0 then
memo1.Lines.Add('Функция GetLogicalDrives завершилась неудачей...')
else
begin
memo1.Lines.Add('Логические диски:');

// цикл по полученным битам переменной X
for i:=1 to 64 do
begin

// Накладываем битовую маску для выделения бита с поряковым номером 0
bit:=x and 1;

// нашли логический диск...
if bit=1 then
begin

// определяем тип логического диска
tp:=GetDriveType(PChar(chr(64+i)+':'));

tip:='';
if tp=0 then tip:='drive type cannot be determined';
if tp=1 then tip:='root directory does not exist';
if tp=DRIVE_REMOVABLE then tip:='removable';
if tp=DRIVE_FIXED then tip:='fixed';
if tp=DRIVE_REMOTE then tip:='remote (network)';
if tp=DRIVE_CDROM then tip:='CDROM';
if tp=DRIVE_RAMDISK then tip:='RAM disk';

// преобразуем счетчик в букву диска и выводим в Memo1
memo1.Lines.Add(' '+chr(64+i)+': '+tip);
end;

// побитовый сдвиг вправо
x:= x shr 1;

end;
end;

end;



Нет комментариев. Почему бы Вам не оставить свой?
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.
Внимание! Если у вас не получилось найти нужную информацию, используйте рубрикатор или воспользуйтесь поиском


.



Статьи и обзоры Delphi и TurboPascal Определение установленных логических дисков приведенном ниже примере описано как можно получить список логических дисков установленных системе также определить их тип Для этих целей используются функции winAPI GetLogicalDrives GetDriveType работы примера на форму проекта поместите объекты Button1 Memo1 обработчике событий для нужно ввести указанный код Кодprocedure TForm1 Button1Click Sender TObject int64 integer Uint string begin Вызываем функцию WinAPI Функция возвращает битовую маску Бит определяет