![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Путь к файлам [D5, WinXP]
Shved © (2004-10-11 20:55:00)Вопрос следующий. Делаю презентацию на CD. Помимо прочего, в ней используется довольно громоздкий видео-файл AVI (250 Mb). Как сформулировать MediaPleyer'у путь к этому файлу? Ведь этот диск будут смотреть на разнообразных компьютерах, и номера дисков будут разными.
Создание инсталляционного файла не подходит - презентация должна запускаться автораном. Упаковка в файл ресурсов тоже не целесообразна - видео файл нужно использовать и отдельно от самой презентации.
Shved (2004-10-11 21:18:00) [1]Блин, простите чайника! :)
Модуль проекта сохранил в другую папку, а потом и сам забыл. Поэтому и ругалось.
Palladin (2004-10-11 21:16:00) [2]значит не то пишешь...
относительный путь можно адресовать двумя способами...
относительно корневого каталога, начиная с '\' и относительно текущего каталога... а как пишешь ты?
Юрий Зотов (2004-10-11 21:15:00) [3]ParamStr(0)[1] - это и будет буква диска, с которого запущена программа. Хоть CD-ROM, хоть винт, хоть что угодно.
Еще можно использовать относительный путь (относительно каталога самого Exe). Тогда диск вообще неважен.
Shved (2004-10-11 21:11:00) [4]Так что-то ругается, если не полное имя пишу. Поэтому и вопрос такой встал.
Palladin (2004-10-11 21:08:00) [5]и то верно
begin...end (2004-10-11 21:06:00) [6]См. [7], а в общем-то, это может даже и не понадобиться, поскольку ты сможешь обращаться к файлу без полного пути.
Shved (2004-10-11 21:03:00) [7]Запускаться сразу с диска.
Palladin (2004-10-11 21:03:00) [8]скопировать два символа из ParamStr(0)
Palladin (2004-10-11 21:02:00) [9]запускатся твоя презентация откуда будет?
Shved (2004-10-11 21:02:00) [10]Последнее лучше. А чем и как это сделать?
begin...end (2004-10-11 21:01:00) [11]function GetCDROMDrives: String;
var
Ch: Char;
begin
for Ch := 'A' to 'Z' do
if GetDriveType(PChar(Ch + ':\')) = DRIVE_CDROM then
Result := Result + Ch;
end;
Результатом этой функции будет строка, составленная из букв CD-приводов.
Если он один - хорошо, если приводов несколько - тогда не знаю.
Или, может быть, всё намного проще - если твоя программа будет запускаться с CD, то можно же и просто узнать текущую букву диска?
begin...end (2004-10-11 20:57:00) [12]Т.е. ты не знаешь, какая буква диска будет у CD-ROM'а, что ли?
Shved (2004-10-11 20:57:00) [13]Да.