Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Модератор форума: Peter, DEMBEL, YURIY  
Вопрос про переменные
PeterДата: Пт, 12 Марта 2010, 20:02 | Сообщение # 61
Админ NeoBook
Quote (Alex3A)
[Test[5]] и [Test5] одна и та же переменная?

Нет!
[Test[5]] в итоге выдаст имя переменной, сложенное из СЛОВА Test и СОДЕРЖИМОГО переменной [5], т.к. скобки обозначают обращение к содержимому, а не имени.
И если в переменной под именем "5" что-то содержится (скажем "пиво"), то итоговое имя переменной [Test[5]] будет [Testпиво]. drink
Quote (Alex3A)
Что значит точка в конструкции

Эта "конструкция" создана на основе переменных плагина, а сам необушныё интерпретатор таких конструкций не употребляет.
В плагинах часто применяются переменные на основе "записей", например, для описания переменных какого-либо объекта плагина (обычно за "основу" берется имя объекта, просто чтобы было понятнее и удобнее).
Сам же необушные интерпретатор "конструкций с точкой" (как компилятор Delphi) не понимает и не "употребляет". Поэтому конструкция типа [Test.Pivo] для интерпретатора будет "звучать" точно также как и пишется, т.е интерпретатор не полезет искать поле "Pivo" в структуре "Test", а тупо обратится к переменной под именем [Test.Pivo].


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (Alex3A)
[Test[5]] и [Test5] одна и та же переменная?

Нет!
[Test[5]] в итоге выдаст имя переменной, сложенное из СЛОВА Test и СОДЕРЖИМОГО переменной [5], т.к. скобки обозначают обращение к содержимому, а не имени.
И если в переменной под именем "5" что-то содержится (скажем "пиво"), то итоговое имя переменной [Test[5]] будет [Testпиво]. drink
Quote (Alex3A)
Что значит точка в конструкции

Эта "конструкция" создана на основе переменных плагина, а сам необушныё интерпретатор таких конструкций не употребляет.
В плагинах часто применяются переменные на основе "записей", например, для описания переменных какого-либо объекта плагина (обычно за "основу" берется имя объекта, просто чтобы было понятнее и удобнее).
Сам же необушные интерпретатор "конструкций с точкой" (как компилятор Delphi) не понимает и не "употребляет". Поэтому конструкция типа [Test.Pivo] для интерпретатора будет "звучать" точно также как и пишется, т.е интерпретатор не полезет искать поле "Pivo" в структуре "Test", а тупо обратится к переменной под именем [Test.Pivo].

Автор - Peter
Дата добавления - 12 Марта 2010 в 20:02
Alex3AДата: Сб, 13 Марта 2010, 11:35 | Сообщение # 62
Друг клуба ММВ
Quote (Peter)
Сам же необушные интерпретатор "конструкций с точкой" (как компилятор Delphi) не понимает

Оченно жаль.
Ладно, ликбез окончен, вижу что надо (если вдруг надо будет)смотреть доки.
 
Сообщение
Quote (Peter)
Сам же необушные интерпретатор "конструкций с точкой" (как компилятор Delphi) не понимает

Оченно жаль.
Ладно, ликбез окончен, вижу что надо (если вдруг надо будет)смотреть доки.

Автор - Alex3A
Дата добавления - 13 Марта 2010 в 11:35
NecronomiconДата: Вс, 10 Апреля 2011, 22:45 | Сообщение # 63
Участник
Quote (Сергей)
Работаю с БД, действительно есть такая досада, что "многослойные" переменые вида [[ПеРеМ1].[ПеРеМ2].пЕрЕм3] не работают в НБ на вывод этой переменной например в обекте Text или TextEntry.

Вот и я вчера "попал" на такую "досаду". Хорошо, сегодня нашел эту тему :)
1. В проекте присутствуют переменные типа: [Db.[OpenSl].N], причем в списке переменных проекта они отображаются в виде: [Db..N]
2. В отладчике все нормально, а в объект Text значения таких переменных не выводятся...
Quote (DEMBEL)
пока вижу этот единственный выход

Наиболее оптимальный выход: "SetVar "[Text]" "[Var[x]]"" ? Кто как обходит это "ограничение"?
Прикрепления: 6155223.jpg (88.5 Kb)


Сообщение отредактировано
Necronomicon - Вс, 10 Апреля 2011, 22:56
 
Сообщение
Quote (Сергей)
Работаю с БД, действительно есть такая досада, что "многослойные" переменые вида [[ПеРеМ1].[ПеРеМ2].пЕрЕм3] не работают в НБ на вывод этой переменной например в обекте Text или TextEntry.

Вот и я вчера "попал" на такую "досаду". Хорошо, сегодня нашел эту тему :)
1. В проекте присутствуют переменные типа: [Db.[OpenSl].N], причем в списке переменных проекта они отображаются в виде: [Db..N]
2. В отладчике все нормально, а в объект Text значения таких переменных не выводятся...
Quote (DEMBEL)
пока вижу этот единственный выход

Наиболее оптимальный выход: "SetVar "[Text]" "[Var[x]]"" ? Кто как обходит это "ограничение"?

Автор - Necronomicon
Дата добавления - 10 Апреля 2011 в 22:45
GorezcaidДата: Вс, 10 Апреля 2011, 23:07 | Сообщение # 64
Ветеран форума
Quote (Necronomicon)
Кто как обходит это "ограничение"?

Скорее всего из-за использования русских букв.


Win7 Pro SP1 x64; NBv5.5.4rus,v5.6.2rus, v5.7.0en, Opera
 
Сообщение
Quote (Necronomicon)
Кто как обходит это "ограничение"?

Скорее всего из-за использования русских букв.

Автор - Gorezcaid
Дата добавления - 10 Апреля 2011 в 23:07
mishemДата: Вс, 10 Апреля 2011, 23:15 | Сообщение # 65
Эксперт форума
Necronomicon, почитай сдесь http://neobooker.ru/forum/22-1034-1
Точно не помню, в ней или где то еще я тоже с этим сталкивался. Но все равно почитай, мож что интересное найдешь? :D


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеNecronomicon, почитай сдесь http://neobooker.ru/forum/22-1034-1
Точно не помню, в ней или где то еще я тоже с этим сталкивался. Но все равно почитай, мож что интересное найдешь? :D

Автор - mishem
Дата добавления - 10 Апреля 2011 в 23:15
СергейДата: Пн, 11 Апреля 2011, 00:25 | Сообщение # 66
Необукер
если я правильно понял, то чтоб из значения сделать ссылку на переменную надо еще раз заключить в скобки
пример:
SetVar "[test]" "555"
SetVar "[Text]" "test"
вывод в объект: [[Text]]


Сообщение отредактировано
Сергей - Пн, 11 Апреля 2011, 00:40
 
Сообщениеесли я правильно понял, то чтоб из значения сделать ссылку на переменную надо еще раз заключить в скобки
пример:
SetVar "[test]" "555"
SetVar "[Text]" "test"
вывод в объект: [[Text]]

Автор - Сергей
Дата добавления - 11 Апреля 2011 в 00:25
PeterДата: Пн, 11 Апреля 2011, 00:59 | Сообщение # 67
Админ NeoBook
Quote (Necronomicon)
переменные типа: [Db.[OpenSl].N], причем в списке переменных проекта они отображаются в виде: [Db..N]

scared
Quote (Necronomicon)
2. В отладчике все нормально, а в объект Text значения таких переменных не выводятся...

scratch

Necronomicon, пока не очень понятно, что именно вы хотите сделать.

В общем случае, если переменная описана как [Db.[OpenSl].N], то её ИМЯ будет состоять реально из: сначала "Db.", потом СОДЕРЖИМОЕ переменной [OpenSl], а потом ".N"
Иными словами, если в переменной [OpenSl] содержится, скажем, "Вася", то ИМЯ (а не содержимое) составной переменной будет таким: [Ob.Вася.N]...

Судя по скриншоту, у вас все работает правильно.
Какая переменная назначена объекту "Text"?


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (Necronomicon)
переменные типа: [Db.[OpenSl].N], причем в списке переменных проекта они отображаются в виде: [Db..N]

scared
Quote (Necronomicon)
2. В отладчике все нормально, а в объект Text значения таких переменных не выводятся...

scratch

Necronomicon, пока не очень понятно, что именно вы хотите сделать.

В общем случае, если переменная описана как [Db.[OpenSl].N], то её ИМЯ будет состоять реально из: сначала "Db.", потом СОДЕРЖИМОЕ переменной [OpenSl], а потом ".N"
Иными словами, если в переменной [OpenSl] содержится, скажем, "Вася", то ИМЯ (а не содержимое) составной переменной будет таким: [Ob.Вася.N]...

Судя по скриншоту, у вас все работает правильно.
Какая переменная назначена объекту "Text"?


Автор - Peter
Дата добавления - 11 Апреля 2011 в 00:59
mishemДата: Пн, 11 Апреля 2011, 01:54 | Сообщение # 68
Эксперт форума
Quote (Peter)
составной переменной будет таким: [Ob.Вася.N]...

Там загвоздка с переменными в плагине базы данных в про версии. Когда база создается, то переменная получается именно такого вида [Имя базы данных.Таблица.Поле]. Похоже он хочет менять имя таблицы на "лету" при помощи переменной. [Имя базы данных.[Таблица].Поле]. Но плагин такого не поддерживает (по моему, точно не помню) Помню тоже сталкивался с такой проблемой. Мы еще с тобой и с алексом это обсуждали. А вот какое решение было, не помню. redface :D По моему я бросил эту затею.
Добавлено (11 Апрель 2011, 01:54)
---------------------------------------------
О блин, сейчас начал эту тему просматривать, в ней как раз и обсуждали. :D Щас почитаю, мож вспомню.

Точно. Я забросил эту затею. Для меня она оказалась не решаемой.
Но сейчас посидел себя помучил, есть определенные решения. :)
1. Нужно ббъявить переменную [OpenSl] глобальной. В объекте Text поменять переменную к примеру на [Text]. В команде dbpSetGridProperties на дубльклик повесить подпрограмму. В которой прописать SetVar "[Text]" "[Db.[OpenSl].N]". Но это будет срабатывать только при двойном щелчке.
2. Воспользоваться плагином Петра.
:D


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.


Сообщение отредактировано
mishem - Пн, 11 Апреля 2011, 03:07
 
Сообщение
Quote (Peter)
составной переменной будет таким: [Ob.Вася.N]...

Там загвоздка с переменными в плагине базы данных в про версии. Когда база создается, то переменная получается именно такого вида [Имя базы данных.Таблица.Поле]. Похоже он хочет менять имя таблицы на "лету" при помощи переменной. [Имя базы данных.[Таблица].Поле]. Но плагин такого не поддерживает (по моему, точно не помню) Помню тоже сталкивался с такой проблемой. Мы еще с тобой и с алексом это обсуждали. А вот какое решение было, не помню. redface :D По моему я бросил эту затею.
Добавлено (11 Апрель 2011, 01:54)
---------------------------------------------
О блин, сейчас начал эту тему просматривать, в ней как раз и обсуждали. :D Щас почитаю, мож вспомню.

Точно. Я забросил эту затею. Для меня она оказалась не решаемой.
Но сейчас посидел себя помучил, есть определенные решения. :)
1. Нужно ббъявить переменную [OpenSl] глобальной. В объекте Text поменять переменную к примеру на [Text]. В команде dbpSetGridProperties на дубльклик повесить подпрограмму. В которой прописать SetVar "[Text]" "[Db.[OpenSl].N]". Но это будет срабатывать только при двойном щелчке.
2. Воспользоваться плагином Петра.
:D


Автор - mishem
Дата добавления - 11 Апреля 2011 в 01:54
NecronomiconДата: Пн, 11 Апреля 2011, 18:32 | Сообщение # 69
Участник
Quote (mishem)
Necronomicon, почитай сдесь http://neobooker.ru/forum/22-1034-1

Первым делом я проштудировал именно эту тему :D
Quote (Peter)
Necronomicon, пока не очень понятно, что именно вы хотите сделать.

Я, наверное, не очень ясно изложил суть вопроса, образно процитировав пост DEMBEL про SetVar "[Text]" "[Var[x]]
Собственно, варианты уже были выше: использовать с объектами Text и TextEntry команды SetVar и RefreshObject. Просто подумал: год прошел с момента обсуждения, тема не закрыта, может появились др. "способы".
Используя команду SetVar "нельзя" редактировать из TextEntry поля в таблице. Команда RefreshObject не работает с объектом TextEntry.
Quote (Necronomicon)
переменные типа: [Db.[OpenSl].N], причем в списке переменных проекта они отображаются в виде: [Db..N]


Quote (mishem)
Воспользоваться плагином Петра.

Можно подробнее, что ты имеешь ввиду?
Прикрепил демку.
Прикрепления: Temp.rar (263.5 Kb) · 4287866.jpg (75.9 Kb)


Сообщение отредактировано
Necronomicon - Пн, 11 Апреля 2011, 18:39
 
Сообщение
Quote (mishem)
Necronomicon, почитай сдесь http://neobooker.ru/forum/22-1034-1

Первым делом я проштудировал именно эту тему :D
Quote (Peter)
Necronomicon, пока не очень понятно, что именно вы хотите сделать.

Я, наверное, не очень ясно изложил суть вопроса, образно процитировав пост DEMBEL про SetVar "[Text]" "[Var[x]]
Собственно, варианты уже были выше: использовать с объектами Text и TextEntry команды SetVar и RefreshObject. Просто подумал: год прошел с момента обсуждения, тема не закрыта, может появились др. "способы".
Используя команду SetVar "нельзя" редактировать из TextEntry поля в таблице. Команда RefreshObject не работает с объектом TextEntry.
Quote (Necronomicon)
переменные типа: [Db.[OpenSl].N], причем в списке переменных проекта они отображаются в виде: [Db..N]


Quote (mishem)
Воспользоваться плагином Петра.

Можно подробнее, что ты имеешь ввиду?
Прикрепил демку.

Автор - Necronomicon
Дата добавления - 11 Апреля 2011 в 18:32
mishemДата: Пт, 15 Февраля 2013, 16:17 | Сообщение # 70
Эксперт форума
Quote (Necronomicon)
Можно подробнее, что ты имеешь ввиду?

Я имел ввиду если отображается таблица и по ней происходит навигация.
А для редактирования по моему если щелкнуть добавить, то данные изменятся.(но не утверждаю). Голова сейчас не работает.

Добавлено (11 Апрель 2011, 20:00)
---------------------------------------------
Necronomicon, вставь код

Code
SetVar "[Db.[OpenTabl].Name_1]" "[Name_1]"
RefreshObject "Text10"
в объект TextEntry1 в закладку Text Сhange

Добавлено (05 Февраля 2013, 08:05)
---------------------------------------------

Цитата (Сергей)
mishem, сабж то решил?

Цитата (Сергей)
А на главный вопрос ответ нет, Нб почемуто не понимает такую переменную, что очень жаль

Не прошло и года. :D

Опять вернулся к этому вопросу, вернее столкнулся....
И похоже нашел все таки решение.

Для того, что бы все отображалось в поле объекта Текст, нужно создать дополнительную Виртуальную таблицу!
Например
dbpCreateView"ID" "[Имя таблицы]" "Virtual"
И ее же открывать для просмотра.
dbpShowGrid "ID" "Virtual" "Rectangle"

Теперь при навигации мы будем получать в переменные виртуальной таблицы все те же значения что и в оригинальной. Вставляем переменные виртуальной таблицы в то место куда нам надо и все ОК. ;)

До редактирования таблицы пока еще не дошел и по этому ничего сказать не могу. :)
Но надеюсь что тоже будет все хорошо. :D

Добавлено (15 Февраля 2013, 16:17)
---------------------------------------------
Пока плагин жду, отпишусь. :)
Редактируется тоже все прекрасно. После редактирования выполняю команду dbpRefresh.
Не помню проблема какая была или так надо.
Если нам нужно что бы отображалась другая таблица, просто закрываем и удаляем созданную виртуальную и снова ее создаем присваивая имя таблицы с которой нам нужно работать. После удаления виртуальной таблицы данные оригинальной не затрагиваются. Ну об этом можно в справке прочитать.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Quote (Necronomicon)
Можно подробнее, что ты имеешь ввиду?

Я имел ввиду если отображается таблица и по ней происходит навигация.
А для редактирования по моему если щелкнуть добавить, то данные изменятся.(но не утверждаю). Голова сейчас не работает.

Добавлено (11 Апрель 2011, 20:00)
---------------------------------------------
Necronomicon, вставь код

Code
SetVar "[Db.[OpenTabl].Name_1]" "[Name_1]"
RefreshObject "Text10"
в объект TextEntry1 в закладку Text Сhange

Добавлено (05 Февраля 2013, 08:05)
---------------------------------------------

Цитата (Сергей)
mishem, сабж то решил?

Цитата (Сергей)
А на главный вопрос ответ нет, Нб почемуто не понимает такую переменную, что очень жаль

Не прошло и года. :D

Опять вернулся к этому вопросу, вернее столкнулся....
И похоже нашел все таки решение.

Для того, что бы все отображалось в поле объекта Текст, нужно создать дополнительную Виртуальную таблицу!
Например
dbpCreateView"ID" "[Имя таблицы]" "Virtual"
И ее же открывать для просмотра.
dbpShowGrid "ID" "Virtual" "Rectangle"

Теперь при навигации мы будем получать в переменные виртуальной таблицы все те же значения что и в оригинальной. Вставляем переменные виртуальной таблицы в то место куда нам надо и все ОК. ;)

До редактирования таблицы пока еще не дошел и по этому ничего сказать не могу. :)
Но надеюсь что тоже будет все хорошо. :D

Добавлено (15 Февраля 2013, 16:17)
---------------------------------------------
Пока плагин жду, отпишусь. :)
Редактируется тоже все прекрасно. После редактирования выполняю команду dbpRefresh.
Не помню проблема какая была или так надо.
Если нам нужно что бы отображалась другая таблица, просто закрываем и удаляем созданную виртуальную и снова ее создаем присваивая имя таблицы с которой нам нужно работать. После удаления виртуальной таблицы данные оригинальной не затрагиваются. Ну об этом можно в справке прочитать.


Автор - mishem
Дата добавления - 15 Февраля 2013 в 16:17
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Поиск: