Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Lazarus, Free Pascal, CodeTyphon
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 26.12.2016, 03:13   #1
Gorodok7
Новичок
 
Регистрация: 26.12.2016
Сообщений: 4
Репутация: 10
По умолчанию Экспорт из html файла текста и изображений. Лазарус.

Здравствуйте. Программирую я достаточно недавно, ответ на свой вопрос в интернете не нашёл (может плохо искал). У меня есть файл, в нем имеется некоторый текст и изображения. Мне нужно всё содержимое этого файла вывести на форму. В интернете почитал, что на Delphi это можно реализовать с помощью компонента WebBrowser, в лазарусе же я нашёл только компонент IpHtmlPanel. Где-то часик в ней полазив, я смог из html файла загружать текст (с html также не работал). Дальше перешёл к изображениям, вставив в html код ( <p><img src="dzen.png" alt="Альтернатива"></p> ) и закинув изображение в ту же папку, где и хранится сам html файл, во время работы возникла ошибка, исправить не смог, подскажите как быть.
P.S. Пишу на форум первый раз, если что-то непонятно, извините.

Код для IpHtmlPanel в программе:
var m1: TMemo;
begin
m1:=TMemo.Create(form1);
m1.lines.loadfromfile('file.html');
IpHtmlPanel1.sethtmlfromstr(m1.line s.text);
end;
Изображения
Тип файла: jpg 11.jpg (17.0 Кб, 0 просмотров)
Gorodok7 вне форума   Ответить с цитированием
Старый 27.12.2016, 20:49   #2
Aliens_wolfs
Участник клуба
 
Регистрация: 16.12.2009
Адрес: Санкт-Петербург
Сообщений: 701
Репутация: 335
По умолчанию

Добавь на форму компонент IpFileDataProvider1. В инспекторе объектов в свойстве DataProvider компонента IpHtmlPanel1 выбери этот компонент.

Ну или сделай так
Код:

procedure TForm1.Button1Click(Sender: TObject);
begin
with TStringList.Create do
begin
LoadFromFile('file.htm');
IpHtmlPanel1.DataProvider:= IpFileDataProvider1;
IpHtmlPanel1.sethtmlfromstr(text);
free;
end;
end;  

//либо этот код тоже открывает файл 
procedure TForm1.Button2Click(Sender: TObject);
begin
IpHtmlPanel1.DataProvider:= IpFileDataProvider1;
IpHtmlPanel1.OpenURL(ExtractFilePath(Application.ExeName) + 'file.htm');
end;



Путь в htm файле пропиши так <p><img src="./dzen.png" alt="Альтернатива"></p>

Проверенно работает

Последний раз редактировалось Aliens_wolfs; 27.12.2016 в 22:49.
Aliens_wolfs вне форума   Ответить с цитированием
Старый 27.12.2016, 23:36   #3
Gorodok7
Новичок
 
Регистрация: 26.12.2016
Сообщений: 4
Репутация: 10
По умолчанию

Спасибо, работает. Теперь у меня по кнопке открывается новая форма, на эту форму сразу загружается текст и картинки из html файла. Теперь возникла другая проблема, если я эту форму с html документом закрою и попытаюсь открыть заново, то вылетает ошибка. Я так понимаю нужно как-то очищать адресс у IpFileDataProvider ?
Изображения
Тип файла: jpg Безымянный.jpg (51.0 Кб, 0 просмотров)

Последний раз редактировалось Gorodok7; 27.12.2016 в 23:39. Причина: Вложения.
Gorodok7 вне форума   Ответить с цитированием
Старый 27.12.2016, 23:47   #4
Aliens_wolfs
Участник клуба
 
Регистрация: 16.12.2009
Адрес: Санкт-Петербург
Сообщений: 701
Репутация: 335
По умолчанию

Покажите ваш код где открывается форма и идет загрузка htm
попробуй путь файла укажи вот так
Код:

(ExtractFilePath(Application.ExeName) + 'file.htm')

Да и код что я выше написал внимательно посмотри у меня все работает
возможно что то не так делаешь

Последний раз редактировалось Aliens_wolfs; 28.12.2016 в 00:04.
Aliens_wolfs вне форума   Ответить с цитированием
Старый 28.12.2016, 01:22   #5
Gorodok7
Новичок
 
Регистрация: 26.12.2016
Сообщений: 4
Репутация: 10
По умолчанию

Код:

procedure TForm1.Button5Click(Sender: TObject);
begin
   form3.IpHtmlPanel1.DataProvider:= IpFileDataProvider1;
   form3.IpHtmlPanel1.OpenURL(ExtractFilePath(Application.ExeName) + 'recipes\file.html');
   form3.show;
end;

При первом нажатии на кнопку, третья форма открывается, на ней выводится информация из html документа. Если форму закрыть и заново нажать на кнопку, то программа вылетает с ошибкой, скрин выше.

Использовал второй способ, так как при первом варианте программа не компилировалась.

Последний раз редактировалось Gorodok7; 28.12.2016 в 01:40.
Gorodok7 вне форума   Ответить с цитированием
Старый 28.12.2016, 07:43   #6
Aliens_wolfs
Участник клуба
 
Регистрация: 16.12.2009
Адрес: Санкт-Петербург
Сообщений: 701
Репутация: 335
По умолчанию

Сделай вот такое дополнение к коду

Код:

  
procedure TForm1.Button5Click(Sender: TObject);
begin 
form3.IpHtmlPanel1.DataProvider:= form3.IpFileDataProvider1;
  form3.IpHtmlPanel1.SetHtmlFromStr(''); 
   form3.IpHtmlPanel1.OpenURLOpenURL(ExtractFilePath(Application.ExeName) + 'recipes\file.html');
form3.show;
end;

либо так тоже работает
Код:

procedure TForm1.Button5Click(Sender: TObject);
begin
with TStringList.Create do
begin
LoadFromFile(ExtractFilePath(Application.ExeName) + 'recipes\file.html');
form3.IpHtmlPanel1.DataProvider:= form3.IpFileDataProvider1;
form3.IpHtmlPanel1.sethtmlfromstr(text);
free;
end; 
form3.show;
end;


Последний раз редактировалось Aliens_wolfs; 28.12.2016 в 18:13.
Aliens_wolfs вне форума   Ответить с цитированием
Старый 28.12.2016, 18:43   #7
Gorodok7
Новичок
 
Регистрация: 26.12.2016
Сообщений: 4
Репутация: 10
По умолчанию

Всё заработало! Спасибо большое.
Gorodok7 вне форума   Ответить с цитированием
Ответ



Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
экспорт картинки в html Оля2394 БД в Delphi 5 06.05.2015 12:59
Для чтения из файла хотел использовать TStringLis. Лазарус и External: SIGSEGV Костян Пират Lazarus, Free Pascal, CodeTyphon 6 02.07.2014 08:39
Экспорт содержимого Dbgrid в html и xml Discovery-24 БД в Delphi 0 03.05.2011 21:26
Скрипт (программа) переноса текста из HTML файла на сайт под joomla sergiksergik Фриланс 0 20.03.2011 18:36




22:32.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru