Вторник, 26.11.2024
Мой сайт
Меню сайта
Статистика

Онлайн всего: 54
Гостей: 54
Пользователей: 0
Главная » 2019 » Август » 12 » Интерпретатор HTML-текстов (браузер)
22:45
Интерпретатор HTML-текстов (браузер)

Интерпретатор  HTML-текстов (браузер)

Браузер это программа в системе Windows, которая создаёт в этой системе своё окно и что-то на нем рисует.
Немного про это было тут:
http://akostina76.ucoz.ru/blog/2016-09-16-3441

Окно браузера это точно такое же окно. У меня по этой технологи было написано две программы. Ещё на заводе в 2000 году. Первая – поиск по складской базе что ли. Смысл – популяризация имеющейся информационной системы (которая была в DOS-е) и системы Windows как перспективного направления развития. Вторая – аналог первой, просмотр данных из стащенной бухгалтерской базы. Именно в такое окно я тыкала дрожащим пальцем, показывая на постоянный и быстрый рост процента кредитов в пассиве (в течение нескольких лет).
И то и другое было примитивно. Там даже ввода информации не было, только просмотр. Так что я никак не специалист по тому, как это делается.
Но точно знаю, что всё нарисованное на окне можно рисовать в программе как угодно.
Пример отсюда:
https://prog-cpp.ru/winelements/

В момент создания окна (WM_CREATE):

… просто последовательно рисуется всё, что должно быть на этом окне, т.е три поля для ввода информации (TextBox) и кнопка (Button). Оформление всего этого (цвет, рамка и т.д) также как расположение на окне (относительно левого верхнего угла, в котором координата  (0,0) )  и размеры элемента передаются функции создания (CreateWindow) в качестве параметров.
Интерпретатор должен прочить всё, что написано между <html> и </html> и последовательно это всё нарисовать на экране. Программа довольно тяжелая. Первое, что вспоминается – вложенные таблицы. Ширина колонки определяется обычно тем. что в ней нарисовано. Т.е надо пройти по всем этим вложениям и определиться с шириной каждой колонки (по этой полной информации).
Недостаточно нарисовать HTML- страницу. На ней могут быть, например, кнопки, реакция на нажатие которых описана между тэгами <script> </script>.
В примере в начале функции определены переменные – ссылки на созданные на форме элементы:

То, что они статические (static) означает, что их информация будет храниться до момента завершения работы программы. Если с этими элементами что-то происходит, то окну программы придёт сообщение WM_COMMAND:

Какой именно объект сгенерировал сообщение (т.е где и что нажали) определяется по параметру lparam. В данном случае, если нажала кнопка (hBtn), то выполняются некоторые действия и меняется текст в текстовом поле, ссылка на которую хранится в переменной hStart.
Вот так окно выглядит:
А браузер должен найти в скриптах нужный и как-то уже его интерпретировать. А там – полноценный язык программирования, с циклами, условиями и опять же, любым количеством вложенности.

Перевод этого программного текста  в аналог того что на продпоследней картинке и есть интерпретация (от который «интерпретатор»). Это всё делаемо. Но это никак не назовёшь тривиальным.

 

Просмотров: 166 | Добавил: akostina76 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа
Поиск
Календарь
«  Август 2019  »
ПнВтСрЧтПтСбВс
   1234
567891011
12131415161718
19202122232425
262728293031
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2024
    Бесплатный конструктор сайтов - uCoz