Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2014, 16:21   #1
Dennis777
Форумчанин
 
Регистрация: 06.11.2009
Сообщений: 203
По умолчанию Проверка возможности открытия пдф файла в делфи

Открываю пдфку через

ShellExecute(Handle, 'open', PChar(extractfilepath(paramstr(0))+ '\print\1.pdf'), nil, nil, SW_HIDE)

Как перед этим сделать проверку на возможность открытия пдф файла на компьютере? (если нет программы с возможностью просмотра - выводить сообщение об отсутсвии Адоб Акробата/ридера и давать ссылку на скачивание)
Интересный проект по изучению английского:
Английский в формате путешествия по США
Dennis777 вне форума Ответить с цитированием
Старый 10.04.2014, 16:28   #2
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,762
По умолчанию

Ну ПДФ не только акробатом можно открывать. Так что самый лучший вариант, это в реестре глянуть, есть ли для расширения .pdf какое то приложение.
FaTaL вне форума Ответить с цитированием
Старый 10.04.2014, 18:06   #3
Dennis777
Форумчанин
 
Регистрация: 06.11.2009
Сообщений: 203
По умолчанию

А не могли бы вы подсказать ориентировочный способ реализации?

Никогда с реестром не работал, понятия не имею как там что присваевается(

P.S. И мне не принципиально, какой программой будет открываться файл. Может есть какая-то команда, которая может определить, открывается ли такой файл или выводится ошибка?
Интересный проект по изучению английского:
Английский в формате путешествия по США

Последний раз редактировалось Dennis777; 10.04.2014 в 18:14.
Dennis777 вне форума Ответить с цитированием
Старый 10.04.2014, 22:22   #4
XE5
Заблокирован
 
Регистрация: 02.03.2014
Сообщений: 439
По умолчанию

Цитата:
Сообщение от Dennis777 Посмотреть сообщение
А не могли бы вы подсказать ориентировочный способ реализации?
Код:
Uses Registry;
...
procedure TForm1.Button1Click(Sender: TObject);
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  Reg.RootKey := HKEY_CLASSES_ROOT;
  if Reg.KeyExists('.pdf') then
    ShowMessage('Ключ есть')
      else ShowMessage('Ключа нет');
  Reg.Free;
end;
1 - Если в реестре есть ключ ассоциации, это не значит что сопоставленная программа существует, ибо некоторые программы при деинсталяции "ленятся" удалять свои ключи. Как быть? Догадайся сам.
2 - Впредь побеждаем свою лень, и задаём подобные вопросы поисковикам. Вопрос не охренеть какой редкий.
XE5 вне форума Ответить с цитированием
Старый 11.04.2014, 01:08   #5
Dennis777
Форумчанин
 
Регистрация: 06.11.2009
Сообщений: 203
По умолчанию

1. Большое спасибо.
2. Да у меня просто сроки горят, и помимо этого, есть еще 30 схожих проблем, а в сутках всего 24 часа) До которых добираться далеко, иногда спрашиваю)

Еще раз спасибо
Интересный проект по изучению английского:
Английский в формате путешествия по США
Dennis777 вне форума Ответить с цитированием
Старый 11.04.2014, 01:35   #6
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,926
По умолчанию

Цитата:
Да у меня просто сроки горят, и помимо этого, есть еще 30 схожих проблем
<offtop>
Ему хотелось добавить, что у него жена, дети, Серна, дети от Серны и еще от одной женщины, которая живет в Ростове‑на‑Дону, но в горле что‑то само по себе пикнуло, и он промолчал. (c)
</offtop>
northener вне форума Ответить с цитированием
Старый 11.04.2014, 01:36   #7
Dennis777
Форумчанин
 
Регистрация: 06.11.2009
Сообщений: 203
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
<offtop>
Ему хотелось добавить, что у него жена, дети, Серна, дети от Серны и еще от одной женщины, которая живет в Ростове‑на‑Дону, но в горле что‑то само по себе пикнуло, и он промолчал. (c)
</offtop>
Ахахах!)
Сохраню на память!
Интересный проект по изучению английского:
Английский в формате путешествия по США
Dennis777 вне форума Ответить с цитированием
Старый 11.04.2014, 02:12   #8
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,926
По умолчанию

Цитата:
Сообщение от Dennis777 Посмотреть сообщение
Ахахах!)
Сохраню на память!
Может лучше оригинал прочитать на досуге?
Илья Ильф, Евгений Петров "Золотой теленок"
northener вне форума Ответить с цитированием
Старый 11.04.2014, 02:44   #9
Dennis777
Форумчанин
 
Регистрация: 06.11.2009
Сообщений: 203
По умолчанию

Не, Золотой теленок мне совсем не зашел. Пробывал прочитать и в 5, и в 10, и даже в 18 лет. Но после всех этих неудачных попыток решил оставить его потомкам =)

Из русской классики все перечитал, но вот теленок - не мое
Интересный проект по изучению английского:
Английский в формате путешествия по США
Dennis777 вне форума Ответить с цитированием
Старый 11.04.2014, 12:08   #10
XE5
Заблокирован
 
Регистрация: 02.03.2014
Сообщений: 439
По умолчанию

Цитата:
Сообщение от Dennis777 Посмотреть сообщение
2. Да у меня просто сроки горят
Спросить на форуме - сутки по времени...
Спросить в гугле - 30 минут...
Отмазка не прокатила.
XE5 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка возможности нагрузки сервера БД Lokos БД в Delphi 0 18.12.2013 03:50
Ошибка компиляции, открытия формы в делфи (проект) Katus Помощь студентам 2 08.02.2012 14:39
БД в делфи - загрузка в БД пдф файла Tvv7-7-7 БД в Delphi 5 23.08.2010 20:35
Открытия файла Ayubkhon Общие вопросы Delphi 3 08.06.2010 13:38
Ошибка открытия файла mutabor Общие вопросы Delphi 7 28.09.2009 18:33