новая IDE

Планы, идеология, архитектура и т.п.

Модератор: Модераторы

Re: новая IDE

Сообщение Mikhail » 24.10.2013 16:10:04

sa_t_an писал(а):Привет, я его на zx.oberon2.ru выложил, он на делфях, вот ща весь в сомнениях, какой накатать компилер на FP 07, Active или с BB сдуть?


А можно просто переделать фронтенд FPC?
Mikhail
энтузиаст
 
Сообщения: 565
Зарегистрирован: 24.10.2013 16:06:47

Re: новая IDE

Сообщение alex_alex_alex1 » 24.10.2013 17:20:21

Kemet писал(а):ЗЫ: Заведи проект на sf или гитхабе

это нужно, может кто подключится к разработке
alex_alex_alex1
постоялец
 
Сообщения: 207
Зарегистрирован: 15.10.2010 14:08:50

Re: новая IDE

Сообщение Padre_Mortius » 24.10.2013 21:52:43

sa_t_an, я правильно понимаю, что IDE, написанная на Delphi, имеет больший функционал в отличие от версии на Lazarus?
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: новая IDE

Сообщение sa_t_an » 24.10.2013 23:11:08

Padre_Mortius
Дело в том, что на Delphi IDE в принципе не имеет никакого функционала, как и на FreePascal. :)
Просто все началось очень банально, сидел я как то сидел, кодил на PHP кодил и надоело. Открыл интернет браузер и скачал новую делфю 2006 (ака 10) и дюжа жутко она мне понравилась.
И тут мне пришла в голову шальная мысль, а не повторить то мне её на ней же самой. То есть редактор. Покопал инфу в интернете, покопал, и стал делать.
Всё бы ничего, но вот дизайнер форм оказался(на том этапе) для меня загвоздкой. Долго я её решал (недели три-четыре) и решил-разобрался.
Сам по себе ДФ бестолковая вещь, и начал я придумывать куда бы его приспособить. Из этого вышел визуальный редактор ресурсов (*.res), но ресурсы содержат картинки и иконки и курсоры,
поэтому дальше родился редактор иконок. Естественно всё это рождалось недоношеным, так как только я разбирался в первичной проблеме (формат *.res файла) я редактор иконок-курсоров-битмапов забрасывал и шел дальше. Поэтому это не одна IDE на делфи, это куча базовых IDE в которых есть редактор ресурсов(с доделанным дизайнером форм и редактором диалоговых окон), редактор bmp, jpg и т.д. файлов. Короче море IDE в которых я по одному что то прикручивал. Оно как Инспектор объектов, Инспектор проекта, Панель компонентов и т.д...
Дело в том, что целью сделать что то осмысленное у меня нет, не было и наверное не будет. Цель для меня всего этого просто банально УЗНАТЬ как оно работает.
Естественно у меня куча компонентов написанных мною, от всяких HEX редакторов и PE вьюверов, оканчивая редактором кода с подсветкой и сворачиванием (фолдингом), которые очень маленькие, стараюсь сделать сложный компонент до 5000 строк. Вот как пример пэйдж контрола в FreePascal. Не нравится мне стандартный лазаря пэйджконтрол, нарисовал свой (чего только стоил мне UPDOWN_CLASS :) ) но мне ж было интересно отследить мышку вне контрола. В винде пришлось использовать сабклассинг с передачей событий основному окну (жопа полная, так же и работает гы...)
В линуксе конечно можно взять отрисовку и отслеживание позиции мышки (я так предполагаю)... но не в этом дело.
Потом меня осенило, а почему бы не прикрутить какой нибудь компилятор раз есть редактор кода и редактор ресурсов. Прикрутил простой ассемблер (причём не бельмеса в нем не понимая).
Ну вот так постепенно, изучая разные редакторы, эмуляторы и т.д. делал IDE на делфи. Затем появился вменябельный лазарус и компилятор к нему (правда такой же как и библейский герой, как тока шо из гроба с судорогами и мертвенной бледностью, плюс несущий не себе надгробную пятитонную плиту для отладчика) Ну и попробывал на нём IDE состряпать максимально простую. В добавок увлёкся Оберонами и их синтаксисом и дюжа мне понравился активный оберон, именно по синтаксису а не по концепциям, их я до сих пор не знаю, разбираться не охота пока что :) .

Так что, если кому то, что то интересно из велосипедостроения, знайте, большую часть велосипедов я уже написал на Delphi, сейчас перешол на лазаря (недавно перекатал и исправил эмулятор BK 0010 и ZX Spectrum, так как интересно было посмотреть как это всё работает) поэтому не стесняйтесь и спрашивайте кому что надо, я всегда рад выложить исходный код в свободный доступ для пользы дела!

Ну и естественно если кто то озаботится интересной головоломкой (типа а слабо написать 3D редактор на паскале с прозрачным стеклом в примитивах) пишите, если тема интересная озаботимся вместе!!!

ЗЫ...

Забыл добавить, IDE на FreePascal и Delphi писал не дабы прославиться (??? :) ), а дабы читать исходный код на Обероне 2 (AO и O7 и иже с ними), искать поиском функции и процедуры, ну и ваще для красоты глаза, хотя мои цвета и дизайн может кого то удручать и нервировать, уж не обессудте... :)

Kemet
Дружищще, как я тебя понимаю по поводу того, как написан FPC :) :) :) я его на паскаль переписывал и то чуть не чокнулся, а ты его на обероне лепил... Тебе уже памятник надо поставить!!!
К стати вот что бы докинуть в эту IDE FreePascal, но убрать половину срани оттуда, немножко переписать сканер и парсер, об этом можно подумать. Плюс доработать компилер до состояния работы с динамической загрузкой *.ppu файлов (или какие там юниты?) что бы развить плагинно-компонентную систему без перекомпиляции IDE - тут можно подумать!!!

можно в варианте GPCP, а не BBCB
Интересно почему. Надо глянуть GPCP повнимательнее, а то я ток краем глаза.
sa_t_an
новенький
 
Сообщения: 37
Зарегистрирован: 03.10.2009 12:04:55

Re: новая IDE

Сообщение alex_alex_alex1 » 25.10.2013 00:46:53

sa_t_an писал(а):недавно перекатал и исправил эмулятор BK 0010

надо, но только вы всё под винду кодите, а надо для linux.
alex_alex_alex1
постоялец
 
Сообщения: 207
Зарегистрирован: 15.10.2010 14:08:50

Re: новая IDE

Сообщение sa_t_an » 25.10.2013 01:01:40

alex_alex_alex1
Понимаю что надо, наверное. Но я ж говорю, я свой код максимально минимизирую до размера маленькой кучки, для того, что бы разработчики под линукс, могли минимальными усилиями перенести код в другие операционные системы. Из всех линуксов мне нравится Slax, ясен прец если я под него что то прикручу и переделаю, то под убунту он скорее всего не пойдёт. Хотя я могу и ошибиться.
Сейчас я пытаюсь писать исключая из кода не кроссплатформенные модули. Но опять же повторяю, я пишу не для того, что бы это всё работало во всех ОСях, а для того, что бы я или кто нибудь ещё просто понял алгоритмы работы исходника и уже затем попытался перенести этот код на другую платформу.

Ну вот давайте посмотрим, вот тут http://zx.oberon2.ru/forum/viewtopic.php?f=10&t=117 эмулятор ZX Spectrum, попробуйте его скомпилировать для линукс. По идее там кроссплатформенный (?) компонент BRGABitmaps а остальное просто форма стандартная и сканлайн процедура, по идее создайте форму в линуксе и перенесите процедуры отрисовки в эту форму и должно пойти...
Если получится, то можно попытаться пойти дальше (в этом эмуле нет звука, в BK 0010 уже есть) и перекодить эмулятор BK 0010 под линукс!!!

К стати тут наверняка есть линуксоиды которые смогут помочь перенести код!
Я посмотрю как все это выглядит в Slax linux и попробую уже сделать исправления в исходниках которые выкладываю для кроссплатформенных решений! :)
sa_t_an
новенький
 
Сообщения: 37
Зарегистрирован: 03.10.2009 12:04:55

Re: новая IDE

Сообщение alex_alex_alex1 » 25.10.2013 01:18:02

Нет, там тоже под винду:
Код: Выделить всё
ZX80VM.pas(49,3) Fatal: Can't find unit Windows used by ZX80VM
alex_alex_alex1
постоялец
 
Сообщения: 207
Зарегистрирован: 15.10.2010 14:08:50

Re: новая IDE

Сообщение sa_t_an » 25.10.2013 01:25:41

Попробуйте найти в файле ZX80VM.pas вот такую строку
Код: Выделить всё
uses
  Windows, Sysutils, mmsystem;

и переписать её вот так
Код: Выделить всё
uses
  Sysutils, mmsystem;

то есть убрать подключаемый модуль Windows

Я просто не в курсе mmsystem кросс или нет, но в нем есть функция timeGetTime, если найти аналог этой функции для линукс, то проблема должна решиться. Это если mmsystem - не кросссплатформенна!

Кстати timeGetTime используется для задержки отрисовки, если закомментировать часть кода связанную с этим модулем, всё работает, только очень быстро :)
sa_t_an
новенький
 
Сообщения: 37
Зарегистрирован: 03.10.2009 12:04:55

Re: новая IDE

Сообщение alex_alex_alex1 » 25.10.2013 09:00:29

Код: Выделить всё
ZX80VM.pas(49,13) Fatal: Can't find unit mmsystem used by ZX80VM

Поэтому смотрите в linux сами и корректируйте все исходники. Исходники стоит выложить все имеющиеся под контроль версий - сейчас же разбросано всё везде архивами. И изменения не отследить, и не понятно чего надо, а чего нет. И не подключится так никто, а будет проект - будут и желающие.
alex_alex_alex1
постоялец
 
Сообщения: 207
Зарегистрирован: 15.10.2010 14:08:50

Re: новая IDE

Сообщение sa_t_an » 27.10.2013 11:11:58

Так парни, ушли от темы но интересно :D .

Давайте тогда вернёмся в тему, ну хотя бы иногда.
Итак:
IDE заинтересовались, проблема в кросс платформенности. Давайте тогда попробуем сделать для начала кросс контролы. Если кто поможет установить Lazarus для Slax (Slax.org - LiveCD на основе Slaxware) буду признателен, там есть старый модуль лазаря, а новый слакс 32 и 64 битный, поэтому алгоритм установки будет стандартный. Просто я ниразу не устанавливал в линухе ничего.

Я сделаю базовые компоненты без отрисовок, просто голые болванки (в частности PageControl) и для начала можно сделать многостраничный блокнот с подсветкой.

Ну а потом уже будем лепить и думать дальше!

ЗЫ...
Кстати я попробую в картинках описать слабые места (в Windows) пэйджконтрола, мож вместе продумаем варианты их решений без костылей!
sa_t_an
новенький
 
Сообщения: 37
Зарегистрирован: 03.10.2009 12:04:55

Re: новая IDE

Сообщение Mirage » 27.10.2013 12:04:57

Вот самый простой способ поставить Lazarus:
http://www.pilotlogic.com/sitejoom/index.php/codetyphon
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: новая IDE

Сообщение sa_t_an » 27.10.2013 12:41:10

Mirage Спасибо, почитаю.

Добавил контрол, попробуйте пожалста на Linux протестировать!
Вложения
PageCtrl.zip
(128.53 КБ) Скачиваний: 890
sa_t_an
новенький
 
Сообщения: 37
Зарегистрирован: 03.10.2009 12:04:55

Re: новая IDE

Сообщение bormant » 27.10.2013 13:02:43

sa_t_an писал(а):Если кто поможет установить Lazarus для Slax (Slax.org - LiveCD на основе Slaxware) буду признателен
Для Slax 7 32-бит можно пойти таким путём:
Код: Выделить всё
# M=http://sourceforge.net/projects/lazarus/files/Lazarus%20Linux%20i386%20RPM/Lazarus%201.0.12
# wget $M/fpc-2.6.2-0.laz.i686.rpm $M/fpc-src-2.6.2-0.laz.i686.rpm $M/lazarus-1.0.12-0.i686.rpm
# slax activate rpm2tgz
# rpm2tgz *.rpm
# tar xf fpc-src-*tgz
# cd fpc-src-*/
# dir2sb . ../fpc-src-2.6.2-0.laz.i686.sb
# cd ..
# tgz2sb fpc-2*.tgz
# tgz2sb lazarus-*.tgz
# rm -r *.rpm *.tgz fpc-src-*/
# mv *.sb /mnt/live/memory/data/modules/
Пора перезагрузиться.
Осталось обеспечить правильный /usr/bin/fpc/fpc.cfg.

Для Slax 7 64-бита отличия незначительные:
Код: Выделить всё
# M=http://sourceforge.net/projects/lazarus/files/Lazarus%20Linux%20x86_64%20RPM/Lazarus%201.0.12
# wget $M/fpc-2.6.2-0.laz.x86_64.rpm $M/fpc-src-2.6.2-0.laz.x86_64.rpm $M/lazarus-1.0.12-0.x86_64.rpm
# slax activate rpm2tgz
# rpm2tgz *.rpm
# tar xf fpc-src-*tgz
# cd fpc-src-*/
# dir2sb . ../fpc-src-2.6.2-0.laz.x86_64.sb
# cd ..
# tgz2sb fpc-2*.tgz
# tgz2sb lazarus-*.tgz
# rm -r *.rpm *.tgz fpc-src-*/
# mv *.sb /mnt/live/memory/data/modules/
Последний раз редактировалось bormant 27.10.2013 14:46:08, всего редактировалось 2 раз(а).
Аватара пользователя
bormant
постоялец
 
Сообщения: 407
Зарегистрирован: 21.03.2012 11:26:01

Re: новая IDE

Сообщение sa_t_an » 27.10.2013 21:56:34

bormant писал(а):Осталось обеспечить правильный /usr/bin/fpc/fpc.cfg.


Спасибо, всё отлично установилось, вопрос про fpc.cfg, можно пожалуйста скинуть этот файл сюда, а то я что то не могу его сделать. Всё равно пишет 'файл не найден'.

И если можно, научите как драйвера поставить на Intel HD?
Последний раз редактировалось sa_t_an 27.10.2013 22:11:50, всего редактировалось 1 раз.
sa_t_an
новенький
 
Сообщения: 37
Зарегистрирован: 03.10.2009 12:04:55

Re: новая IDE

Сообщение MiniQ » 31.10.2013 12:17:44

скомпилировал, запустил, вышел и опаньки
"Проект Ide вызвал класс исключения 'External:SIGSEGV'. По адресу 51D75F"
MiniQ
новенький
 
Сообщения: 81
Зарегистрирован: 28.01.2013 16:31:55

Пред.След.

Вернуться в Разработки на нашем сайте

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

Рейтинг@Mail.ru