InputBox

Discussing libraries simplifying applications development
  • Выглядит симпатично и в использовании удобно. Хорошо бы иметь такую библиотеку для разных диалоговых окон: MsgBox, FindReplace... Знаю, что есть такая библиотека, но она устарела -- мелкий шрифт.
  • Закрытые библиотеки это саботаж 100%
  • Похоже исходник лежит в kolibri.img\$$$_TEST_$$$\InputBox_SRC.7z\lib\InputBox.asm
    Из хаоса в космос
  • Siemargl wrote:Закрытые библиотеки это саботаж 100%
    А к чему ты это написал здесь?
    Сможешь объяснить? Или так, от нефиг делать?
    Leency wrote:Похоже исходник лежит в kolibri.img\$$$_TEST_$$$\InputBox_SRC.7z\lib\InputBox.asm
    Да, именно это я и написал в первом сообщении
    1.PNG
    1.PNG (9.19 KiB)
    Viewed 13556 times
    Я изначально делал по аналогии с OpenDialog и ColorDialog: приложение + библиотека.
    Но что-то существенных профитов от этого не обнаружил.
    Интересно, какие цели преследовал Марат при разработке OpenDialog и ColorDialog?
    Разве что раздельное адресное пространство — может в этом была задумка?

    Плюсы варианта "всё вместе в библиотеке":
    • нет возни с разделяемой памятью
      не нужно запускать новый процесс
      упрощается код
      один файл вместо двух
    Для вызывающего приложения существенной разницы нет — интерфейс остаётся такой же.

    Теперь поддерживается ввод 64-битных чисел.
    Добавился ещё один код ошибки IBE_RESULT_TOO_LONG. Все константы:

    Code: Select all

      ; Flags = [mouse|screen|parent][number|string]
      IBF_STRING = 0      ; в буфер будет записана строка         ; string will be written to the buffer
      IBF_NUMBER = 1      ; в буфер будет записано число          ; number will be written to the buffer
      IBF_MOUSE_REL = 0   ; относительно положения указателя мыши ; relative to the mouse pointer
      IBF_SCREEN_REL = 8  ; относительно экрана                   ; relative to the screen
      IBF_PARENT_REL = 16 ; относительно родительского окна       ; relative to the parent window
      
      ; Errors
      IBE_NO_ERROR = 0        ; успешно, нет ошибки            ; success
      IBE_NUMBER_OVERFLOW = 1 ; переполнение при вводе числа   ; number greater than 0xFFFFFFFFFFFFFFFF
      IBE_RESULT_TOO_LONG = 2 ; результат не умещается в буфер ; result does not fit into buffer
    Я переделал вариант "приложение + библиотека", теперь стало "всё вместе в библиотеке".
    Исходники примеров остались без изменений.
    Если возражений нет, я закоммичу такой вариант.
    Если нужны ещё какие-нибудь примеры — могу сделать ещё.
    Downloaded 324 times
  • В случае с OpenDialog, Марат возможно изначально писал KFM2, потом превратив его в OpenDialog. Что точно знаю, что он хотел на основе OpenDialog потом сделать KFM2.
    Возможно отсюда и такая связка.
    Из хаоса в космос
  • Leency wrote:он хотел на основе OpenDialog потом сделать KFM2
    Ну это он говорил. А ColorDialog просто по аналогии?
  • 0CodErr wrote:
    Siemargl wrote:Закрытые библиотеки это саботаж 100%
    А к чему ты это написал здесь?
    Сможешь объяснить? Или так, от нефиг делать?
    ....
    Наверное потому что посчитал это частью дельфийской твоей либы, от которой не нашел исходников, когда хотел натравить на нее фрипаскаль.

    А первый пост просто проглядел видимо
  • Siemargl wrote:посчитал это частью дельфийской твоей либы
    Первый вариант InputBox как раз был с ней собран, но теперь всё в одной библиотеке.
    А так как линкера coff->coff нет, то пришлось скопипастить из неё некоторый код.
    Если и как только перейдём на PE, то снова можно будет собирать, просто прилинковав эту библиотеку.
    Siemargl wrote:не нашел исходников
    Плохо искал, значит. Папка "Src" там есть. А ещё вон там http://board.kolibrios.org/viewtopic.ph ... 255#p68255 есть ссылки на pastebin.
  • 0CodErr wrote:
    Siemargl wrote:посчитал это частью дельфийской твоей либы
    Первый вариант InputBox как раз был с ней собран, но теперь всё в одной библиотеке.
    А так как линкера coff->coff нет, то пришлось скопипастить из неё некоторый код.
    Если и как только перейдём на PE, то снова можно будет собирать, просто прилинковав эту библиотеку.
    Siemargl wrote:не нашел исходников
    Плохо искал, значит. Папка "Src" там есть.....
    "Там" это где?

    Про СВН в профильной теме
  • Загрузил исходники InputBox на svn( http://websvn.kolibrios.org/listing.php ... 8aa795be26 ) и добавил в автосборку.
    Также были добавлены примеры использования InputBox(в папке "Examples").
  • Who is online

    Users browsing this forum: No registered users and 3 guests