JEDI project
Назначение проекта
JEDI project это инициатива Delphi сообщества по созданию библиотеки, которая бы давала бы в руки Delphi разработчика мощные инструменты по решению широкого спектра задач, связанных как с общеприкладными (разбор математических выражений,работа со строками,работа с памятью и файлами ) так и системного программирования(портирование новых Windows API на Delphi ).
Условия распространения и использования
JEDI является открытым проектом. Распространяется под лицензией MPL. Это обстоятельство позволяет ее свободно использовать в opensource/коммерческих проектах, модифицировать, передавать. Пополняется библиотека усилиями всего сообщества.
Направления работы JEDI
Основная цель дать Delphi разработчикам набор заголовочных файлов для работы с Windows API. При том разработчики преследует цель портирования не всего Windows SDK, а лишь наиболее используемой и полезной его части
Реализует работу с API безопасности Windows. Контроль учетных записей, ACL списки и т.д.
Это проект объединяющий весь код JEDI
Это направление отвечает за портирование системных функций и иных важных инструментов разработки Linux.К сожалению из-за фактичечской смерти Kylix, эта ветвь JEDI то же замерла
- JEDI Visual Component Library.
Включает в себя визуальные компоненты для VCL разработанные проектом JEDI
- JEDI Version Control System
Это проект по разработке собственной системы CVS,основанной на FreeVCS.
- JEDI-SDL
Этот проект призван облегчить разработку игр и др. графических приложений на Object Pascal Эта разработка может быть применена в Delphi, Kylix, Free Pascal, Gnu Pascal и TMT Pascal
- T o o l s a n d H e l p e r s
Здесь собраны различные библиотеки по работе с мультимедиа,контролю ошибок,взаимодействию с DirectX
- JEDI Quicktime Project
Этот набор библиотек, компонентов предоставляет Pascal разработчику доступ к мультимедиа API для Macitosh под названием Quicktime.Основная идея этого проекта предоставить Delphi разработчику возможность использовать элементы интерфейса QT.
Категории задач решаемых JEDI
- Containers
Реализует абстратктные интерфейсы для потокобезопасных объектов, таких как списки и т.д. 1)Интерфейсы: IJclIterator, IJclIntfCollection, IJclCollection, IJclIntfList, IJclList, IJclIntfArray, IJclArray, IJclIntfSet, IJclSet, IJclIntfTree, IJclTree, IJclIntfIntfMap, IJclMap, IJclIntfQueue, IJclQueue, IJclSortedMap, IJclIntfSortedSet, IJclSortedSet, IJclIntfStack, IJclStack, IJclStrIterator, IJclStrCollection, IJclStrList, IJclStrSet, IJclStrTree, IJclMultiIntfIntfMap, IJclStrIntfMap, IJclStrStrMap, IJclStrMap, IJclStrStrSortedMap, IJclStrStack, TJclTraverseOrder 2)Классы реализующие: хеш-таблицы, ассоциативные массивы, векторы, стеки, очереди, массивы, ordered sets.
- Date and time
Реализует работу со временем средствами WinAPI. Предоставляет классы для разработки планировщика задач.
- Debugging
Позволяет посылать сообщение отладчику,перехватывать ошибки, читать map-файлы, локализовать ошибки
- Разбор выражений
Позволяет анализировать математические выражение, компилировать функции на их основе