IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Вопрос по защищенным блокам
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 108
Пол: Мужской
Реальное имя: Георгий

Репутация: -  0  +


Как защитить прогу от выбора юзером в ComboDriveBox СД-ромов или дисководов, когда в них нет диска?
Что-то типа:
try
...
except
beep;
end;

(Это в ComboBoxOnChange)

Что писать вместо "..." ?

Сообщение отредактировано: volvo -


--------------------
Минус - это уже половина плюса, а плюс порой - целых два минуса...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Используй WinAPI - функцию GetVolumeInformation... Например, попытайся прочесть метку диска)... Если диска нет - то функция вернет 0... Если все прочиталось (а значит диск был) - вернется ненулевое значение...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 108
Пол: Мужской
Реальное имя: Георгий

Репутация: -  0  +


To: Volvo
Ух! Че-то параметров много blink.gif
Какие зачем и куда?? Объясни rolleyes.gif


--------------------
Минус - это уже половина плюса, а плюс порой - целых два минуса...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Если честно, было лень запускать Дельфи, набросал в FPC (в Дельфях должно пройти практически без изменений):
{$mode delphi}
uses windows;

function GetVolumeLabel(DriveName :Pchar): String;
var
VolumeLabel, drvFileSystem: array [0 .. pred(max_path)] of Char;
VolumeSerialNo, MaxComponentLength, FileSystemFlags : DWord;
begin
if GetVolumeInformation(DriveName, VolumeLabel, MAX_PATH,
@VolumeSerialNo,
MaxComponentLength, FileSystemFlags,
drvFileSystem, MAX_PATH)
then result := VolumeLabel
else result := 'no disk';
end;

begin
writeln(GetVolumeLabel('G:'));
end.
При отсутствии диска GetVolumeInformation возвращает False...
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 8.09.2025 12:25
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name