OberonCore https://forum.oberoncore.ru/ |
|
Массивы, definition модуль https://forum.oberoncore.ru/viewtopic.php?f=30&t=743 |
Страница 1 из 2 |
Автор: | DevIce [ Среда, 14 Ноябрь, 2007 17:54 ] |
Заголовок сообщения: | Массивы, definition модуль |
Начну с того, что пользуюсь компилятором POW!, модификация языка- Red Chili Oberon-2 v.1.35a. Подскажите, как можно заполнить массив не поэлементно, а сразу (по типу си: array[]={1,6,79})? И еще, интересует, как объявить процедуру из дллки? В хелпе написано- PROCEDURE [_APICALL], вот только примера нет и понять я не смог.. Ну и еще одна проблема, можно как-нибудь создать константу со значением $7070(начинающегося со знака $). Компилятор не дает. З.Ы. Надеюсь на вашу помощь, язык не очень известен, особенно с учетом того, что большинство сидит на компонентном паскале, поэтому даже спросить почти негде.. |
Автор: | Trurl [ Среда, 14 Ноябрь, 2007 18:11 ] |
Заголовок сообщения: | Re: Массивы, definition модуль |
заполнить массив по типу си нельзя. констант начинающихся со знака $ не бывает. Наверное, надо 16-ные? Тогда так: 0F5A0H. И еще, интересует, как объявить процедуру из дллки? В хелпе написано- PROCEDURE [_APICALL], вот только примера нет и понять я не смог.. процедуры из дллки объявляют в отдельном модуле Код: DEFINITION MyDll; PROCEDURE [_APICALL] MyProc (a,b:INTEGER); END MyDll. |
Автор: | DevIce [ Среда, 14 Ноябрь, 2007 18:18 ] |
Заголовок сообщения: | Re: Массивы, definition модуль |
Спс, с процедурами вроде понятно.. Просто нужно заголовки для одной библиотеки создать, хотел перевести с делфи, а там константы все начинаются со знака $.. Насчет массива- кроме объявления по индексу(array[1]=5) совсем никак? Подойдет любой, хоть самый извращенный метод, заполнить массив за один заход очень нужно. |
Автор: | Евгений Темиргалеев [ Среда, 14 Ноябрь, 2007 18:23 ] |
Заголовок сообщения: | Re: Массивы, definition модуль |
Написать процедуру, которая читает из файла. По-другому, кажется, не получится. |
Автор: | DevIce [ Среда, 14 Ноябрь, 2007 18:36 ] |
Заголовок сообщения: | Re: Массивы, definition модуль |
Отлично, чтение из файла вполне подойдет, попробую осуществить. Благодарю за помощь. |
Автор: | DevIce [ Среда, 14 Ноябрь, 2007 22:36 ] |
Заголовок сообщения: | Re: Массивы, definition модуль |
Блин, вот с созданием заголовочных файлов реальная проблема.. Я так и не въеду, как указать, в какой именно библиотеке находится процедура. Вот на примере OpenGL(только не говорите, что ерундой занимаюсь, черный ящик меня не устраивает), как, например, указать процедуру glBegin? Глянул исходники странника, там(на модуле-2) просто указано from OpenGL32; procedure glBegin(mode:GLenum); и всего то.. На обероне по идее должно быть просто PROCEDURE [_APICALL] glBegin(mode: GLenum); (тип GLenum я пока в расчет не беру), а как источник- библиотеку указать? |
Автор: | Trurl [ Четверг, 15 Ноябрь, 2007 09:03 ] |
Заголовок сообщения: | Re: Массивы, definition модуль |
В программе ничего указывать не надо. Библиотеку надо добавить в проект, чтобы её нашел линкер. |
Автор: | Info21 [ Четверг, 15 Ноябрь, 2007 10:57 ] |
Заголовок сообщения: | Re: Массивы, definition модуль |
DevIce писал(а): ... Вот на примере OpenGL(только не говорите, что ерундой занимаюсь, черный ящик меня не устраивает)... Будьте добры, поясните, тут связь OpenGL и ящика -- случайная или нет? Что Вас не устраивает в ЧЯ? Можно и в личку. |
Автор: | DevIce [ Четверг, 15 Ноябрь, 2007 11:26 ] |
Заголовок сообщения: | Re: Массивы, definition модуль |
Trurl, спс, понятно.. Что касается ББ- не принимает мой мозг такую идеологию для создания приложений с ОГЛ. Для написания утилит, каких-нибудь редакторов и пр.- отличная вещь, я не спорю. Но зачем заморачиваться со всем этим, когда я все равно творю в фуллскрине, и весь костяк в ББ только в нагрузку. Все это ИМХО, разумеется. |
Автор: | PGR [ Четверг, 15 Ноябрь, 2007 12:15 ] |
Заголовок сообщения: | Re: Массивы, definition модуль |
Ну и при использовании OpenGL из подсистемы Ogl об аппаратном ускорении можно забыть -- не поддерживается ![]() |
Автор: | DevIce [ Четверг, 15 Ноябрь, 2007 18:02 ] |
Заголовок сообщения: | Re: Массивы, definition модуль |
PGR, тем более. Тут кое-какие проблемы с типами, в частности, непонятно, чем заменить cardinal и address из модулы. По длине соответствующих беззнаковых не нашел, есть integer, но оно ведь не беззнаковое.. Да, и как указать компилятору, что константа шестнадцатеричная? Ни 0х, ни $ не катят. Как всегда, надеюсь на вашу помощь =) |
Автор: | Евгений Темиргалеев [ Четверг, 15 Ноябрь, 2007 18:40 ] |
Заголовок сообщения: | Re: Массивы, definition модуль |
Trurl писал(а): констант начинающихся со знака $ не бывает. Наверное, надо 16-ные? Тогда так: 0F5A0H.
|
Автор: | DevIce [ Четверг, 15 Ноябрь, 2007 19:53 ] |
Заголовок сообщения: | Re: Массивы, definition модуль |
Блин, я просто не заметил сначала букву Н в конце, теперь все понятно. А с типами в обероне вообще ппц,чет дядя Вирт многовато повырезал =) |
Автор: | Илья Ермаков [ Четверг, 15 Ноябрь, 2007 20:08 ] |
Заголовок сообщения: | Re: Массивы, definition модуль |
Он уже не дядя, а дедушка ![]() Про вырезание типов - вырезано всё то, что мешало динамической модульности. Например, перечисления и массивовые константы - непонятно, как их расширять и потом контролировать совместимость. |
Автор: | batyrmastyr [ Четверг, 15 Ноябрь, 2007 20:41 ] |
Заголовок сообщения: | Re: Массивы, definition модуль |
Илья Ермаков писал(а): Он уже не дядя, а дедушка ![]() Про вырезание типов - вырезано всё то, что мешало динамической модульности. Например, перечисления и массивовые константы - непонятно, как их расширять и потом контролировать совместимость. Думаю DevIce больше по беззнаковым целым тоскует, чем по перечислениям и масивным константам ![]() |
Автор: | DevIce [ Четверг, 15 Ноябрь, 2007 22:21 ] |
Заголовок сообщения: | Re: Массивы, definition модуль |
Да, беззнаковый 4байтный тип очень не помешал бы.. Я сильно извиняюсь за надоедливость, но с заголовочным файлом туго.. Вроде как перенес все что нужно(http://bestlib.net.ru/OpenGL.zip ), модуль вроде бы нормально компилится, но стоит попытаться его подключить(пробовал к стандартному примеру из поставки POW- где создается окно через винапи), как приложение не запускается, хотя компилируется нормально. К проекту исходник заголовочного файла добавил. Может у кого-то получиться применить его? Возможно, у меня компилятор взбесился.. |
Автор: | Info21 [ Пятница, 16 Ноябрь, 2007 04:55 ] |
Заголовок сообщения: | Re: Массивы, definition модуль |
PGR писал(а): Ну и при использовании OpenGL из подсистемы Ogl об аппаратном ускорении можно забыть -- не поддерживается ![]() Чето снова не понял -- выше вроде о каком-то длл речь идет -- если не трудно, чуть подробней? (Я не влазил в Ogl.) |
Автор: | Trurl [ Пятница, 16 Ноябрь, 2007 11:40 ] |
Заголовок сообщения: | Re: Массивы, definition модуль |
DevIce писал(а): модуль вроде бы нормально компилится, но стоит попытаться его подключить(пробовал к стандартному примеру из поставки POW- где создается окно через винапи), как приложение не запускается, хотя компилируется нормально. К проекту исходник заголовочного файла добавил. Модуль не может нормально компилится без модуля STRINGS (это что?). |
Автор: | PGR [ Пятница, 16 Ноябрь, 2007 12:26 ] |
Заголовок сообщения: | Re: Массивы, definition модуль |
info21 писал(а): PGR писал(а): Ну и при использовании OpenGL из подсистемы Ogl об аппаратном ускорении можно забыть -- не поддерживается ![]() Чето снова не понял -- выше вроде о каком-то длл речь идет -- если не трудно, чуть подробней? (Я не влазил в Ogl.) Был вопрос: что в BlackBox не устраивает при работе с OpenGL. Это дело уже обсуждалось (viewtopic.php?f=5&t=412). P.S. А поиск по форуму никуда не годится ![]() |
Автор: | DevIce [ Пятница, 16 Ноябрь, 2007 12:37 ] |
Заголовок сообщения: | Re: Массивы, definition модуль |
Модуль STRINGS входит в библиотеку OPAL, из поставки POW. Просто нужен был тип pstr, я его и заменил на STRINGS.String |
Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |