Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Ср дек 13, 2017 6:08 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 100 сообщений ]  На страницу Пред. 1 2 3 4 5 6 7 След.
Автор Сообщение
 Заголовок сообщения: Re: @notify
СообщениеДобавлено: Ср окт 09, 2013 7:46 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4227
# плохой разделитель, лучше реже используемый символ, вроде |.
Ок, пусть будет "bAutoClose", но я всё равно сомневаюсь в его целесообразности, т.к. показ ошибок требующих _обязательного_ внимания пользователя не задача @notify в принципе, а программы которая выявила эту ошибку. В этом случае должно быть сообщение в той программе "Ошибка такая-то" и кнопка "Ок" (увидел, понял).

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: @notify
СообщениеДобавлено: Ср окт 09, 2013 8:09 pm 
Не в сети
Public Relations
Аватара пользователя

Зарегистрирован: Пн июн 07, 2010 12:01 pm
Сообщения: 1879
Leency писал(а):
# плохой разделитель, лучше реже используемый символ, вроде |.
А если символ не обрабатывать, а выводить как есть? Если @notify сама выведет chr(13),chr(10) - строчка сама не переведётся?
Код:
nmsg db "Title", 13, 10, "String", 0
Вот так не получится само собой 2 строки?
Leency писал(а):
Ок, пусть будет "bAutoClose", но я всё равно сомневаюсь в его целесообразности, т.к. показ ошибок требующих _обязательного_ внимания пользователя не задача @notify в принципе, а программы которая выявила эту ошибку. В этом случае должно быть сообщение в той программе "Ошибка такая-то" и кнопка "Ок" (увидел, понял).
Ну если эта возможность не добавляет много работы к уже существующей функциональности, то вреда от неё точно не будет, а польза определённо есть.


Вернуться к началу
 Заголовок сообщения: Re: @notify
СообщениеДобавлено: Ср окт 09, 2013 8:26 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
yogev, нет, две строчки не получится :)


Вернуться к началу
 Заголовок сообщения: Re: @notify
СообщениеДобавлено: Ср окт 09, 2013 8:58 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Сб окт 05, 2013 9:32 pm
Сообщения: 386
Пока что без автозакрытия и флага на него


Вложения:
NOTIFY [816 байт]
24 скачивания
notify.asm [4.54 КБ]
44 скачивания


Последний раз редактировалось e-andrew Ср окт 09, 2013 9:13 pm, всего редактировалось 2 раза.
Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Ср окт 09, 2013 8:59 pm 
Не в сети

Зарегистрирован: Вт апр 12, 2011 11:19 pm
Сообщения: 1077
Лучше исходник прикреплять

_________________
я лишь учусь


Вернуться к началу
 Заголовок сообщения: Re: @notify
СообщениеДобавлено: Ср окт 09, 2013 10:15 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Сб окт 05, 2013 9:32 pm
Сообщения: 386
@notify
asm-версия 0.8b

    • Убрана кнопка закрытия, для закрытия нужно кликнуть на само уведомление
    • Добавлено автозакрытие через некоторое время (зависит от длины текста).
    • Дублирование уведомления в BOARD

Автозакрытие можно отключить, дописав в конце уведомления знак "~".
Например:
Код:
@notify Hello, World!!!~

Для закрытия такого уведомления нужно кликнуть по нему.

Планируется добавить полупрозрачность(под вопросом).
Пишите свои предложения.


Вложения:
@NOTIFY.ASM [4.86 КБ]
23 скачивания
@NOTIFY [913 байт]
20 скачиваний


Последний раз редактировалось e-andrew Ср окт 09, 2013 10:25 pm, всего редактировалось 1 раз.
Вернуться к началу
 Заголовок сообщения: Re: @notify
СообщениеДобавлено: Ср окт 09, 2013 10:20 pm 
Не в сети

Зарегистрирован: Вт апр 12, 2011 11:19 pm
Сообщения: 1077
Такой надо сразу на SVN и в автозборку

_________________
я лишь учусь


Вернуться к началу
 Заголовок сообщения: Re: @notify
СообщениеДобавлено: Ср окт 09, 2013 10:34 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4227
Нужно чтобы программа появлялась сверху экрана.
Я так понимаю, отступ сделан на тот случай, если панель задач сверху. Это решается функцией получения клиентской области экрана.

Лучше сделать не кнопку, а событие мыши и закрывать в тот момент, когда нажата левая кнопка мыши на нём. Ну или на худой случай скрыть ободок после нажатия на кнопку.

>> Автозакрытие можно отключить, дописав в конце уведомления знак "~".
А вот это - оличное решение.

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: @notify
СообщениеДобавлено: Ср окт 09, 2013 10:47 pm 
Не в сети
KSoC/GSoC Student

Зарегистрирован: Ср июл 11, 2012 3:17 am
Сообщения: 224
Код:
mcall   8, <edi, 10>, <4, 10>, 0x40000001, 0x00AAAAAA

Код:
mcall   8, <edi, 10>, <4, 10>, 0x60000001, 0x00AAAAAA

если 29-й бит edx установлен - не рисовать рамку при нажатии на кнопку
если 30-й бит edx установлен - не прорисовывать кнопку


Вернуться к началу
 Заголовок сообщения: Re: @notify
СообщениеДобавлено: Ср окт 09, 2013 10:52 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Сб окт 05, 2013 9:32 pm
Сообщения: 386
Исправлю, спасибо. Проверьте текст, а то я не уверен, правильно ли я написал


Вернуться к началу
 Заголовок сообщения: Re: @notify
СообщениеДобавлено: Чт окт 10, 2013 7:55 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Сб окт 05, 2013 9:32 pm
Сообщения: 386
Вообщем все. Нефига не все. Сейчас буду пилить многострочность Пока делал, многое узнал.

@notify

Отличия от предыдущей версии (той что от Leency):
    Изменен внешний вид приложения:
      Убрана полупрозрачность
      Сдвиг окошка от края
    Уведомление закрывается по клику
    Учет местонахождения панели при расчёте координат (уведомление не налезает на панель)
    Дублирование уведомлений в BOARD с указанием времени
    Возможность добавления важных уведомлений (то есть тех, которые по истечению времени сами не закроются).
    Код написан на FASM, что теоретически должно сделать программу быстрее и меньше по размеру. Правда же такова, что размер уменьшился всего на 400 байт.

Для вызова важных уведомлений нужно в конец текста дописать символ "~"
Пример
Код:
// Данное уведомление закроется после определенного промежутка времени
@notify Привет, мир!
// А это закроется только после того, как пользователь его увидит и нажмет на него
@notify Привет, мир!~


Вложения:
1.jpg
1.jpg [ 47.53 КБ | 631 просмотр ]
@NOTIFY.ASM [5.82 КБ]
25 скачиваний
@NOTIFY [1.13 КБ]
24 скачивания
Вернуться к началу
 Заголовок сообщения: Re: @notify
СообщениеДобавлено: Чт окт 10, 2013 8:23 pm 
Не в сети
Public Relations
Аватара пользователя

Зарегистрирован: Пн июн 07, 2010 12:01 pm
Сообщения: 1879
eAndrew писал(а):
Вообщем все. Нефига не все. Сейчас буду пилить многострочность Пока делал, многое узнал.
Всё-таки очень хотелось бы ещё поддержку многострочности, пусть даже через знак #, если тебе так удобно.
Цитата:
eAndrew « Thu Oct 10, 2013 8:12 pm » если я сделаю многострочность, то скорость запуска немного замедлится, так как теперь нужно будет бежать по каждому пикселю по высоте. нормально?
eAndrew « Thu Oct 10, 2013 8:13 pm » я это уже реализовывал, но потом удалил, так что особых трудностей не возникнет
eAndrew « Thu Oct 10, 2013 8:13 pm » в качестве символа перевода будет \n (0xA)
yogev_ezra « Thu Oct 10, 2013 8:14 pm » eAndrew: \n гораздо лучше, конечно. Я просто понял, что тебе такой значок не удаётся сделать.
eAndrew « Thu Oct 10, 2013 8:16 pm » Просто я незнаю, как асм будет обрабатывать "qwe\nrty", как строку "qwe\nrty", а не "qwe*новая строка*rty"

eAndrew писал(а):
Код написан на FASM, что теоретически должно сделать программу быстрее и меньше по размеру. Правда же такова, что размер уменьшился всего на 400 байт.
А во время сравнения размеров ты учёл ещё паковку kpack?
Цитата:
eAndrew « Thu Oct 10, 2013 8:07 pm » что за kpack?
yogev_ezra « Thu Oct 10, 2013 8:09 pm » eAndrew: Родной архиватор KolibriOS. Ты, наверное, сравнивал размер заархивированного @notify на C-- с незаархивированным своим на ASM.
yogev_ezra « Thu Oct 10, 2013 8:10 pm » eAndrew: Если твою версию тоже заархивировать, она станет ещё в 1.5-2 раза меньше.
eAndrew « Thu Oct 10, 2013 8:10 pm » так тут еще и архиватор есть.... *свист*)
eAndrew « Thu Oct 10, 2013 8:10 pm » и программа не замедляется?
yogev_ezra « Thu Oct 10, 2013 8:14 pm » eAndrew: Для программ на 1KB замедление из-за архиватора на микросекунды, человеческим глазом незаметно и даже компьютером не всегда удаётся померять. Для больших программ - да, заметно, например для FPLAY замедление на 5-10 секунд. Но, поскольку архиватор работает только во время запуска программы, а программы вроде FPLAY запускают один раз и потом пользуются много раз, то эту разницу можно принять.
yogev_ezra « Thu Oct 10, 2013 8:16 pm » eAndrew: Вот программы, которые часто запускаются и сразу же закрываются, если они ещё и большие, то лучше не архивировать, конечно. Например, если б @notify была размером с FPLAY, то при её предназначении, конечно, лучше её не архивировать. Но так как она занимает 1KB, то всё нормально и можно архивировать.


Вернуться к началу
 Заголовок сообщения: Re: @notify
СообщениеДобавлено: Чт окт 10, 2013 9:40 pm 
Не в сети
KSoC/GSoC Student

Зарегистрирован: Ср июл 11, 2012 3:17 am
Сообщения: 224
а можно я внесу поддержку многострочности?) прямо сюда, прямо сегодня!!!

вопросов собственно несколько:

Нужен ли вообще разделитель, могу просто основываясь на длинне данных делить на слова и выводить?
всем подойдет разделитель 0x13, если нужен разделитель?
и какое выравнивание делать, по центру или по левому краю с отступом?


Вернуться к началу
 Заголовок сообщения: Re: @notify
СообщениеДобавлено: Чт окт 10, 2013 10:08 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Сб окт 05, 2013 9:32 pm
Сообщения: 386
Делай, если хочешь). Разделитель 0x13, выравнивание у меня по левому, но наверное будет лучше сделать по правому. Только никак не могу рассчитать ширину окна.


Вернуться к началу
 Заголовок сообщения: Re: @notify
СообщениеДобавлено: Чт окт 10, 2013 10:14 pm 
Не в сети
Public Relations
Аватара пользователя

Зарегистрирован: Пн июн 07, 2010 12:01 pm
Сообщения: 1879
eAndrew писал(а):
Делай, если хочешь). Разделитель 0x13, выравнивание у меня по левому, но наверное будет лучше сделать по правому. Только никак не могу рассчитать ширину окна.
Как уже заметила CleverMouse, правильный разделитель 0x0A (10 decimal).


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 100 сообщений ]  На страницу Пред. 1 2 3 4 5 6 7 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


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

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB