Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04.03.2014, 19:41
Aks67rus Aks67rus вне форума
Прохожий
 
Регистрация: 28.02.2014
Сообщения: 10
Версия Delphi: Delphi 10 lite
Репутация: 10
Вопрос Как не прописывать весь путь?

Здравствуйте, подскажите пожалуйста...
1.Имею программу типо электронной книги, с отображением набранного текста в блокноте.html и отображаю его в webbrowser.

Проблема в том, что при переносе программы на другие ПК и носители, путь к файлам *.html меняются и программа не работает(не отображает html).
Как прописать путь, или что сделать что бы она отображалась везде вне зависимости на каком она диске, но файлы в одной папке с программой.

2.И ещё такой вопрос, возможно ли записать в конечный *.exe программы все файлы, буквально все! А это картинки к которым обращается блокнот.html и сам блокнот, и при этом что бы всё работало. Возможно?
Ответить с цитированием
  #2  
Старый 04.03.2014, 19:51
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

1. IncludeTrailingPathDelimiter(ExtractFilePath(Appli cation.ExeName))
2. ресурсы
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 04.03.2014, 20:09
Aks67rus Aks67rus вне форума
Прохожий
 
Регистрация: 28.02.2014
Сообщения: 10
Версия Delphi: Delphi 10 lite
Репутация: 10
По умолчанию

И как пользоваться этим кодом?
Если у меня к приме было так
Код:
procedure TForm1.Label2Click(Sender: TObject);
begin
webBrowser1.Navigate('C:\Users\Trade\Documents\Borland Studio Projects\Êóðñîâîé\page1.html');
end;
Ответить с цитированием
  #4  
Старый 04.03.2014, 20:15
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

PChar(extractFilePath(Paramstr(0)) + '\page1.html')
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
Aks67rus (05.03.2014)
  #5  
Старый 04.03.2014, 20:16
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

посмотри в файле справки функции IncludeTrailingPathDelimiter, ExtractFilePath и свойство ExeName
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #6  
Старый 04.03.2014, 21:09
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от Aks67rus
...возможно ли записать в конечный *.exe программы все файлы, буквально все! А это картинки к которым обращается блокнот.html...
Сперва немного надо доработать саму страничку, напр. если она содержит рисунок по тегу <img src="about.jpg" ...>, его нужно подправить так чтоб img src равнялся имени, которое будет в ресурсах, напр. <img src="ABOUT_JPG" ...> , конечный результат
Код HTML:
Название: About.html, Содержимое: <HTML><HEAD><TITLE>Супер прога лайт</TITLE></HEAD><BODY> О программе<br> <img src="ABOUT_JPG" width=150 height=70 border=0 alt=""> </BODY></HTML>
дальше нужно создать новый скрипт ресурсов из обычного текстового файла с названием напр. abt.rc и с содержимым
Цитата:
ABOUT RT_HTML "C:\About.html"
ABOUT_JPG JPEG "C:\about.jpg"
потом откомпилировать ресурс - из коммандной строки вызвать на исполнение - BRCC32 abt.rc, осталось в юните подключить получившейся ресурс, и в конце всего этого кашмара загрузить из него страничку в браузер
Код:
...{$R ABT.RES}
...

webBrowser1.Navigate('res://' + Application.ExeName + '/ABOUT');
...
вроде всё
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
Aks67rus (05.03.2014)
  #7  
Старый 04.03.2014, 21:50
Aks67rus Aks67rus вне форума
Прохожий
 
Регистрация: 28.02.2014
Сообщения: 10
Версия Delphi: Delphi 10 lite
Репутация: 10
По умолчанию

Что то не так? Или что то не то делаю?
Ответить с цитированием
  #8  
Старый 04.03.2014, 22:00
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Пути до файлов просмотрите, не указаны (я через волков коммандер запускаю компилятор ресурсов, или батфайлом)
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
Aks67rus (05.03.2014)
  #9  
Старый 04.03.2014, 22:17
Aks67rus Aks67rus вне форума
Прохожий
 
Регистрация: 28.02.2014
Сообщения: 10
Версия Delphi: Delphi 10 lite
Репутация: 10
По умолчанию

Создал, а как в юните подключить получившейся ресурс?
Ответить с цитированием
  #10  
Старый 04.03.2014, 22:23
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Добавьте после
Код:
{$R *.dfm}
{$R ABT.RES}
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
Aks67rus (05.03.2014)
  #11  
Старый 04.03.2014, 22:58
Aks67rus Aks67rus вне форума
Прохожий
 
Регистрация: 28.02.2014
Сообщения: 10
Версия Delphi: Delphi 10 lite
Репутация: 10
По умолчанию

Блин((( Ничего не выходит, а мне это к завтра надо собрать и знать как это собирается.....

Подскажите что не так....
1.Сделал все как вы сказали даже в точь точь, что бы понять как работает.
2.Имена назвал также.
3.Ресурс создал в код прописал....

Что не так подскажите пожалуйста...
Ответить с цитированием
  #12  
Старый 05.03.2014, 00:55
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Извнт, я виноват, не доглядел - забыл что нельзя свою ветку в ресурсе называть зарезервированным именем, а RT_HTML как раз таким и является. Новое содержимое скрипт файла ресурса
Цитата:
ABOUT HTML "About.html"
ABOUT_JPG HTML "About.JPG"
а в строке для браузера надо добавить после вставки имени файла '/HTML/ABOUT' Проверил, так работает
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
Aks67rus (05.03.2014)
  #13  
Старый 05.03.2014, 01:11
Aks67rus Aks67rus вне форума
Прохожий
 
Регистрация: 28.02.2014
Сообщения: 10
Версия Delphi: Delphi 10 lite
Репутация: 10
По умолчанию

Спасибо большое, *.html работает, только изображение не отображается.
А должно ли? В блокноте.html используется изображение которое я загрузил в *.res

Как оно будет отображаться в этом же html? Надо адрес прописать ещё куда то, или как? Подскажете? Или это по моему вообще невозможно реализовать)
Ответить с цитированием
  #14  
Старый 05.03.2014, 01:20
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Вот на чём я проверял, пжлст не обращайте внимания на корявость :-)
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
Aks67rus (05.03.2014)
  #15  
Старый 05.03.2014, 01:31
Aks67rus Aks67rus вне форума
Прохожий
 
Регистрация: 28.02.2014
Сообщения: 10
Версия Delphi: Delphi 10 lite
Репутация: 10
По умолчанию

Да главное что бы наглядно и понятно, а так и есть!))) Спасибо большое, я понял где ошибка...Пока делал многократные попытки и переименовывал файлы, забыл в *.html картинку прописать как надо, именем как в *.rc

Всё понял, всё осознал всё работает. Спасибо большое ещё раз!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:39.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter