Screenshooter

Processing, playback of audio and video
  • Maxxxx32
    Хорошая функциональность, мне понравилось. Стоит, однако, написать, что нужно вводить не только имя файла, а полный путь вместе с именем.
    Предложение насчет editbox:
    1) Нужна корректная обработка клавиш Home и End, чтобы курсор перемещался соответственно к началу и в конец.
    2) Было бы хорошо, если бы курсор моргал, но это не обязательно, в принципе и так удачно.
    Удачи.
  • Mario79
    Сделал все, кроме моргания. Ссылка таже.
    Моргание можно сделать, если у KolibriOS появится функция, которая будет выполнять какой-либо фрагмент кода за определенные промежутки времени.
  • В Колибри нет таймеров?
  • При отсутствии моргания не тратится лишнего процессорного времени на моргание (да и размер кода уменьшается)...
  • Обновил программу:
    1) теперь поддерживаются длинные имена файлов (используется 70-я функция вместо 58-ой);
    2) теперь можно самому задавать время задержки;
    3) поддерживается автонумерация файлов;
    4) улучшена обработка мышки в editbox.
  • Maxxxx32
    Нужно написать текстовик к приложению. Я так и не смог запустить автосохранение с автонумерацией. Смог только одиночное сохранение с ручным вводом имени.
  • Mario79
    Добавил readme.txt
    Имя файла не генерируется полностью, просто в том месте имени файла, где стоит знак "*" (без кавычек) этот знак будет заменен на номер, котрый автоматически увеличивается при каждом сохранении. Например, если написать так /hd0/1/*.bmp, на жесткий диск запишется файл 00.bmp.

    Размер editbox уменьшен на 40 байт.
    Last edited by Maxxxx32 on Tue Jun 13, 2006 5:43 pm, edited 1 time in total.
  • При сворачивании окно не перестает быть активным; если окно активно, функция активации окна его не восстанавливает. Единственное решение проблемы, которое я нашел, это сразу после сворачивания запускать "отвлекающий" поток, который дезактивирует главное окно.
    Есть ли более красивое решение этой проблемы ?
  • Maxxxx32
    Замечания насчет readme.txt
    1) Обычно в нем написано кто автор;
    2) Насчет имени в 264 символа, когда по стандарту FAT положено 260 символов, а в твоей программе можно ввести около 50 символов на весь путь. Где ты взял эту цифру?
    3) Ctrl+PrintScrn - горячая клавиша. Не написано, какое действие она выполняет.

    Теперь предложения по поводу программы:
    1) Наверное, лучше сделать, чтобы, как только начал "фоткать", то вместо звездочки вставлялись цифры следующего сохраняемого файла.
    2) Можно еще сделать режим полного автосохранения с параметром задержки между снимками. Потом можно будет из файлов сделать анимацию, но это так на будущее.

    Не понял фразы:
    При сворачивании окно не перестает быть активным; если окно активно, функция активации окна его не восстанавливает.
    Первый раз слышу о таком. Даже когда окно активно через панель проводится его насильственная активация с восстановлением всех исходных параметров. Посылается событие через mcall 18,3.
    Если я чего-то не так понял, то распиши максимально подробнее.
    Если этот глюк проявился в эмуляторе, то это вина эмулятора, а не ядра.
  • в твоей программе можно ввести около 50 символов на весь путь
    Не 50, а 255, хотя это тоже мало. Исправлю.
    Если я чего-то не так понял, то распиши максимально подробнее.
    Программы я пишу и тестирую в самой KolibriOS, а не в эмуляторе. Насколько я знаю, панель активизирует (разворачивает) окно только при нажатии на кнопку на самой панели, в этот момент активным является окно именно панели, а не окно программы, окно программы успешно восстанавливается.
    В моей программе функция восстановления окна сработает, если ты сделаешь активным другое окно, можешь проверить: поставь задержку так, чтобы ты успел выбрать другое окно, включи автосворачивание и автовосстановление, нажми кнопку "сделать снимок" и сразу выбери другое окно, функция автовосстановление сработает, но если ты не выберешь другое окно, то есть окно моей программы останется активным и в свернутом состоянии, 3 подфункция 18 функции не сработает.
    Last edited by Maxxxx32 on Wed Jun 14, 2006 7:08 pm, edited 1 time in total.
  • Maxxxx32
    Не 50, а 255, хотя это тоже мало. Исправлю.
    Извиняюсь, не знал, что можно вводить путь длинней, чем отображается на экране.
    Насчет mcall 18, 3 буду разбираться.
  • Maxxxx32
    1) Если у тебя исходники ядра от К0530b2, то попробуй переставить строку:
    mov [window_minimize],2
    сразу после
    cmp eax,3 ; ACTIVATE WINDOW
    jnz nowindowactivate
    2) Если у тебя ядро с SVN то вставь строку:
    mov [window_minimize],2
    сразу после
    sysfn_activate: ; 18.3 = ACTIVATE WINDOW
    В принципе должно помочь (если рассуждать логически), но я сам не проверял.
  • Mario79
    Теперь работает, но после сворачивания необходима задержка, равная времени, необходимому для фотканья экрана + 1 секунда. Эту проблему можно решить на уровне приложения.
  • Maxxxx32
    Дело в том, что сворачивании и разворачивание, и вообще изменение размеров окна происходит не сразу, а после того, когда ядро, перебрав по кругу все потоки (в том числе и себя) и лишь потом изменяет, когда дойдет до нужного потока.
  • Who is online

    Users browsing this forum: No registered users and 3 guests