- MSE (среда визуального программирования)
-
MSEide+MSEgui Тип Разработчик Martin Schreiber
Написана на Операционная система Linux и др. UNIX-подобные, Windows
Последняя версия 2.8.2 (1 апреля 2012[1])
Состояние активное
Лицензия Сайт 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 с возможностью прилинковки к закрытым проектам.
См. также
Примечания
Ссылки
- Официальный сайт MSEide+MSEgui.
- Проект MSEide+MSEgui на SourceForge.net.
- MSEide+MSEgui на FreePascal.ru.
- Вадим Станкевич MSEIDE и MSEGUI. Критический обзор // Компьютерные вести. — 2008. — № 4.
IDE (сравнение) Универсальные Anjuta • Visual Studio • NetBeans • Eclipse • KDevelop • Xcode • Geany • MonoDevelop • Aptana Studio • Open Watcom • Komodo • Kylix
Си/C++ Borland C++ • C++ Builder • Code::Blocks • CodeLite • wxDev-C++ • Pelles C • Oracle Solaris Studio • Qt Creator • Ultimate++ • Microsoft QuickC
Бейсик PowerBASIC • Turbo Basic • Visual Basic • QBasic • QuickBASIC • PureBasic
Java WebLogic • BlueJ • DrJava • Greenfoot • JCreator • JDeveloper • IntelliJ IDEA • JBuilder • JGRASP
Паскаль Delphi • Lazarus • MSE • PascalABC.NET • MIDletPascal • PocketStudio • Morfik • Turbo Pascal • QuickPascal • Visible Pascal • Geany
PHP Aptana Studio with PHP plugin • Delphi for PHP (RadPHP) • Eclipse PDT • Zend Studio • NuSphere PhpED • PHP Expert Editor • phpStorm • Adobe Dreamviewer
Python ActionScript Adobe Flash • Adobe Flash Builder • FlashDevelop • CodeDrive • IntelliJ IDEA • Eclipse FDT • Realaxy ActionScript Editor
Ruby Pascal Диалекты Clascal • Concurrent Pascal • Delphi • Pascal • Object Pascal • Oxygene • SuperPascal
Компиляторы Коммерческие C/AL • Delphi • Delphi Prism (Oxygene) • FrameworkPascal • HP Pascal • IP Pascal • PocketStudio • Prospero Pascal
Бесплатные ACK • Free Pascal • GNU Pascal • MIDletPascal • Pic Micro Pascal • Turbo51 • Vector Pascal[1]
Неподдерживаемые JRT • Microsoft Pascal • Object Pascal (Apple) • Pascal/MT+ • THINK Pascal • Turbo Pascal • UCSD Pascal • Virtual Pascal
IDE Delphi • Lazarus • MSEide+MSEgui • PascalABC.NET
Персоны Никлаус Вирт • Ларри Теслер (англ.) • Андерс Хейлсберг
Инструменты разработки элементов графического интерфейса Низко-
уровневыеMacintosh Toolbox/Carbon • Windows API • Intrinsics • Intuition • Xlib
Высоко-
уровневыеAmiga OS BOOPSI • Magic User Interface • Zune • ReAction GUI
Mac OS и
Mac OS XCocoa • MacApp • MacZoop • PowerPlant
Microsoft
WindowsUNIX, под X Кросс-
платфор-
менныеНа основе Flash ASWing • Adobe Flex • Gnash • SWF2EXE Software
На основе XML,
AJAX или SVGAmple SDK • CougarXML • Dojo Toolkit • Echo • ExtJS • GladeXML • Google Web Toolkit • jQuery • Lively Kernel • MooTools • Pyjamas • qooxdoo • Rialto Toolkit • script.aculo.us • XML User Interface • XUL • Yahoo! UI Library
На основе Java На основе
C или C++Agar • CEGUI • Component Library for Cross Platform • dlib C++ Library • FLTK • FOX toolkit • OpenGL User Interface Library • GTK+ • IUP • Juce • JX Application Framework • Qt • TnFOX • Visual Component Framework • wxWidgets • YAAF • XForms • XVT • Ultimate++
На основе Common Lisp CAPI • Common Graphics • CLIM • McCLIM • Garnet
На основе Pascal IP Pascal • Lazarus • fpGUI • FireMonkey
На основе Python На основе Objective C На основе других Категории:- Программное обеспечение по алфавиту
- Free Pascal
- Свободные интегрированные среды разработки
- Свободные библиотеки программ
- Библиотеки виджетов
- Программное обеспечение для Linux
- Программное обеспечение для Windows
- Интегрированные среды разработки
Wikimedia Foundation. 2010.