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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.01.2019, 05:08   #1
Петерфельд
 
Регистрация: 17.01.2019
Сообщений: 6
По умолчанию открытие pdf файлов

Добрый день !

нужно открыть файл pdf с Delphi
активировал AcroPDF1
нанес на форму
- OpenDialog1
- AcroPDF1
- BitBtn1

на BitBtn1Click прописал
Код:
  OpenDialog1.FileName := ExtractFilePath(ParamStr(0)) + 'С\2019\l.pdf';
  AcroPDF1.src := OpenDialog1.FileName;
все хорошо, но файл pdf не открывается и ничего не пишет
вопрос - почему ?
Петерфельд вне форума Ответить с цитированием
Старый 17.01.2019, 09:26   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,532
По умолчанию

Код:
OpenDialog1.FileName := ExtractFilePath(ParamStr(0)) + 'С\2019\l.pdf';
ShowMessage(OpenDialog1.FileName );
// а есть ли такой файл???

чтобы узнать имя ВЫБРАННОГО файла(FileName), надо
0. при желании
OpenDialog1.Initdir:=ExtractFilePat h(application.ExeName); //начать с указанной папки
1. сначала ВЫПОЛНИТЬ диалог.
OpenDialog1.Excecute
2. по результатам выбора (вдруг мы поняли что делаем совсем не то что надо)
if OpenDialog1.Execute then
//уже можно и нужно открыть
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 21.01.2019, 06:25   #3
Петерфельд
 
Регистрация: 17.01.2019
Сообщений: 6
По умолчанию

Спасибо evg_m ! Удачного дня !
Давайте я попробую сначала вам описать проблему вопроса.
Прошу учесть что серьезно программированием я не занимался, но мне нравится иногда автоматизировать процесс. В данном случае, в связи с большим потоком писем, на которые требуется вовремя дать ответ, я решил создать программу
закинул на форму DBGrid в которую я заношу дату входящего письма, номер и тд.
И вот у меня стоит задача по номеру входящего письма его открыть ( как правило это файл pdf. и он хранится в папке ) но найти я его должен в папке, т.есть
вот заранее я его прописать не могу
ShellExecute(handle, 'open', '2.pdf', nil, nil, SW_SHOWNORMAL)
название файла выбирается фильтрацией в dbgrid
т.есть как мне сделать, чтобы вместо 2.pdf написано
допустим
var
nam:string;
..
ну и nam допустим tabN_w.asstring;
..
может быть можно наверное и через Opendialog но у меня он не открывается
Петерфельд вне форума Ответить с цитированием
Старый 21.01.2019, 07:07   #4
Петерфельд
 
Регистрация: 17.01.2019
Сообщений: 6
По умолчанию

var
N:string;
begin
N:=Edit1.Text;
ShellExecute(0, 'Open', PChar(N), nil, nil, SW_SHOWNORMAL); ... yt jnrhsdftn

uses
..... ShellApi .. поставлено
Петерфельд вне форума Ответить с цитированием
Старый 21.01.2019, 07:07   #5
Петерфельд
 
Регистрация: 17.01.2019
Сообщений: 6
По умолчанию

.. не открывается и ничего не возмущается ..
Петерфельд вне форума Ответить с цитированием
Старый 21.01.2019, 12:46   #6
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,532
По умолчанию

Цитата:
.. не открывается и ничего не возмущается ..
он (shellExecute) быть может и возмущается, но чтобы это понять надо анализировать КОД возврата.
ret:=ShellExecute(...);
F1
Цитата:
If the function fails, the return value is an error value that is less than or equal to 32. The following table lists these error values:

Value Meaning
0 The operating system is out of memory or resources.
ERROR_FILE_NOT_FOUND The specified file was not found.
ERROR_PATH_NOT_FOUND The specified path was not found.
ERROR_BAD_FORMAT The .EXE file is invalid (non-Win32 .EXE or error in .EXE image).
SE_ERR_ACCESSDENIED The operating system denied access to the specified file.
SE_ERR_ASSOCINCOMPLETE The filename association is incomplete or invalid.
SE_ERR_DDEBUSY The DDE transaction could not be completed because other DDE transactions were being processed.
SE_ERR_DDEFAIL The DDE transaction failed.
SE_ERR_DDETIMEOUT The DDE transaction could not be completed because the request timed out.
SE_ERR_DLLNOTFOUND The specified dynamic-link library was not found.
SE_ERR_FNF The specified file was not found.
SE_ERR_NOASSOC There is no application associated with the given filename extension.
SE_ERR_OOM There was not enough memory to complete the operation.
SE_ERR_PNF The specified path was not found.
SE_ERR_SHARE A sharing violation occurred.
коды описаны там же (shellAPI)
Цитата:
Код:
{ error values for ShellExecute() beyond the regular WinExec() codes }
  {$EXTERNALSYM SE_ERR_SHARE}
Цитата:
uses
..... ShellApi .. поставлено
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 21.01.2019 в 12:53.
evg_m вне форума Ответить с цитированием
Старый 22.01.2019, 03:20   #7
Петерфельд
 
Регистрация: 17.01.2019
Сообщений: 6
По умолчанию

Спасибо за помощь, но не пойму почему так все сложно,
вроде все понятно а не работает .. если кто может объяснить дилетанту, то заранее спасибо.. для скорости готов заплатить только скажите заранее сколько ...



если ....
ShellExecute(0, 'Open', '12.pdf', nil, nil, SW_SHOWNORMAL);
файл находится в каталоге программы открывается...
___________________________________ __________________________
а вот если ....
var
N:string;
begin
N:='12';
ShellExecute(0, 'Open', PChar(N), nil, nil, SW_SHOWNORMAL);
то не открывается ...
___________________________________ ____________________________
не открывается если и не в каталоге программы
ShellExecute(0, 'Open', 'C\2019\12.pdf', nil, nil, SW_SHOWNORMAL);
Петерфельд вне форума Ответить с цитированием
Старый 22.01.2019, 07:03   #8
Петерфельд
 
Регистрация: 17.01.2019
Сообщений: 6
По умолчанию

блин лошарик... после С двоеточие поставил с: и всего делов то ...
Петерфельд вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открытие файлов в QT. Как сделать открытие файла, через QMenuBar ? progjar Qt и кроссплатформенное программирование С/С++ 3 27.07.2016 16:08
Открытие PDF-файла в TAcroPdf через поток m9yt Общие вопросы Delphi 3 31.05.2016 14:14
открытие *pdf файла по ссылке opel.omega Общие вопросы Delphi 9 08.01.2009 15:29
Печать pdf файлов из списка файлов в Excel АПС Microsoft Office Excel 5 15.04.2008 16:04