OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 18 Апрель, 2024 09:56

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Массивы, definition модуль
СообщениеДобавлено: Среда, 14 Ноябрь, 2007 17:54 

Зарегистрирован: Среда, 14 Ноябрь, 2007 17:38
Сообщения: 10
Начну с того, что пользуюсь компилятором POW!, модификация языка- Red Chili Oberon-2 v.1.35a. Подскажите, как можно заполнить массив не поэлементно, а сразу (по типу си: array[]={1,6,79})? И еще, интересует, как объявить процедуру из дллки? В хелпе написано- PROCEDURE [_APICALL], вот только примера нет и понять я не смог.. Ну и еще одна проблема, можно как-нибудь создать константу со значением $7070(начинающегося со знака $). Компилятор не дает. З.Ы. Надеюсь на вашу помощь, язык не очень известен, особенно с учетом того, что большинство сидит на компонентном паскале, поэтому даже спросить почти негде..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Массивы, definition модуль
СообщениеДобавлено: Среда, 14 Ноябрь, 2007 18:11 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
заполнить массив по типу си нельзя.
констант начинающихся со знака $ не бывает. Наверное, надо 16-ные? Тогда так: 0F5A0H.

И еще, интересует, как объявить процедуру из дллки? В хелпе написано- PROCEDURE [_APICALL], вот только примера нет и понять я не смог..
процедуры из дллки объявляют в отдельном модуле
Код:
 
DEFINITION MyDll;
PROCEDURE [_APICALL] MyProc (a,b:INTEGER);
END MyDll.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Массивы, definition модуль
СообщениеДобавлено: Среда, 14 Ноябрь, 2007 18:18 

Зарегистрирован: Среда, 14 Ноябрь, 2007 17:38
Сообщения: 10
Спс, с процедурами вроде понятно.. Просто нужно заголовки для одной библиотеки создать, хотел перевести с делфи, а там константы все начинаются со знака $.. Насчет массива- кроме объявления по индексу(array[1]=5) совсем никак? Подойдет любой, хоть самый извращенный метод, заполнить массив за один заход очень нужно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Массивы, definition модуль
СообщениеДобавлено: Среда, 14 Ноябрь, 2007 18:23 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Написать процедуру, которая читает из файла. По-другому, кажется, не получится.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Массивы, definition модуль
СообщениеДобавлено: Среда, 14 Ноябрь, 2007 18:36 

Зарегистрирован: Среда, 14 Ноябрь, 2007 17:38
Сообщения: 10
Отлично, чтение из файла вполне подойдет, попробую осуществить. Благодарю за помощь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Массивы, definition модуль
СообщениеДобавлено: Среда, 14 Ноябрь, 2007 22:36 

Зарегистрирован: Среда, 14 Ноябрь, 2007 17:38
Сообщения: 10
Блин, вот с созданием заголовочных файлов реальная проблема.. Я так и не въеду, как указать, в какой именно библиотеке находится процедура. Вот на примере OpenGL(только не говорите, что ерундой занимаюсь, черный ящик меня не устраивает), как, например, указать процедуру glBegin? Глянул исходники странника, там(на модуле-2) просто указано from OpenGL32;
procedure glBegin(mode:GLenum);
и всего то.. На обероне по идее должно быть просто PROCEDURE [_APICALL] glBegin(mode: GLenum);
(тип GLenum я пока в расчет не беру), а как источник- библиотеку указать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Массивы, definition модуль
СообщениеДобавлено: Четверг, 15 Ноябрь, 2007 09:03 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
В программе ничего указывать не надо.
Библиотеку надо добавить в проект, чтобы её нашел линкер.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Массивы, definition модуль
СообщениеДобавлено: Четверг, 15 Ноябрь, 2007 10:57 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
DevIce писал(а):
... Вот на примере OpenGL(только не говорите, что ерундой занимаюсь, черный ящик меня не устраивает)...


Будьте добры, поясните, тут связь OpenGL и ящика -- случайная или нет?
Что Вас не устраивает в ЧЯ? Можно и в личку.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Массивы, definition модуль
СообщениеДобавлено: Четверг, 15 Ноябрь, 2007 11:26 

Зарегистрирован: Среда, 14 Ноябрь, 2007 17:38
Сообщения: 10
Trurl, спс, понятно.. Что касается ББ- не принимает мой мозг такую идеологию для создания приложений с ОГЛ. Для написания утилит, каких-нибудь редакторов и пр.- отличная вещь, я не спорю. Но зачем заморачиваться со всем этим, когда я все равно творю в фуллскрине, и весь костяк в ББ только в нагрузку. Все это ИМХО, разумеется.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Массивы, definition модуль
СообщениеДобавлено: Четверг, 15 Ноябрь, 2007 12:15 

Зарегистрирован: Понедельник, 29 Январь, 2007 19:00
Сообщения: 370
Откуда: Украина, Запорожье
Ну и при использовании OpenGL из подсистемы Ogl об аппаратном ускорении можно забыть -- не поддерживается :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Массивы, definition модуль
СообщениеДобавлено: Четверг, 15 Ноябрь, 2007 18:02 

Зарегистрирован: Среда, 14 Ноябрь, 2007 17:38
Сообщения: 10
PGR, тем более. Тут кое-какие проблемы с типами, в частности, непонятно, чем заменить cardinal и address из модулы. По длине соответствующих беззнаковых не нашел, есть integer, но оно ведь не беззнаковое.. Да, и как указать компилятору, что константа шестнадцатеричная? Ни 0х, ни $ не катят. Как всегда, надеюсь на вашу помощь =)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Массивы, definition модуль
СообщениеДобавлено: Четверг, 15 Ноябрь, 2007 18:40 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Trurl писал(а):
констант начинающихся со знака $ не бывает. Наверное, надо 16-ные? Тогда так: 0F5A0H.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Массивы, definition модуль
СообщениеДобавлено: Четверг, 15 Ноябрь, 2007 19:53 

Зарегистрирован: Среда, 14 Ноябрь, 2007 17:38
Сообщения: 10
Блин, я просто не заметил сначала букву Н в конце, теперь все понятно. А с типами в обероне вообще ппц,чет дядя Вирт многовато повырезал =)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Массивы, definition модуль
СообщениеДобавлено: Четверг, 15 Ноябрь, 2007 20:08 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Он уже не дядя, а дедушка :-)

Про вырезание типов - вырезано всё то, что мешало динамической модульности.
Например, перечисления и массивовые константы - непонятно, как их расширять и потом контролировать совместимость.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Массивы, definition модуль
СообщениеДобавлено: Четверг, 15 Ноябрь, 2007 20:41 

Зарегистрирован: Среда, 28 Февраль, 2007 00:08
Сообщения: 142
Откуда: Нижний Новгород
Илья Ермаков писал(а):
Он уже не дядя, а дедушка :-)

Про вырезание типов - вырезано всё то, что мешало динамической модульности.
Например, перечисления и массивовые константы - непонятно, как их расширять и потом контролировать совместимость.

Думаю DevIce больше по беззнаковым целым тоскует, чем по перечислениям и масивным константам :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Массивы, definition модуль
СообщениеДобавлено: Четверг, 15 Ноябрь, 2007 22:21 

Зарегистрирован: Среда, 14 Ноябрь, 2007 17:38
Сообщения: 10
Да, беззнаковый 4байтный тип очень не помешал бы.. Я сильно извиняюсь за надоедливость, но с заголовочным файлом туго.. Вроде как перенес все что нужно(http://bestlib.net.ru/OpenGL.zip ), модуль вроде бы нормально компилится, но стоит попытаться его подключить(пробовал к стандартному примеру из поставки POW- где создается окно через винапи), как приложение не запускается, хотя компилируется нормально. К проекту исходник заголовочного файла добавил. Может у кого-то получиться применить его? Возможно, у меня компилятор взбесился..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Массивы, definition модуль
СообщениеДобавлено: Пятница, 16 Ноябрь, 2007 04:55 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
PGR писал(а):
Ну и при использовании OpenGL из подсистемы Ogl об аппаратном ускорении можно забыть -- не поддерживается :(


Чето снова не понял -- выше вроде о каком-то длл речь идет -- если не трудно, чуть подробней? (Я не влазил в Ogl.)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Массивы, definition модуль
СообщениеДобавлено: Пятница, 16 Ноябрь, 2007 11:40 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
DevIce писал(а):
модуль вроде бы нормально компилится, но стоит попытаться его подключить(пробовал к стандартному примеру из поставки POW- где создается окно через винапи), как приложение не запускается, хотя компилируется нормально. К проекту исходник заголовочного файла добавил.


Модуль не может нормально компилится без модуля STRINGS (это что?).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Массивы, definition модуль
СообщениеДобавлено: Пятница, 16 Ноябрь, 2007 12:26 

Зарегистрирован: Понедельник, 29 Январь, 2007 19:00
Сообщения: 370
Откуда: Украина, Запорожье
info21 писал(а):
PGR писал(а):
Ну и при использовании OpenGL из подсистемы Ogl об аппаратном ускорении можно забыть -- не поддерживается :(

Чето снова не понял -- выше вроде о каком-то длл речь идет -- если не трудно, чуть подробней? (Я не влазил в Ogl.)

Был вопрос: что в BlackBox не устраивает при работе с OpenGL. Это дело уже обсуждалось (viewtopic.php?f=5&t=412).

P.S. А поиск по форуму никуда не годится :( Пришлось вручную тему искать.


Последний раз редактировалось PGR Пятница, 16 Ноябрь, 2007 12:40, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Массивы, definition модуль
СообщениеДобавлено: Пятница, 16 Ноябрь, 2007 12:37 

Зарегистрирован: Среда, 14 Ноябрь, 2007 17:38
Сообщения: 10
Модуль STRINGS входит в библиотеку OPAL, из поставки POW. Просто нужен был тип pstr, я его и заменил на STRINGS.String


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

Часовой пояс: UTC + 3 часа


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

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


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

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB