MSE (среда визуального программирования)

MSE (среда визуального программирования)
MSEide+MSEgui
Msegui.png
Mse.Screenshot.Basic.Layout.jpg
Тип

IDE

Разработчик

Martin Schreiber

Написана на

Pascal

Операционная система

Linux и др. UNIX-подобные, Windows

Последняя версия

2.8.2 (1 апреля 2012[1])

Состояние

активное

Лицензия

GNU GPL, GNU LGPL

Сайт

www.msegui.org

MSE — среда визуального программирования с использованием компилятора Free Pascal. Состоит из библиотеки визуальных компонентов MSEgui и редактора форм и исходных текстов MSEide.

В отличие от, например, проекта Lazarus, MSE не ориентируется на совместимость с Delphi VCL, что в некоторых случаях упрощает разработку и освобождает от громоздкости.

Имеет: встроенный отладчик, подсветку синтаксиса, автозавершение полей классов, навигацию по коду, генератор отчётов и т. д.

Содержание

Особенности и преимущества

Юникод

Во всех компонентах используется Юникод. Также юникод используется и при печати, что позволяет в одном выходном документе выводить символы нескольких кодировок. Исходные тексты тоже могут быть в юникоде, что позволяет использовать текстовые константы без проблем переносимости между Win32 и Linux.

Печать

Имеет несколько механизмов печати :

  • в выходном формате PostScript (Win32 и Linux);
  • прямая печать GDI-принтер (естественно — только для Win32);
  • в «contributed» — есть класс для текстовой печати в выходной кодировке CP866 (Russian DOS), со спецметодами форматирования (урезание, автоперенос, заполнение) столбцов, и рисования рамок — как псевдографических, так и упрощенных (из символов «|-+»);

Базы данных

Особый акцент сделан на разработку приложений для работы с БД

  • доступ к БД на PostgreSQL, MySQL, SQLite и Firebird без промежуточных драйверов
  • доступ к БД на Oracle, MSAcess, ASA, DB2 и прочим — при наличии исходников промежуточной библиотеки ZeosDBO
  • имеет очень мощный компонент TMSESQLQuery, который предоставляет
    • чтение и запись БД через SQL-запросы, включая SQLite3
    • реализация «FieldDefs» позволяет вручную назначить типы полей выборки, если они определились некорректно (очень полезно для SQLite3)
    • параметрические запросы
    • автогенерация запросов изменения данных
    • возможность прозрачной замены автоматически снегерированных запросов на «свои»
    • автоопределение уникальных индексов и автоназначение ключевых полей по найденному PRIMARY-индексу
    • оффлайновый режим для модификации данных после разрыва соединения, с записью при восстановлении соединения
    • локальный режим, заменяющий TMemDataset
    • локальные индексы на всех типах полей, кроме MEMO/BLOB (с авто-переупорядочением выборки при активации индекса) и фильтрация, эти индексы могут быть составными
    • оффлайновый и локальный режимы имеют возможность хранить данные (включая BLOB и картинки) в локальном файле
    • выборка, кэширование и запись BLOB-полей
    • юникодная перекодировка на лету
    • раздельные транзакции для чтения и записи
    • опциональный фиктивный режим транзакций (очень полезен для SQLite3 и прочих БД, в которых невозможны вложенные транзакции)
    • опциональное автоподтвержение транзакции после записи изменений
    • опциональная перевыборка данных после подтверждения транзакции
    • компонент TDBWidgetGrid :
      • позволяет разместить списки выбора, логические переключатели, изображения и т. п. прямо в ячейках таблиц
      • позволяет разместить в фиксированных строках (header и footer) практически любые виджеты, что удобно для реализации переключателей сортировки, режимов и т. п.
      • позволяет объединять ячейки в фиксированных строках
      • предоставляет автонумеруемые фиксированные столбцы
  • экономный режим работы БД-таблиц, когда таблица «держит» в памяти только минимально необходимую порцию данных
  • компонент TDBLookupBuffer позволяет скопировать одно или несколько полей выборки в сверхбыстрый буфер памяти, используемый для обслуживания списков выбора, поиска одного поля через другое и прочих операций, не вызывая при этом ренавигации и прочих нежелательных эффектов в выборке
  • каждый тип данных имеет свой компонент для ускорения обращения к полям (если доступ через «FieldByName» оказывается медленным)
  • компонент для работы с автоинкрементными полями (очень полезен для вставке данных в режиме «мастер -детали»)
  • компоненты для прозрачной увязки таблиц «мастер-детали»

Библиотеки

Полностью сама отрисовывает компоненты. Например, в GNU/Linux не использует никаких сторонних виджетов — в Linux работает напрямую с Xlib, в Windows: использует только функции API. Адаптирует встроенную палитру к не-TrueColor режимам экрана с малым количеством цветов (255 и менее)

Базовым классом для элементов GUI является twidget. В отличие от Delphi MSEgui не делает различия между простыми графическими элементами и элементами, которые могут получить фокус ввода — всем виджетам доступен весь функционал класса twidget.

Экземпляры twidget имеют два важных свойства — twidget.frame и twidget.face.

  • frame ответственен за рамку вокруг рабочей области элемента — это может быть как «стандартная» псевдотрёхмерная рамка, так и некая составная конструкция, собираемая из растровых элементов.
  • face отрисовывает фон рабочей области GUI элемента — позволяет отображать цветовые градиенты, растровые изображения и использовать полупрозрачность.

Cвойства frame и face можно задавать централизовано, используя tframecomp и tfacecomp — что упрощает использование «скинов».

Для редактирования данных исходных данных простых типов в MSEgui доступны специализированные виджеты (tintegeredit, trealedit, tdatetimeedit…). Главное свойство-обработчик сообщений этих виджетов — onsetvalue, через него задаётся реакция виджетов на пользовательский ввод.

В отличие от Lazarus, MSEgui позволяет наследование визуальных форм и создание MDI-приложений.

Лицензия

Бесплатная, с открытыми исходниками. Оболочка распространяется под лицензией GNU GPL, библиотека — под модифицированной GNU LGPL с возможностью прилинковки к закрытым проектам.

См. также

Примечания

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Полезное


Смотреть что такое "MSE (среда визуального программирования)" в других словарях:

  • MSE — MSE: Microsoft Security Essentials  бесплатный пакет антивирусных приложений от компании Microsoft MSE (среда визуального программирования)  на FreePascal Mean Square Error  средний квадрат ошибки определения какой либо величины,… …   Википедия

  • Delphi (среда разработки) — У этого термина существуют и другие значения, см. Delphi. Embarcadero Delphi …   Википедия

  • Интегрированная среда разработки — У этого термина существуют и другие значения, см. IDE. Интегрированная среда разработки, ИСР (англ. IDE, Integrated development environment или integrated debugging environment)  система программных средств, используемая программистами… …   Википедия

  • JBuilder — скриншот JBuilder 2005 Тип Интегрированная среда разработки Разработчик …   Википедия

  • Microsoft Visual Studio — Внешний вид Visual Studio 2008 SP1 с программой на языке C# в Windows Vista …   Википедия

  • Visual Studio — Microsoft Visual Studio …   Википедия

  • PowerBASIC — Имеется викиучебник по теме «PowerBASIC» …   Википедия

  • Ultimate++ — Ultimate++ …   Википедия

  • JDeveloper — Тип Java IDE Разработчики Oracle Написана на Java Операционная система кроссплатформенная Последняя версия 11g (11.1.2.0.0) (2011 06 06) Лицензия …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»