Вверх ↑
Этот топик читают: Гость
Ответов: 964
Рейтинг: 12
#46: 2005-04-30 08:04:43 ЛС | профиль | цитата
|

Цитата:
Тут о версии Нiasm для ППС разговор шел но по моему
проще и полезнее версию для Линуха сделать .

Совсем не проще


КОЛ туда уже портирован - глюки есть но их ловят
(но кол вообще все еще изрядно глюкав особенно
вовремя разработки .)
FP вполне в Линуксе живет.
(Даже лучше чем ранние версии Киликса
который таскал за собой среду масдая через Wine-lib)
Оболочку ХиАсм-а можно на первых парах и через
тоже вине запускать
Дальше можно в Kylix сделать
а после уже и на Лазарус + ФР перетащить
--
ЗЫ
Кстати вчера Линух у себя восстановил
буду пробовать ставить ХайАсм под
Wine / Cedega.
Может даже попробую собрать проект
из ХайАсма ФП под Линух....

PPS
Уже проверил!
Редактор схем полностью работает под
Маndrake 9.0 KDE 3.0 + Wine (wine-cvs-unstripped-120601-1.i386)
пока не заработал но я не особенно на это и расчитвыал.
(ФП win32 из под Вине это уже слишком ! )
карма: 0

0
Ответов: 964
Рейтинг: 12
#47: 2005-05-03 01:39:21 ЛС | профиль | цитата
Набрел тут недавно:

Использование компилятора Delphi (dcc32.exe) в прикладных программах

"Хотя в названии статьи тема выглядит довольно узко, я хотел бы рассказать не только об использовании dcc32, но и о технологии, которой я дал условное название "многозвенное программирование", хотя вынести это название в заголовок статьи мне показалось неправильным. Какой смысл я вкладываю в термин "многозвенное программирование"? Начну издалека. Работу над более или менее большими программами можно разделить на два крупных этапа. Первый этап - это собственно разработка, которая включает формулировку технического задания, увязку требований заказчика, проектную фазу, итеративное уточнение структуры проекта, программирование, отладку и тестирование. Первый этап заканчивается выпуском первой версии и началом эксплуатации программы у заказчика (или у массы пользователей, если программа была разработана по собственной инициативе для распространения или продажи). Затем наступает этап сопровождения, который включает устранение обнаруживаемых ошибок, адаптацию к постоянно изменяющимся требованиям заказчика, ввод дополнительных возможностей, которые не были оговорены в исходном задании. Часто бывает так - за время сопровождения программа претерпевает настолько существенные изменения, что сопровождение ее становится делом гораздо более трудоемким и хлопотным, чем разработка.... "

--------------------------------------------------------------------------------

http://delphi.mtu-net.ru/zip/dccusing.zip
Вот еще

http://gurin.tomsknet.ru/technology.html

-----------------------------------------------------------------------------

Так сказать "смежный проет" - возможно будет полезен.

-------------------------

Вот еще кое что вероятно полезное ...

The Compilers resources page

http://www.bloodshed.net/compilers/index.html

-----------------------------------------------------------------------------------

Dev-Pascal is a full-featured integrated development environment (IDE), which is able to create Windows or console-based Pascal programs using the Free Pascal or GNU Pascal compilers. It can also handle the Insight Debugger, which you can also download here.

- Pascal compiler for Win32 (Free Pascal or GNU Pascal)
- Debugger (GDB or Insight)
- Customizable syntax highlighting
- Powerful multi-window editor with many options
- Work in source file or project mode
- Setup creator
- Create console, windows and DLL programs
- Resource file editing (menu creator...)
- Project Manager, compiler, linker and resource results
- Insert automatically Pascal codes and statements
- Makefile automatic creation
- 2 different icon sets for menus and toolbars in Dev-Pascal
- Tool manager
- Templates for creating your own project types
- Much more...

http://www.bloodshed.net/devpascal.html

Русские сорцы тут

http://openandfree.narod.ru/files/DEV_Pascal.rar
-------------------------------------------------------------------

GNU Pascal
http://www2.gnu-pascal.de/gpc/h-index.html
(Давно уже тут небыл, возможно все уже
изменилось к лучшему и глюки профиксили !)

---------------------------------------------------------------------------------

Прошу "не бить ногами" если все это уже давно известно ...
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#48: 2005-05-03 10:53:50 ЛС | профиль | цитата
AlexKir, DEV и GNU Pascal насколько мне известно менее попудярны в силу меньшей совместимости с Delphi(особенно GNU который). Кроме того KOL под них нет.
карма: 27
0
Ответов: 964
Рейтинг: 12
#49: 2005-05-05 00:32:21 ЛС | профиль | цитата
ДЕВ Это вообще не паскаль а оболочка
(IDE в самом классическом вид, с КОЛ работает)
(Поддерживает ФП и ГНУ)
НО зато в исходниках на Дельфи(или на ФР но с VCL!

ЗЫ :
Кстати, продолжаю писать "анти скрипт" дело со скрипом
но идет в том числе и благодаря Dev-Pascal IDE .
карма: 0

0
Ответов: 964
Рейтинг: 12
#50: 2005-06-27 12:50:14 ЛС | профиль | цитата
Ну на конец то появился InlineCode.
Спасибо ! Еще бы генерацию шаблона для методов .
(А то я у уже изощрялся с «анти скриптом» -
сделал но криво очень ...)
(Плюнул и просто devpascal вместо компилятора прикрутил)
Зы
Да еще вот что: как сделать чтобы модули внешние из каталога проекта
(схемы) брались ?
карма: 0

0
Ответов: 964
Рейтинг: 12
#51: 2005-06-27 16:40:26 ЛС | профиль | цитата
Да интересно вот что как InlineCode.
Умудряется работать в нескольких экземплярах ?
модуль вроде один unit HiAsmUnit;

[code:1] Add(MainForm,353019,21,105)
{
Left=20
Top=105
Width=286
Height=115
}
Add(InlineCode,10986631,91,21)
{
WorkPoints=#6:doWork|
EventPoints=#6:onWork|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|21: onWork:THI_Event;|50: procedure doWork(var _Data:TData; Index:word);|0:|5: end;|0:|14:implementation|0:|29:procedure THiAsmClass.doWork;|5:begin|27:{ ShowMessage ('Test2 !');}|28: _hi_OnEvent(onWork,'Test');|4:end;|0:|4:end.|
link(onWork,16031849:doText,[])
}
Add(Button,15653966,21,21)
{
Left=25
Top=40
Caption="Test2"
link(onClick,10986631:doWork,[])
}
Add(Label,16031849,161,21)
{
Left=140
Top=45
Width=90
Caption="------"
}
Add(InlineCode,11330402,133,63)
{
WorkPoints=#4:DoW1|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|9: public|47: procedure doW1(var _Data:TData; Index:word);|0:|5: end;|0:|14:implementation|0:|57: procedure THiAsmClass.doW1(var _Data:TData; Index:word);|9: begin|0:|30: ShowMessage ('Test1!');|8: end;|0:|4:end.|
}
Add(Button,3550959,21,63)
{
Left=5
Top=15
Width=225
Caption="Test"
link(onClick,11330402:DoW1,[(100,69)(100,69)])
}[/code:1]

зы
Интерестно еще что вроде как модальный ShowMessage допускает
повторное вхождение .
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#52: 2005-06-27 19:04:13 ЛС | профиль | цитата
Да еще вот что: как сделать чтобы модули внешние из каталога проекта (схемы) брались ?

Подробнее. О каких модулях идет речь?

Да интересно вот что как InlineCode.
Умудряется работать в нескольких экземплярах ?

Все тот же Ctrl+D дает ответ на этот вопрос. Кратко, то для каждого компонента генерируется свой код с уникальными названиями класса на основе кода, написанного пользователем по стандартному шаблону.
карма: 27
0
Ответов: 964
Рейтинг: 12
#53: 2005-06-27 22:12:03 ЛС | профиль | цитата

Подробнее. О каких модулях идет речь?


Если я в ИнлайнКоде подключаю свой модуль то его приходилось
кидать в общую кучу.

Кстати а почему вообще не сделать как в дельфи? -
где все, даже темперные файлы, создаются в каталоге проекта.
(А то у меня уже мусора в HiAsmElementsDelphicode
туча - только не стертых модулей «мультиков» штук 70.)

Насчет Ctrl+D : c такими идентификаторами как сейчас там сам черт ногу сломит!
Когда мне ОЧЕНЬ нужно залезть в код модуля
я еще в схеме меняю идентификаторы на что-то более удобоваримое
(Простая нумерация по типам осмотрится гораздо приятие.)

Зы
Надо будет утилитку накидать .
(Пригодится даже если в новой версии это изменится - старые схемы перегонять)
карма: 0

0
Ответов: 9906
Рейтинг: 351
#54: 2005-06-27 22:25:22 ЛС | профиль | цитата
"AlexKir" писал(а):
Насчет Ctrl+D : c такими идентификаторами как сейчас там сам черт ногу сломит!

Не убедительно.
Тем более, что давать конкретные пояснения к полученным кодам никто не отказывался.
Рассказывать все - получится учебник какой-то. И непонятно - то ли что надо ты рассказываешь (и теми ли словами). А разяснения по конкретным строкам кода - нет вопросов, тем более, что становится возможен обмен с уточнениями.
карма: 9

0
Администрация
Ответов: 15295
Рейтинг: 1519
#55: 2005-06-27 23:04:23 ЛС | профиль | цитата
Если я в ИнлайнКоде подключаю свой модуль то его приходилось кидать в общую кучу.

Достаточно вставить в командную строку: "-U%opath%."

Кстати а почему вообще не сделать как в дельфи? -
где все, даже темперные файлы, создаются в каталоге проекта.
(А то у меня уже мусора в HiAsmElementsDelphicode
туча - только не стертых модулей «мультиков» штук 70.)

темперные файлы на то и темперные, чтобы удалить их после работы и не засорять ими каталог. То что 70 штук не удаленных накопилось, так это опять таки из-за командной строки было.
карма: 27
0
Ответов: 9906
Рейтинг: 351
#56: 2005-06-27 23:21:12 ЛС | профиль | цитата
Достаточно вставить в командную строку: "-U%opath%."[/code]
Ну не так давно эта возможность и появилась  :) 
Да, и как при этом кодогенератор (который и формирует эти темперные файлы) может узнать этот путь :?:
И как среда (в качестве ответной меры) узнает откуда их стирать :?:.

А хранить их в своей удобнее потому, что если после запуска с Ctrl+D не было запуска без него - то никто это никогда не сотрет в любом случае (просто из-за отсутствия информации), особенно, если поменялся идент мультика в результате редактирования.
карма: 9

0
Администрация
Ответов: 15295
Рейтинг: 1519
#57: 2005-06-27 23:34:33 ЛС | профиль | цитата
Пока кодогенератор не очень нуждался в знание папки проекта. А потому стирать пока нечего и не надо
А где файлов это подумать еще надо
карма: 27
0
Ответов: 964
Рейтинг: 12
#58: 2005-06-27 23:40:04 ЛС | профиль | цитата
.

Достаточно вставить в командную строку: "-U%opath%."


Спасибо.

2 Galkov
Да это я просто к тому, что читать неудобно .
(Я если помнишь вообще поднял первым делом
бучю поводу кода, мол сам хочу разобраться. )

Кстати насчет именно Ctrl+D: я уже давно когда нужен код просто вызываю вместо компилятора редактор , так удобнее .
(Тем более сейчас это стало проще благодаря настройке компилера.)
карма: 0

0
Ответов: 9906
Рейтинг: 351
#59: 2005-06-28 00:05:41 ЛС | профиль | цитата
AlexKir, так видно же, что не во всем разобрались.
А основное назначение форума - увеличение понимания.

Ну и здесь тоже.
Не скажу что мне очень удобно разбираться в именах. Но у меня нет предложений, как по-другому генерировать уникальные имена. А имя класса в именах содержится.
А у Вас

Но не будет ничего криминального, если начнем обсуждать и необходимость этого.

Ну и последнее: основная идея HiAsm - это создание программы без кода.
Отсюда выводы, например такие:
1) Дополнительные фичи, облегчающие работу ПОЛЬЗОВАТЕЛЮ с промежуточными результатами не являются первоочередными и совсем недопустимы, если идут в ущерб визуальной работе ПОЛЬЗОВАТЕЛЯ.
2) Переход на Fasm, к примеру, не противоречит основной идее. Хотя понять ПОЛЬЗОВАТЕЛЮ коды элементов станет почти не реально. Потому-что это будет даже не АСМ, а язык определенных в HiAsm макросов. Например, многовариантных и заточенных под процесс оптимизации.
3) А вот введение аналогов IDE для кодов на Дельфи - противоречит
4) ИМХО
карма: 9

0
Ответов: 964
Рейтинг: 12
#60: 2005-06-28 00:56:44 ЛС | профиль | цитата
1) Для каждого типа элементов гнерировать по щетчику .
Можно как временные оставть те а при запмси запенить.

Вот какой-то куск схемы с заменой номеров.

[code:1] Pos(0,0)
Add(Button,1,231,147)
{
Left=20
Top=40
Width=80
Height=30
Font=[MS Sans Serif,8,0,0]
Caption="Победа !"
link(onClick,2:doEvent2,[(324,153)(324,174)])
}
Add(MainForm,3,112,168)
{
Left=20
Top=105
Width=136
Height=181
Font=[MS Sans Serif,8,0,0]
Caption="TEST1"
}
Add(Message,4,434,126)
{
Message="Ура!"
Caption="!"
Icon=5
link(Message,5:Text,[(440,83)(349,83)])
}
Add(Button,6,21,238)
{
Left=30
Top=75
Font=[MS Sans Serif,8,0,0]
Caption="Exit"
link(onClick,3:doClose,[(82,244)(82,195)])
}
Add(Edit,5,343,28)
{
Left=40
Top=110
Font=[MS Sans Serif,8,0,0]
Text=""
link(onEnter,2:doEvent1,[(380,41)(380,167)])
}
Add(Hub,2,385,161)
{
InCount=2
OutCount=1
link(onEvent1,4:doMessage,[(425,167)(425,132)])
}
[/code:1]
Даже так понятние , а для нагдядности в схеме можно нулями
дополнить . (00001,00002...) :wink:
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)