Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.21;
Скачать: CL | DM;

Вниз

Как узнать...   Найти похожие ветки 

 
Владимир   (2004-11-04 09:59) [0]

Как узнать что программа запущенна с CD?


 
begin...end ©   (2004-11-04 10:03) [1]

Copy(ParamStr(0), 1, 1) - буква диска; потом проверяем (GetDriveType).


 
Юрий Зотов ©   (2004-11-04 10:05) [2]

if GetDriveType(PChar(Copy(ParamStr(0), 1, 3))) = DRIVE_CDROM then ...


 
VMcL ©   (2004-11-04 10:12) [3]

>>begin...end ©  (04.11.04 10:03) [1]
>>Юрий Зотов ©  (04.11.04 10:05) [2]

... или эмулятора CD.


 
VMcL ©   (2004-11-04 10:12) [4]

>>begin...end ©  (04.11.04 10:03) [1]
>>Юрий Зотов ©  (04.11.04 10:05) [2]

... или эмулятора CD.


 
Владимир   (2004-11-04 10:16) [5]

Дело в том, что в программе я использую ini файл, а когда она записана на CD то запись параметров в ini файл невозможна.


 
Юрий Зотов ©   (2004-11-04 10:16) [6]

> VMcL ©   (04.11.04 10:12) [3]

1. Конференция по антихакингу находится не здесь.
2. И прежде, чем на нее идти, способ [1] и [2] надо уже знать.


 
КаПиБаРа ©   (2004-11-04 10:22) [7]

Владимир   (04.11.04 10:16) [5]

В таком случае унивирсальным способом будет попытка открыть файл на запись.


 
Владимир   (2004-11-04 10:23) [8]

Но тогда он сгинерирует ошибку.


 
begin...end ©   (2004-11-04 10:25) [9]


> [8] Владимир   (04.11.04 10:23)

Ну тогда, может быть, {$I-} / {$I+} поможет...


 
Владимир   (2004-11-04 10:27) [10]

Пробовал не помогает


 
VMcL ©   (2004-11-04 10:29) [11]

>>Юрий Зотов ©  (04.11.04 10:16) [6]

>1. Конференция по антихакингу находится не здесь.

Юрий, не выдумывайте. Я просто обратил внимание автора ветки, что таким способом не отличить реальный CD от эмулируемого, если ему это вдруг очень важно.


 
Юрий Зотов ©   (2004-11-04 10:29) [12]

> Владимир   (04.11.04 10:16) [5]
> Дело в том, что в программе я использую ini файл, а когда она
> записана на CD то запись параметров в ini файл невозможна.

Да, невозможна. И что дальше? В чем проблема-то?


 
Юрий Зотов ©   (2004-11-04 10:32) [13]

> VMcL ©   (04.11.04 10:29) [11]

А, тогда понятно. Хорошо, что Вы пояснили, а то я уж было выдумывать начал.


 
TUser ©   (2004-11-04 10:33) [14]

Если запустить прогу с переполненного диска или с защищенной дискеты - тоже не получится записывать в ini. Это я к тому, что делай [7] - и совершенно не важно, CD - не-CD ...


 
Владимир   (2004-11-04 10:34) [15]

Если на диск записан только exe файл то при сохранении настроек происходит создание ini файла, и возникает ошибка.
Сохранение настроек происходит автоматически при закрытии формы.


 
TUser ©   (2004-11-04 10:39) [16]


> возникает ошибка

try ... except


 
Юрий Зотов ©   (2004-11-04 12:54) [17]

> Владимир   (04.11.04 10:34) [15]

Извините, но проблема непонятна.

Разве не очевидно, что в том виде, как это сделано сейчас, программа, запущенная с CD, не сможет записать никаких ini-файлов?

Очевидно. И не поможет тут никакое определение, откуда именно она запущена. Ну, определите Вы (любым способом, неважно каким), что запуск проишел с CD - а дальше-то что? Работать-то ведь она все равно не сможет.

Значит, надо менять логику работы программы. Или не использовать ini-файл совсем, а использовать, например, реестр. Или писать ini-файл всегда на винт, а не на тот диск, откуда запустили программу. Или не писать его, если программа запущена с CD. Или выдать юзеру диалог, что настройки сохранены не будут и он должен запускать программу с винта. Или... еще кучу разных "или" можно придумать.

Поэтому и непонятно - в чем проблема-то? На CD программа записать ничего не сможет - значит, надо менять ее логику. И ничего другого тут не придумаешь, даже если мы тут все вместе будем обсуждать этот вопрос хоть три года.



Страницы: 1 вся ветка

Текущий архив: 2004.11.21;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.032 c
1-1099671777
nick123
2004-11-05 19:22
2004.11.21
Передача указатель


14-1099436480
Кто---то
2004-11-03 02:01
2004.11.21
Лицензии на программы Какие они бывают и переведены ли на русский


1-1100011125
Zandrey
2004-11-09 17:38
2004.11.21
Как сохранить экземпляр класса


4-1097262733
Dot
2004-10-08 23:12
2004.11.21
Как заменить ресурс?


3-1098438800
*Pavel
2004-10-22 13:53
2004.11.21
Какой из MSSQL серверов выбрать ?