Форум программистов, компьютерный форум CyberForum.ru

Существуют ли какие-нибудь библиотеки C++ для работы с HTML - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Консольная игра не соответствует требованиям http://www.cyberforum.ru/cpp-beginners/thread1217656.html
Здравствуйте. Есть определенное описание текстовой консольной "игры", и вот такие требования: 1. Источником информации для нее служит текстовый файл определенной структуры (xml, json, что-то свое, что угодно еще), которую необходимо создать разработчику. 2. в каждой локации существует список действий, который представляет из себя заранее заданные варианты, показываемые игроку; 3. при выборе...
C++ Куча непонятных ошибок Вот код: #include "stdafx.h" #include <iostream> #include <fstream> int main() { std::ifstream ifs("test.txt", std::ifstream::in); char c = ifs.get(); http://www.cyberforum.ru/cpp-beginners/thread1217651.html
C++ Как определить тип данных потока istream
создал класс, перегрузил оператор ввода istream & operator >>(istream& in, Stack& cl){ } дальше нужно передать данные в нужную функцию, вопрос, как определить введённый тип данных?
C++ Условная компиляция с массивом
Вообще с помощью условной компиляции надо сравнить первые три ячейки массива с такими номерами -050,093,098,065, если подходят то хорошо. Примеров нет в интернет, кто может сделать? Заранее благодарен. #include <iostream> using namespace std; //050,093,098,065 //#if tel void main(){
C++ Записать в файл g все числа из заданного массива, кратные 3; найти ошибки в коде http://www.cyberforum.ru/cpp-beginners/thread1217604.html
Задача следующая: Создать файл f, содержащий одномерный массив из 10 целых чисел. Записать в файл g все числа из этого массива, кратные 3. После введения элементов массива вылетает ошибка такого содержания:"Project Project2.exe raised exception class EAccessViolation with message 'Access violation at address 32665А01 . Read of address F7C842A4' Process stopped". Останавливается на этой строке:...
C++ Ранжирование двустрочной таблицы, состоящей из цифр Нужно организовать ранжирование двустрочной таблицы, состоящей из цифр. Помогите пожалуйста. Не знаю даже как начать это делать подробнее

Показать сообщение отдельно
Avazart
7044 / 5221 / 259
Регистрация: 10.12.2010
Сообщений: 22,944
Записей в блоге: 17
19.07.2016, 10:48     Существуют ли какие-нибудь библиотеки C++ для работы с HTML
Как то муторно устроено.

C++
1
2
3
4
5
  class window : public aux::asset
               , public sciter::host<window>
               , public sciter::event_handler
  {
  }
Т.е. тот же наследование event_handler
назначение aux::asset , sciter::host<window> пока загадка (подозреваю что первый связан с отладкой,второй с загрузкой ресурсов)

Тоже прикрепление объекта обработчика посредством:

C++
1
attach_dom_event_handler(HWINDOW hwnd, event_handler* ph)
Фильтрация происходит в методе:
C++
1
2
3
4
5
virtual bool on_script_call(HELEMENT he, 
    LPCSTR name, 
    UINT argc, 
    sciter::value* argv, 
    sciter::value& retval)
Только для удобства добавлены макросы которые разворачиваются в эту фильтрацию, получаем как декларирование методов которые могут вызываться изнутри движка в tiscript-е:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  class frame: public sciter::window 
{
public:
  frame() : window(SW_TITLEBAR | SW_RESIZEABLE | SW_CONTROLS | SW_MAIN | SW_ENABLE_DEBUG) {}
 
 
    json::value on_btn_click() 
    {
         MessageBox(get_hwnd(), L"Click!",L"Test",  MB_OK); 
         return json::value();
    }
 
   BEGIN_FUNCTION_MAP
     FUNCTION_0("on_btn_click", on_btn_click);
     // еще  FUNCTION_1 (... ) итд...
   END_FUNCTION_MAP
};
А в html с помощью tiscript нужно создать обработчик и навесит на кнопку


HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<html>
<head>
</head>
<body>
        <script type="text/tiscript">
        function on_click() 
        { 
                 view.on_btn_click();  
        } 
    
        $(input#MyButton).on("click", on_click);
        </script>   
 
        <input type="button" id="MyButton" name="test_button" value="Test button">
</body>
</html>
view.on_btn_click(); это вызов нашего С++ метода on_btn_click декларированного FUNCTION_0("on_btn_click", on_btn_click);

В итоге при нажатии на кнопку в окне, мы получим мессаджбокс.

Движок использует tiscript поэтому синтаксис "навешивания" отличается от обычного js
Javascript
1
$(input#MyButton).on("click", on_click);
Т.е. то как описано тут http://javascript.ru/tutorial/events/intro не работает.

Не по теме:

И непонятно можно ли сделать проще что-то типа:

Javascript
1
$(input#MyButton).on("click",view.on_btn_click);



Кстати public sciter::window это класс обвертка находящийся в

Bash
1
2
sciter-sdk\include\sciter-x-window.hpp
sciter-sdk\include\sciter-win-main.cpp

Не по теме:

Спрашивается что делает сpp в include ?



Этот класс используетcя в примере sciter-sdk\demos\uminimal
Это класс создает окно с помощью CreateWindow() и делает необходимые связки

C++
1
2
3
4
5
6
7
8
9
  window::window( UINT creationFlags, RECT frame): _hwnd(NULL)
  {
    _hwnd = ::SciterCreateWindow(creationFlags,&frame,&msg_delegate,this,NULL);
    if( _hwnd ) {
      add_ref();
      setup_callback();
      sciter::attach_dom_event_handler(get_hwnd(),this);
    }
  }
 
Текущее время: 07:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru