Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Делфи _ Help open file

Автор: Ilia 24.12.2002 13:35

Пожалуйста помогите сделать во-что. Значит при нажатии на фаил *.ххх прога открывает программу( с этим проблем нет), а вот как из этого файла прочесть данные ??? (меня интересует как програма узнает путь к ниму и где он хранится, открать файл то понятно как)

Автор: mj 25.12.2002 7:41

Имена файлов Windows передаёи в коммандной строке, получить коммандную строку можно функцией GetCommandLine или через функцию ParamStr(X), где X - номер параметра (файла), а количество параметров можно получить функцией ParamCount. ParamStr(0) возвращает имя запущенной программы.

Автор: Ilia 25.12.2002 14:05

У меня получается, что независимо от того, какой фаил я открываю этой прогой, GetCommandLine передает всегда путь к exe'шнику программы.
Допустим я открываю *.ххх файл - появляется ошибка :
не могу открыть с:......прога.exe "c:*.ххх" - и все.
Может что-то еще надо писать, может параметры вызова GetCommandLine, хотя я смотрел, их нет.

P.S.
 ParamCount возвращает один параметр - 0. Соответственно  ParamSrt(0) строку  пути к экзешнику. Другие ParamSrt(1,2,3,4...) - у меня нет и они ничего не возвращают!!!

Автор: drug 26.12.2002 12:02

Тут небольшая замутка, но все работает (проверил в Delphi).
ParamCount -это число параметров после собственно названия программы, а ParamStr - это список всех аргументов коммандной строки, т.е. ParamStr(0)-это прога,
ParamStr(1)-это файл, который нужно открыть и т.д. Далее в хелпе указано: для составных (неск. слов) имен файлов или папок надо использовать кавычки.
                                            Все, чем могу.

Автор: Ilia 26.12.2002 15:12

Cool - я въехал, спасибо drug, все работает - ок.
Еще раз спосибо всем!