User Tag List

Показано с 1 по 10 из 11

Тема: Объектно-ориентированные принципы на С

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Как шутят в народе, "У дураков мысли сходятся".

    Очень правильный подход к разработке, почему-то тут редко встречаемый. Делал похожее и тоже на С для CP/M когда экспериментировал с IDE/FAT:
    - экран VT52 с собственной текстовой буферизацией чтобы организовывать буфер окон без лазания в видео-ОЗУ или в какие-то расширенные свойства VT-52 (использую только базовые искейпы VT - вывод символа, основные очистки экрана/строк и позиционирование курсора) отчего программа нормально отображается даже в Hyperterm Windows если заломиться им с Винды в CPM Ориона по RS-232 (модуль screen.c)
    - псевдообъектное программирование на структурах и адресах процедур (типа методы), "наследование" - расширением родительской структуры новыми членами и обращение к методам через typecast.
    - "объекты" оконные (стек окон есть) и не оконные (типа TStrings), оконным можно рассылать сообщения (messages) а-ля как у Борланда в VCL было сделано и эти сообщения обрабатывать в тех "классах" (windows.h, controls.h), основной цикл оконного приложения выглядит прям как в VCL CBuilder
    Код:
    void ApplicationLoop()
    {
      short Msg;
      short Param;
      while (GetMessage(&Msg, &Param)) {
        SendMessage(ActiveWindow(), Msg, Param);    /* DispatchMessage(&Msg); */
      }
    }
    - сделал несколько оконных объектов (Окна модальные и немодальные, листбокc, кнопка) - минимум для двухпанельного коммандера, и сам коммандер - оболочку над популярной FatFS от ELM Chan - моего порта под CP/M (menu2.c, menu1.c). Очень понравилась получившаяся организация труда: вместо намолачивания функционала "по месту", заранее пишешь объекты со свойствами, а далее в командере назначаешь их связи, и любое изменение (например количество столбцов в панели=листбоксе - full/brief, или количество кнопок на форме) уже элементарно: присвоил свойству значение, вызвал Object.Update() и всё заверте....

    ЗЫ. Как там наш ESP-адаптер?
    Последний раз редактировалось Error404; 28.04.2018 в 13:18.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 7
    Последнее: 24.11.2013, 17:07
  2. Ответов: 180
    Последнее: 21.12.2008, 19:30

Ваши права

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