OberonCore https://forum.oberoncore.ru/ |
|
Работа с массивом посредством Meta https://forum.oberoncore.ru/viewtopic.php?f=2&t=1117 |
Страница 1 из 1 |
Автор: | stern [ Четверг, 07 Август, 2008 13:44 ] |
Заголовок сообщения: | Работа с массивом посредством Meta |
Здравствуйте! Динамически загружаю модуль с именем "МодульА". Знаю, что в "МодульА" есть массив строк "Строки" неизвестной длины. Требуется определить длину массива "Строки" и считать значения его элементов. По крайней мере, ясно, что нужно работать через Meta. До массива "Строки" вроде бы добраться получается, по крайней мере получается определить его длину. Но как теперь считать значения его элементов? Как присвоить новые значения? Код: .............
Meta.Lookup("МодульА", item); IF item.obj = Meta.modObj THEN item.Lookup("Строки", item); IF item.obj = Meta.varObj THEN n := item.Len();(*а вот и длина массива*) ............. (*Как теперь прочитать элементы массива???*) |
Автор: | Илья Ермаков [ Четверг, 07 Август, 2008 13:56 ] |
Заголовок сообщения: | Re: Работа с массивом посредством Meta |
Код: Meta.Lookup("МодульА", item);
IF item.obj = Meta.modObj THEN item.Lookup("Строки", item); IF (item.obj = Meta.varObj) & (item.typ = Meta.arrTyp) & (item.BaseTyp() = Meta.arrTyp) THEN n := item.Len();(*а вот и длина массива*) item.Index(0, elem); (* получили elem: Item для 0-й строки массива строк *) IF elem.BaseTyp() = Meta.charTyp THEN elem.GetStringVal(string, ok) или elem.PutStringVal(string, ok) |
Автор: | stern [ Четверг, 07 Август, 2008 16:05 ] |
Заголовок сообщения: | Re: Работа с массивом посредством Meta |
Спасибо, работает! Должен признаться, что перед отправкой вопроса чувствовал себя дураком, потому что не смог с ходу разобраться в этой "простой" проблеме. А теперь чувствую себя немного обманутым, ибо даже имея на руках работающий код и описание модуля Meta вижу, что разбирался бы и разбирался... Далеко не все очевидно. И еще большой вопрос, хватило бы терпения и талантов??? Да, без хорошего пособия по ББ эргономичность среды неважная. Но и "плохое" пособие было бы очень кстати. Лучше хоть что-то, чем совсем ничего... Ведь наверняка у кого-нибудь есть, пусть и в очень "сыром" виде? А до "совершенства" можно будет довести со временем... Но это так, плачь Ярославны по беспутно прожитым годам. ![]() |
Автор: | stern [ Воскресенье, 10 Август, 2008 23:52 ] |
Заголовок сообщения: | Re: Работа с массивом посредством Meta |
Сначала даже создал новую тему для вопроса, но понял, что перегнул палку. Пускай здесь будет. А вопрос вот какой. Дело в том, что где-то видел ругательства (вроде "глюкавый" и т.п.) по поводу тулбара (Toolbar) By Juan Antonio Ortega, с сайта http://www.zinnamturm.eu/ В чем, если не секрет, суть претензий? Может, где-то есть другая реализация? Удивительно, но мне действительно нужен тулбар. |
Автор: | Илья Ермаков [ Понедельник, 11 Август, 2008 15:14 ] |
Заголовок сообщения: | Re: Работа с массивом посредством Meta |
Последняя его версия на Windows-2000 не показывается. Только на XP-Vista. Под Wine-Linux тоже не показывается. Плюс наблюдались трэпы в сочетании с некоторыми другими хитрыми отображениями (что-то он на себя хучит через WinApi). Если хотите использовать для себя - думаю, никаких проблем не будет. |
Автор: | Valery Solovey [ Понедельник, 11 Август, 2008 15:40 ] |
Заголовок сообщения: | Re: Работа с массивом посредством Meta |
Илья Ермаков писал(а): Под Wine-Linux тоже не показывается. Наверное, зависит от верси эмулятора и версии панели. В некоторых случаех помогает такое: запустить ББ, свернуть окно на панель задач, развернуть окно : ).
|
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |