Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Сб дек 16, 2017 6:38 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 48 сообщений ]  На страницу 1 2 3 4 След.
Автор Сообщение
 Заголовок сообщения: FreePascal
СообщениеДобавлено: Ср мар 26, 2008 7:33 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт мар 01, 2007 4:16 pm
Сообщения: 426
Это более конкретная тема нежели: viewtopic.php?f=9&t=524
Здесь будут осуждаться вопросы сборки RTL для KolibriOS, а так же своих программ. На данный момент, к сожалению, работа с FreePascal освещенна очень скудно. Разобраться конечно можно, если быть достаточно упорным в своем стремлении.

На местном FTP (ftp://kolibrios.org/pub/compilers/fp/) можно найти:
  • fp220rtl-src - оригинальные исходники FP RTL (необходимы для самостоятельноной сборки RTL KOS).
  • fp220rtl-bin-... - собранный RTL для KOS (бинарные модули).

На местном SVN (http://www.kolibrios.org/repos/programs/develop/fp/) лежит исходники RTL для KOS, утиль и примеры, но я сейчас несколько забросил обновление этого репозитория так как грядет некоторая реструктуризация каталогов, а так же механизна сборки RTL и примеров.

..bw


Последний раз редактировалось bw Пн мар 31, 2008 2:07 am, всего редактировалось 2 раза.

Вернуться к началу
 Заголовок сообщения: Re: FreePascal
СообщениеДобавлено: Чт мар 27, 2008 7:57 pm 
Не в сети

Зарегистрирован: Ср дек 19, 2007 11:43 am
Сообщения: 9
bw, не могу разобраться, как получить .pp-файл. Подскажи, где искать?


Вернуться к началу
 Заголовок сообщения: Re: FreePascal
СообщениеДобавлено: Чт мар 27, 2008 10:04 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт мар 01, 2007 4:16 pm
Сообщения: 426
Что значит получить? Берешь любимый текстовый редактор и пишеш Pascal или ObjectPascal код. Если тебе больше нравится можешь создавать .pas, .foo, .bar, .mysourcecode и т.д. Это просто расширение файла с исходными кодами, которое принято в сообществе FreePascal.

..bw


Вернуться к началу
 Заголовок сообщения: Re: FreePascal
СообщениеДобавлено: Сб мар 29, 2008 8:24 pm 
Не в сети

Зарегистрирован: Ср дек 19, 2007 11:43 am
Сообщения: 9
bw, скомпилировал слудующую программу заполнения массива:
Const n=24;
Type MyArray = Array [1..n] Of Integer;
Var i: Integer; a: MyArray;
Procedure fill;
Begin
For i:=1 To n Do
Begin
a[i]:=Random(24);
WriteLn (i,'. ',a[i]);
End; End;
Begin
fill;
ReadLn;
End.

При исполнении в Колибри получается какая-то ерунда - постоянно одни и те же значения, причем 6 вместо 24.


Вернуться к началу
 Заголовок сообщения: Re: FreePascal
СообщениеДобавлено: Вс мар 30, 2008 11:03 pm 
Не в сети

Зарегистрирован: Чт фев 07, 2008 4:26 pm
Сообщения: 13
А что делает fill?
Проблема в рандоме. Особенность ли это колибри или сего паскаля мне не ясно. А там есть что-то типа randomize timer?

_________________
С Уважением, Альберт Перельман


Вернуться к началу
 Заголовок сообщения: Re: FreePascal
СообщениеДобавлено: Вс мар 30, 2008 11:30 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн апр 16, 2007 6:38 pm
Сообщения: 1222
там есть просто randomize, и чел этого не делает! last_day, ты забыл randomize!

_________________
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!


Вернуться к началу
 Заголовок сообщения: Re: FreePascal
СообщениеДобавлено: Пн мар 31, 2008 1:27 am 
Не в сети
Аватара пользователя

Зарегистрирован: Чт мар 01, 2007 4:16 pm
Сообщения: 426
last_day, у меня проблем не возникло. Код отработал как под линухом, так и в колибри. Вышли мне получившийся kex.

p.s. Предлагаю прекратить флуд. last_day, ReadLn не реализована, о чем мы с тобой уже говорили. Randomize реализован, но на svn этого кода еще нет. Сейчас я выложу на местный ftp бинарные модули RTL, попробуй использовать их, а не собирать из исходников svn.

..bw


Вернуться к началу
 Заголовок сообщения: Re: FreePascal
СообщениеДобавлено: Пн мар 31, 2008 7:04 am 
Не в сети

Зарегистрирован: Чт фев 07, 2008 4:26 pm
Сообщения: 13
> У меня проблем не возникло
> Randomize реализован, но на svn этого кода еще нет.

Ппц. А в чём тогда спор, last_day ставь апдейты и всё будет ok

_________________
С Уважением, Альберт Перельман


Вернуться к началу
 Заголовок сообщения: Re: FreePascal
СообщениеДобавлено: Пн мар 31, 2008 5:02 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт мар 01, 2007 4:16 pm
Сообщения: 426
Я вижу проблему только в этом: > На местном SVN (http://www.kolibrios.org/repos/programs/develop/fp/) лежит исходники RTL для KOS, утиль и примеры, но я сейчас несколько забросил обновление этого репозитория так как грядет некоторая реструктуризация каталогов, а так же механизна сборки RTL и примеров.
Возможно код с svn, которым пользовался last_day, был кривой, но на сколько я помню random был реализован в первые дни, так как там реализовывать особенно нечего, а вот randomize я сделал только вчера-сегодня. Вобщем то я и вопрос не до конца понял. Одни и теже значения в одном цикле или при каждом перезапуске программы, если второе, то нужно вызывать Randomize при запуске приложения, если первое, то это непонятный мне косяк, смотри первый пост.

..bw


Вернуться к началу
 Заголовок сообщения: Re: FreePascal
СообщениеДобавлено: Вт июн 02, 2009 5:16 pm 
Не в сети

Зарегистрирован: Вт апр 14, 2009 7:33 am
Сообщения: 83
Привет!

Собираюсь качать Фри Паскаль для доса, он сойдет? Для виндоса много весит.
http://www.freepascal.org/down/i386/go32v2-russia.var
Вот эти собираюсь:

You can download the contents of the above zip files as separate files:

1. Mandatory files:
* Install program: install.exe (352 kB)
* ...and its data file install.dat (24 kB)
* Base files (program and units): basedos.zip (4 MB)
* GNU as and ld: aslddos.zip (1 MB)

# Optional files:

* Free Vision units: ufvdos.zip (558 kB)
* GDB interface units: ugdbdos.zip (35 kB)
* Regular expressions unit: uregdos.zip (28 kB)
* IDE: idedos.zip (1.5 MB)
* GNU debugger, gdb: gdbdos.zip (901 kB)
* Unit Graph: ugrphdos.zip (126 kB)
* Hash units: uhashdos.zip (40 kB)
* Free Component Library (FCL)-base units: ufclbdos.zip (450 kB)
* Free Component Library (FCL)-datasets units: ufclddos.zip (559 kB)
* Free Component Library (FCL)-FPCUnit units: ufcludos.zip (208 kB)
* Free Component Library (FCL)-images units: ufclidos.zip (460 kB)
* Free Component Library (FCL)-network units: ufclndos.zip (8 kB)
* Free Component Library (FCL)-Pascal source processing units: ufclsdos.zip (189 kB)
* Free Component Library (FCL)-registry units: ufclrdos.zip (58 kB)
* Free Component Library (FCL)-process management units: ufclpdos.zip (23 kB)
* GD library interface units: ulgddos.zip (17 kB)
* Symbolic (unit for parsing and evaluating expressions): usymbdos.zip (62 kB)

И того: 14 700 Кб

Подскажите пожалуйста которые можно убрать?

Или где скачать Про Паскаль? И ее Юниты?


Вернуться к началу
 Заголовок сообщения: Re: FreePascal
СообщениеДобавлено: Ср июн 03, 2009 6:08 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт мар 01, 2007 4:16 pm
Сообщения: 426
1. Нужен сам компилятор (35Mb).
2. Нужны исходники RTL и прочие (22Mb).
3. Нужен мой код (сущие копейки).

Так как с недавних пор у меня безлимит, я попробую (постараюсь за неделю уложиться) скомпоновать всё что требуется в несколько архивов (компилятор + сорцы) и выложить на местном FTP. Вообще я давненько не занимался KOS и FPC для неё, нехорошо. Подождите.
Если вас вообще интересует Pascal, я всё же рекомендую скачать полную версию для винды (или линуха, как в моём случае) и поупражняться в оной среде (прежде чем программить под KOS). Полный набор исходников - это отдельный интерес, он не увсех возникает.

Про ProPascal мне ничего не известно. Вроде здесь неподалёку была про него тема. Под Linux версии нет, а такой вариант меня не устраивает.

..bw


Вернуться к началу
 Заголовок сообщения: Re: FreePascal
СообщениеДобавлено: Вт июн 30, 2009 2:01 pm 
Не в сети

Зарегистрирован: Вс июн 28, 2009 9:04 am
Сообщения: 5
FreePascal - это, конечно, хорошо.
Я, если очень мягко сказать, новичок в KolibriOS (хотя идея мне нравится, в качестве начала подойдёт), да и не ассемблерщик (увы, ассемблером для x86 я могу слегка пользоваться лишь строго по инструкции, хотя у меня и был небольшой опыт работы/баловства с мнемокодом системы команд 8080/КР580), но в среде FreePascal (и под linux, и под win32, и под win64) и особенно Lazarus я уже не новичок (хотя, к сожалению, большая часть моих задумок там переписывалась с нуля).
Без проблем адаптировал Ваш RTL под текущую svn-версию fpc, собрал примеры.
Теперь идея пойти дальше: адаптировать классы GUI, в частности, есть такой проект fpgui. Сам по себе он уже обеспечивает VCL-подобные классы ("кнопочки" он отрисовывает сам!), кроме того, его интерфейс есть в IDE Lazarus. Да, конечно, за счёт модуля classes получится нечто монстроподобное, но, возможно, есть смысл урезать этот модуль.
Начал первые попытки по созданию kos-интерфейса. Возникли вопросы:
1. Как я понял из описания API, в kolibrios действует идеология "одно окно - одно приложение". В принципе, идея уменьшения количества окон весьма интересна, но неужели всё так плохо? Т.е., либо следует забыть о многооконных программах (вроде того же fpgui designer), либо придумывать "хаки" с "липовыми" приложениями, создающими вспомогательные окна (в принципе, это возможно и даже не так сложно сделать через IPC, над этим можно подумать, но как это загрузит систему?), либо создавать что-то по типу MDI (окна в окне)...
2. Не нашёл функции отслеживания местоположения и размера окна. Вероятно, все перемещения и изменения размера должно отслеживать приложение?
Извините, если написал глупость или не нашёл очевидного - знаком с kos меньше недели.


Вернуться к началу
 Заголовок сообщения: Re: FreePascal
СообщениеДобавлено: Вт июн 30, 2009 2:15 pm 
Не в сети

Зарегистрирован: Вс июн 28, 2009 9:04 am
Сообщения: 5
Извините за п.2 - он решается функцией 9


Вернуться к началу
 Заголовок сообщения: Re: FreePascal
СообщениеДобавлено: Вт июн 30, 2009 2:38 pm 
daesher
п.1 Смотря что рассматривать под приложением. На самом деле один поток может иметь одно окно, но в одном адресном пространстве может размещаться несколько потоков: Функция 51 - создать поток. Причем каждый из этих потоков воспринимается системой как самостоятельное приложение, но поскольку они имеют одно общее адресное пространство, то могут легко между собой взаимодействовать. Но тут возникает ограничение вообще - 255 потоков (1 поток ядра есть всегда) и соответственно 255 окон максимум. На практике могут возникнуть не известные ранее проблемы, потому что никто раньше не делал такого. Например когда я писал zSea мне пришлось предусмотреть убивание дочерних (в логическом разумеется плане, потому что система не различает какой поток дочерний, а какой прародитель) в основном потоке, перед завершением основного. Иначе окна просто остаются висеть и их приходится убивать вручную. Итого имеем приложение zSea кроме основного имеющее еще 6 дочерних окон. Других примеров пока нету.


Вернуться к началу
   
 Заголовок сообщения: Re: FreePascal
СообщениеДобавлено: Вт июн 30, 2009 2:53 pm 
Не в сети

Зарегистрирован: Вс июн 28, 2009 9:04 am
Сообщения: 5
Mario писал(а):
daesher
п.1 Смотря что рассматривать под приложением. На самом деле один поток может иметь одно окно, но в одном адресном пространстве может размещаться несколько потоков.

Интересно, хотя и не совсем то. Впрочем, может, и логично создавать по потоку на окно: "кто-то" ведь должен обрабатывать события от окна. Но немного меняется идеология. 255 потоков - конечно, маловато (представьте себе Delphi-подобную IDE со всеми открытыми окнами, это потоков 10 может уйти, а плюс другие приложения, плюс системные... Пока укладываемся, но граница уже видна).


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 48 сообщений ]  На страницу 1 2 3 4 След.

Часовой пояс: UTC+03:00


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB