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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2021, 13:41   #1
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,463
По умолчанию Lazarus. показать html

возникла необходимость
1. прочитать НТМL файл
структура очень проста несколько <TABLE> и его "подтеги" <THEAD><TR><TH><TBODY><TR><TD>
2. преобразовать его
добавить несколько дополнительных колонок в эти таблицы
возможно перестроить таблицы
3. отобразить преобразованный файл в своей программе.
отобразить по возможности хотелось бы без сохранения файла как такового.

вопрос какими компонентами ( стандартными или не очень) воспользоваться для отображения файла.
первые два пункта можно решить и без компонент.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 24.03.2021, 16:47   #2
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,465
По умолчанию

Lazarus вообще не знаю, но браузер сейчас доминирующий один, лучше его компонент и использовать - хром, называют chromium для разработчиков

Цитата:
1. прочитать НТМL файл
метод Get

IdHttp.Get например если indy есть под Lazarus


Цитата:
Сообщение от evg_m Посмотреть сообщение
2. преобразовать его
добавить несколько дополнительных колонок в эти таблицы
возможно перестроить таблицы
Если вы структуру понимаете, то даже обычного Memo будет достаточно, функцию StringReplace заюзайте
http://www.delphibasics.ru/StringReplace.php или её аналог в Lazarus
Alar вне форума Ответить с цитированием
Старый 25.03.2021, 11:48   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,463
По умолчанию

Цитата:
Если вы структуру понимаете, то даже обычного Memo будет достаточно
Код:
первые два пункта можно решить и без компонент.
Цитата:
воспользоваться для отображения файла.
уточнение. для Windows.

ответ.
Lazarus --> сервис --> Импортировать библиотеку типов...
Microsoft Internet Controls (shdocvw.dll)
ActiveX
создать визуальный компонент
TAcxWebBrowser то что надо.

подробности http://www.delphikingdom.com/asp/vie...?catalogID=366
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 25.03.2021, 13:00   #4
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,465
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
TAcxWebBrowser
Это совсем устаревший компонент, WebBrowser это IE по крайней мере было 15 лет назад в делфи7, тогда ещё и хрома не было, а IE уже был глючный, хотя простую таблицу отобразит.

Цитата:
уточнение. для Windows.
Для lazarus должно быть не важно.
Alar вне форума Ответить с цитированием
Старый 25.03.2021, 14:59   #5
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 6,993
По умолчанию

Если уж таблицы будут меняться, почему-бы не распихать данные для показа в stringgrid'ы? Или важно сохранить оформление таблиц?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 26.03.2021, 12:49   #6
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,465
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
stringgrid'ы
тогда уж в XML лучше )
Alar вне форума Ответить с цитированием
Старый 26.03.2021, 13:20   #7
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,463
По умолчанию

есть HTML.
для рабочих нужд надо
1. разобрать (парсинг) файл.
прямой XML парсинг не работает (незакрытые теги однако)
конечно можно допилить до нужного
2. показать немножко доработанный файл (с добавлением колонок)
при этом желательно без создания нового файла (или изменения рабочего)

TwebBrowser дает
и парсинг
и отображение исходного
и можно допиливать отображение на лету
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 26.03.2021 в 13:22.
evg_m вне форума Ответить с цитированием