Помогите новичку

Applications development, KoOS API questions
  • Уфффффффффффффффффффф, разобрался. :x Теперь, всё работает. Дебильная документация, млин. :twisted: Нельзя было нормально написать.

    И вообще нахрена, надо указывать вначале буфера, размер символа, если для этого, есть биты, высталенные в старшей части регистра ECX, которые указывают на размер символа? Идиотизм какой-то. :shock:
  • В начале буфера указывается размер буфера, а не символа. Вертикальный размер реально не используется, но горизонтальный по любому нужен. Такой стандарт придумал Марио, а на счёт документации — предлагай, как лучше.
  • Pathoswithin wrote:В начале буфера указывается размер буфера, а не символа.
    Я имел ввиду, по отношенмю к моему примеру. Но даже для буфера. Зачем, если функция, сама может вычислить размер буфера? Благо, в регистрах, уже всё есть.
    Pathoswithin wrote:Вертикальный размер реально не используется, но горизонтальный по любому нужен.
    Тогда зачем, нужны лишние 4 байта?
    Pathoswithin wrote:Такой стандарт придумал Марио,
    Ясно.
    Pathoswithin wrote:а на счёт документации — предлагай, как лучше.
    Должен уточнить; я говорил, не про всю документацию, а про документацию на 4-ую функцию, хотя где-то ещё, было что-то. Придлогать ничего не собирался, просто выразил свои эмоции.

    Но, коли на то пошло, то, хотя бы так:

    Code: Select all

    ======================================================================
    ============== Функция 4 - вывести строку текста. ====================
    ======================================================================
    Особенность:
      * может выводить строку текста в окно.
      * может выводить строку текста в область пользователя.
    
    Параметры:
      * eax = 4 - номер функции
      * ebx = [координата по оси x]*65536 + [координата по оси y]
      * ecx = 0xXYRRGGBB, где
        * RR, GG, BB задают цвет текста
        * X=ABFF (биты):
          * A=1 - выводить ASCIIZ-строку
          * B=1 - закрашивать фон цветом edi
          * FF задает шрифт и кодировку:
            0 = 6x9  cp866
            2 = 8x16 UTF-16LE
            3 = 8x16 UTF-8
        * Y=CDDD (биты):
          * C=1 перенаправить вывод в область пользователя, задано в edi
          * DDD = (множитель размера)-1, то-есть 0 = x1, 7 = x8
      * edx = указатель на начало строки
      * esi = для A=0 длина строки, для A=1 игнорируется
      * edi = если B=1, цвет для закраски фона,
              если C=1, указатель на область пользователя
    
    Возвращаемое значение:
      * функция не возвращает значения.
    
    Формат области пользователя:
      * dword: со значением ширины области пользователя.
      * dword: со значением высоты области пользователя.
      * field: остаток области, где будет храниться строка.
    
    Замечания:
      * Нельзя одновременно использовать B=1 и C=1,
        поскольку в обоих случаях используется регистр edi.
      * при С=1 (вывод в область пользователя):
         * координаты в регистре ebx, являются координатами 
            внутри пользовательской области.
         * размер цвета пикселя = 32 бита.
         * область field - берётся из расчёта: 
             field=width*height*4
         * вывод области пользователя в окно, можно сделать функцией 65,
           указав поле field, в качестве отправной точки.
         * в область пользователя, записываются только пиксели символов.
    
    ======================================================================
    IMHO так лучше. Всё ясно и понятно.
  • Ребят,если в исходниках KolibriOS сменить богомерзкий слеш в разделителе имен каталогов на православный бэкслеш,
    то совместимость с существующим софтом как положено,рухнет к епени фени,м?
    Кристофер Робин сел в «Форд» и взмахнул кнутом…
  • А с каких это пор исконный, юниксовый слеш — богомерзкий, а виндовый бэкслеш, внезапно, — православный?
    Если со стороны файловой системы, то наверно можно сделать поддержку обоих.
  • X-Ray wrote:совместимость с существующим софтом как положено, рухнет к епени фени,м?
    Обязательно. Потому как если что, в коде проверяют символ '/'. И зачем? Я что-то не припомню - с винды что-нибудь портировали? А с Линукса было и не раз. Ещё одну заморочку надо?
    Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
  • Pathoswithin wrote:А с каких это пор исконный, юниксовый слеш — богомерзкий, а виндовый бэкслеш, внезапно, — православный?
    Разумеется по версии олдовых DOS-юзеров,к которым и я отношусь,внезапно)
    GerdtR wrote:Обязательно. Потому как если что, в коде проверяют символ '/'. И зачем?...
    Ненавижу unix-style) Но это мое имхо,разумеется.
    P.S.А имена дисков в файлманагерах в стиле rd/hd/bd etc. планируется сменить на что-нить более ммм... виндовое ?
    Кристофер Робин сел в «Форд» и взмахнул кнутом…
  • X-Ray wrote: P.S.А имена дисков в файлманагерах в стиле rd/hd/bd etc. планируется сменить на что-нить более ммм... виндовое ?
    Нет. Я понимаю, что тебе Винда привычнее, только тут Колибри. ОС другая. И вообще, не удобно же. Ну что за диск К, например? А в колибри cd0 - и сразу ясно - первый дивидишник.
    Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
  • GerdtR wrote:Нет. Я понимаю, что тебе Винда привычнее, только тут Колибри. ОС другая. И вообще, не удобно же. Ну что за диск К, например? А в колибри cd0 - и сразу ясно - первый дивидишник.
    Это нам с тобой ясно. А поставь себя на место среднестатистического пользователя - "А хде мои особо ценные файлы на диске Дэ ?"
    Кристофер Робин сел в «Форд» и взмахнул кнутом…
  • :) Когда-то я не знал, как Винду вырубить. Вот недавно в вин7 искал "Свойства папки" дабы включить отображение скрытых папок. Ах да, в 8мой тоже искал, как комп вырубить - в пуске-то нет. Это я к чему: надо будет - найдёт и будет всё ясно и понятно.
    PS: Показать, как в винде диск D назвать диском R, например? В XP точно знаю, ну в 7ой тоже должно быть. В новых не уверен, как там. Это что, придётся искать винду, её реестр и называть также диски? А то никаких гарантий, что диск D и E в Винде не окажутся E и D в Колибри. Прикинь глаза юзера :)
    Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
  • X-Ray... это ты, конечно, дело говоришь, особенно с учётом того, что в КОС скачать особо ценные файлы проблематично. У разделов есть название, вот его неплохо бы читать и выводить...
  • Читать имя раздела вполне годная идея. И вполне просто реализуется.
    Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
  • GerdtR wrote::)... Вот недавно в вин7 искал "Свойства папки" дабы включить отображение скрытых папок. Ах да, в 8мой тоже искал, как комп вырубить - в пуске-то нет. Это я к чему: надо будет - найдёт и будет всё ясно и понятно.
    Мда,7-ка слишком уж заточена под "домохозяйку" - сам искал,где включить скрытые/системные папки,и главное,отображение расширений файлов - без них в проводнике в ступор впадаю(еще одна причина ненавидеть unix - где расширения?!!Как можно ориентироваться?!! - хз.Ну это я так,к слову).
    GerdtR wrote:PS: Показать, как в винде диск D назвать диском R, например? В XP точно знаю, ну в 7ой тоже должно быть.
    Не нужно,проделываю это после каждой (пере)установки.В 7-ке,кстати,также.
    GerdtR wrote:А то никаких гарантий, что диск D и E в Винде не окажутся E и D в Колибри.
    Я не именно это имел ввиду,- в виндятине флоповод как правило A/B,системный C,secondary разделы или второй HDD - D or etc.Оставить лишь привычные наименования дисковых устройств,а не порядок расположения винтов/разделов.На мой взгляд удобно и логично.И даже в PC BIOS такая система наименований частенько бывает,не то что в ОС(кроме XT,там перемычками че угодно можно выставить).
    Pathoswithin wrote:X-Ray... это ты, конечно, дело говоришь, особенно с учётом того, что в КОС скачать особо ценные файлы проблематично. У разделов есть название, вот его неплохо бы читать и выводить...
    GerdtR wrote:Читать имя раздела вполне годная идея. И вполне просто реализуется.
    Годнота,че. Ток меня терзают смутные сомненья,что далеко не каждый юзверь осведомлен о DISK LABEL.
    Кристофер Робин сел в «Форд» и взмахнул кнутом…
  • Цели пересадить всех с винды на Колибри нет.
    Чтобы их пересадить, нужно выполнить очень много условий, вот некоторые:
    - сделать оформление похожим или даже копию винды (переходил с винды на Линукс, знаю, о чем говорю)
    - сделать полноценный браузер не хуже хрома/файерфокса
    - сделать офисный пакет, который будет корректно отображать файлы офиса мелкомягких

    Из этих 3х пунктов 1й можно реализовать за неделю. 2й можно реализовать, если хорошо потрудится вся активная часть разработчиков, за полгода-год.

    На 3й пункт уйдет бесконечно количество времени, ибо это будет постоянная погоня за мелкомягкими.

    -----------------
    А можно насрать на все эти "пожелания" виндузятников и продолжать разрабатывать Колибри, делая его стабильнее и качественнее, не отвлекаясь на мелочи.
  • Who is online

    Users browsing this forum: No registered users and 3 guests