Какие на то причины? Марио вот наоборот на трекере сказал ,что неплохо бы прикрутить.
Ну и... Я ЧУТЬ НЕ ВЫУЧИЛ АСМ ПОКА ЕГО ПРИКРУЧИВАЛ И ОНО РАБОТАЕТ потому если придётся удалять, будет немного грусно.
http качалка
-
Из хаоса в космос
Network Downloader 0.6
- прикручен edit_box
- используются ситемные цвета
- удалён старый код
Editbox я прикручивал основываясь на изменениях IgorA в программе hex2dec2bin, и ему же огромное спасибо за статью об EditBox'e на Вики. Реально без этого ничего бы не вышло.
Осталась одна проблема: не работает мышь. Как к этой строке добавить обработку мыши?
- прикручен edit_box
- используются ситемные цвета
- удалён старый код
Editbox я прикручивал основываясь на изменениях IgorA в программе hex2dec2bin, и ему же огромное спасибо за статью об EditBox'e на Вики. Реально без этого ничего бы не вышло.
Осталась одна проблема: не работает мышь. Как к этой строке добавить обработку мыши?
Code: Select all
mcall 40, 10000000b ; only net event!!!
- Attachments
-
-
downloader.zip (15.38 KiB)
- Залью на SVN после исправления последнего бага
Downloaded 367 times
-
Из хаоса в космос
Как однажды сказал один человек "Мнение пишущего код более приоритетно, чем мнение советующих".
Вообще можно было подойти к проблеме с другой стороны - написать GUI часть отдельным приложением, которое будет вызывать программу, также как это сейчас делает HTMLv. В этом случае вообще не было бы вопросов. Кстати даже прикрутить edit_box можно так чтобы в безоконном режиме box_lib вообще не загружался.
Вообще можно было подойти к проблеме с другой стороны - написать GUI часть отдельным приложением, которое будет вызывать программу, также как это сейчас делает HTMLv. В этом случае вообще не было бы вопросов. Кстати даже прикрутить edit_box можно так чтобы в безоконном режиме box_lib вообще не загружался.
Установкой нужного бита.Leency wrote:Осталась одна проблема: не работает мышь. Как к этой строке добавить обработку мыши?Code: Select all
mcall 40, 10000000b ; only net event!!!
http://wiki.kolibrios.org/wiki/SysFn40/ru
http://wiki.kolibrios.org/wiki/Ru/api/kernelebx = маска: бит i соответствует событию i+1 (см. список событий)
Spoiler:
Список событий
Очередное событие можно получить вызовом одной из функций 10 (ожидать события), 11 (проверить без ожидания), 23 (ожидать в течение заданного времени). Эти функции возвращают только те события, которые входят в маску, устанавливаемую функцией 40. По умолчанию это первые три, чего вполне достаточно для многих приложений. Коды событий:
1 = сообщение о перерисовке (сбрасывается при вызове функции 0)
2 = нажата клавиша на клавиатуре (поступает, только когда окно активно) или нажата "горячая клавиша";
сбрасывается, когда все клавиши из буфера считаны функцией 2
3 = нажата кнопка, определённая ранее функцией 8 (или кнопка закрытия, созданная неявно функцией 0; кнопка минимизации обрабатывается системой и о ней сообщения не приходит;
поступает, только когда окно активно;
сбрасывается, когда все кнопки из буфера считаны функцией 17)
4 = зарезервировано (в текущей реализации никогда не приходит даже при размаскировке функцией 40)
5 = перерисовывается фон рабочего стола (сбрасывается автоматически после перерисовки, так что если во время перерисовки фона программа не ждёт и не проверяет события, то этого события она не заметит)
6 = событие от мыши (что-то случилось - нажатие на кнопку мыши или перемещение; сбрасывается при прочтении)
7 = произошло событие IPC (смотри функцию 60 - Inter Process Communication; сбрасывается при прочтении)
8 = произошло сетевое событие (сбрасывается при прочтении; смотри работу с сетью)
9 = произошло отладочное событие (сбрасывается при прочтении; смотри отладочную подсистему)
16..31 - ранее использовались для проверки соответвующих IRQ (16=IRQ0, 31=IRQ15) (на новых версиях ядра не генерируются)
6 - 1 = 5 получается 100000b
10000000b + 100000b = 10100000b
Только сдается мне комментарий
там не просто так стоит, и возможно ты хочешь исправить не то место.; only net event!!!
В коде есть еще один участок:
Code: Select all
prepare_event:
; Report events
; Stack 8 + defaults
mcall 40,10000111b
Last edited by Mario on Fri Jun 01, 2012 10:00 pm, edited 1 time in total.
5-ый бит отвечает за мышь.Leency wrote:Осталась одна проблема: не работает мышь. Как к этой строке добавить обработку мыши?Code: Select all
mcall 40, 10000000b ; only net event!!!
Code: Select all
mcall 40, 10100000b ; only net event!!!
Code: Select all
; |----------------------------------------------------------------------------| ;
; | Таблица желаемых событий. | ;
; |----------------------------------------------------------------------------| ;
; | 00000000 00000000 00000000 00000111b Cобытия: | ;
; | I Перерисовка окна. | ;
; | I Клавиша в буфере. | ;
; | I Кнопка в буфере. | ;
; | I Забранировано. | ;
; | I Перерисовывается фон рабочего стола. | ;
; | I Мышь. | ;
; | I IPC | ;
; | I Сетевое событие. | ;
; | I Отладочное событие. | ;
; | I---------------I Данные IRQ. | ;
; |----------------------------------------------------------------------------| ;
Спасибо! С битами буду разбираться.
Программу залил на SVN.
Что хотелось бы сделать в будущем: отображение статуса процесса в окне. Ну или хотя бы индикатор окончания загрузки.
P.S. Да, исправление было для другого места.
Программу залил на SVN.
Что хотелось бы сделать в будущем: отображение статуса процесса в окне. Ну или хотя бы индикатор окончания загрузки.
P.S. Да, исправление было для другого места.
Из хаоса в космос
Сейчас качалка не поддерживает коды 301/302. Особенность в том, что часто адрес, куда делается редирект, не сообщается в содержимом документа, а только в качестве ответа качалке (HTTP/1.1 301 Moved .. и тут адрес). Без обработки этих кодов ошибок зачастую невозможно посещать некоторые сайты.
Я уже писал, что часты случаи, когда сайт http://ololo.lo не будет работать просто потому он посылает 301/302 на http://www.ololo.lo или http://ololo.lo/[b]index.php[/b], что делает неработоспосособными чуть менее, чем половину хостов.
Из хаоса в космос
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
По мотивам "Винни Пух и все-все-все 256 байт адреса"
http://paradigm.ru/url-max-length
http://www.manhunter.ru/webmaster/481_k ... a_url.html
По первой ссылке похвалили Opera, обосрали IE и скромно промолчали про Хром.
По второй ссылке похвалили Opera, обосрали IE и Хром все равно сосет.
Фуррифокс и Сафари бодрячком.
Итого делаем вывод -долбодятлы криворукие веб-мастера могут взять любое значение полной длинны ссылки.
В Колибри в случае использования расшаренной "именованной" памяти для передачи полного пути можно также использовать любой доступный объем памяти.
http://paradigm.ru/url-max-length
http://www.manhunter.ru/webmaster/481_k ... a_url.html
По первой ссылке похвалили Opera, обосрали IE и скромно промолчали про Хром.
По второй ссылке похвалили Opera, обосрали IE и Хром все равно сосет.
Фуррифокс и Сафари бодрячком.
Итого делаем вывод -
В Колибри в случае использования расшаренной "именованной" памяти для передачи полного пути можно также использовать любой доступный объем памяти.
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Я еще года два назад делал такие тесты, Хром вешается на 65534м байте адреса. Ну, или вешался. Опера действительно работала стабильно, а фуррифокс просто малеха подтормаживал на мегабайтных ссылках. Но на статью это не тянуло.
На каких сайтах кроме http://google.com можно гарантированно получить такое перенаправление? Нужна статистика, поскольку придется разбирать содержимое выдаваемой страницы.SoUrcerer wrote:Сейчас качалка не поддерживает коды 301/302. Особенность в том, что часто адрес, куда делается редирект, не сообщается в содержимом документа, а только в качестве ответа качалке (HTTP/1.1 301 Moved .. и тут адрес). Без обработки этих кодов ошибок зачастую невозможно посещать некоторые сайты.
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
На http://kolibrios.org
Разбирать содержимое страницы не нужно, потому что в ответе 301/302 передается конкретно адрес, куда нужно сделать редирект. Это уже поддерживается в тестовой сборке HTMLv со своей встроенной качалкой HTTP.
Разбирать содержимое страницы не нужно, потому что в ответе 301/302 передается конкретно адрес, куда нужно сделать редирект. Это уже поддерживается в тестовой сборке HTMLv со своей встроенной качалкой HTTP.
Хорошо, тогда я не буду тратить время на решение этой проблемы.SoUrcerer wrote:На http://kolibrios.org
Разбирать содержимое страницы не нужно, потому что в ответе 301/302 передается конкретно адрес, куда нужно сделать редирект. Это уже поддерживается в тестовой сборке HTMLv со своей встроенной качалкой HTTP.
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Code: Select all
telnet kolibrios.org 80
GET / HTTP/1.0
Host: kolibrios.org
Code: Select all
HTTP/1.0 301 Moved Permanently
Location: http://kolibrios.org/en/
Content-Length: 0
Connection: close
Date: Fri, 19 Apr 2013 06:18:29 GMT
Server: lighttpd/1.4.32
Who is online
Users browsing this forum: No registered users and 2 guests