Страниц: [1]
Печать
Автор Тема: New GDL Features in ArchiCAD 11  (Прочитано 5969 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Valery W
Глобальный модератор
*****
Офлайн Офлайн

Сообщений: 89


« : 05 Ноябрь 2007, 00:45:29 »

Почитал "New GDL Features in ArchiCAD 11".
Заинтересовало следующее:

Unicode GDL scripts

GDL scripts became Unicode. This means that you can develop totally codepage-independent library parts on any platform using any national character in the string constants. Note, that Archicad 11's user interface isn't Unicode yet, so you can achieve this goal via XML editing and the LP_XMLConverter tool only.


Кто может просветить, чтобы это значило. Неужели можно задавать имена переменных на кириллице?
Записан
alakk
Пользователь
**
Офлайн Офлайн

Пол: Мужской
Сообщений: 51


« Ответ #1 : 05 Ноябрь 2007, 10:57:42 »

Судя по приведенному абзацу - да. В любых видах скриптов, кроме UI

Только непонятно: зачем кириллицу толкать в названия переменных? Лишний раз кнопками на клаве пощелкать? Ясности в скрипте это не добавит, а движений ненужных больше... Сделали - ну и пускай будет.
« Последнее редактирование: 05 Ноябрь 2007, 11:04:56 от alakk » Записан
GAG
Администратор
*****
Офлайн Офлайн

Пол: Мужской
Сообщений: 273


GAG [Jaguar]


WWW
« Ответ #2 : 06 Ноябрь 2007, 12:06:26 »

Неужели можно задавать имена переменных на кириллице?
нет, речь о строковых константах, а не о названиях переменных!
Записан
Valery W
Глобальный модератор
*****
Офлайн Офлайн

Сообщений: 89


« Ответ #3 : 06 Ноябрь 2007, 12:16:47 »

Не напомнишь что собой представляют строковые константы?
Записан
GAG
Администратор
*****
Офлайн Офлайн

Пол: Мужской
Сообщений: 273


GAG [Jaguar]


WWW
« Ответ #4 : 06 Ноябрь 2007, 13:36:46 »

пример:
sSample - название переменной
"Пример" - строковое значение переменной
Записан
alakk
Пользователь
**
Офлайн Офлайн

Пол: Мужской
Сообщений: 51


« Ответ #5 : 09 Ноябрь 2007, 14:35:49 »

GAG поправил правильно. Речь идет не о переменных

Применение строковых констант: наименование файла, например. Только опять же непонятно, а для чего? Десятка тоже все читала и 8.1 - и вообще это функция системы...

Валерий. Приведи кусок побольше, а то без контекста лажа получается - я еще 11 не поставил. Жду 1112
« Последнее редактирование: 09 Ноябрь 2007, 14:38:37 от alakk » Записан
Valery W
Глобальный модератор
*****
Офлайн Офлайн

Сообщений: 89


« Ответ #6 : 09 Ноябрь 2007, 15:49:03 »

Это весь абзац. Больше по этой теме нет ничего, даже примера.
Записан
Mike_B
Пользователь
**
Офлайн Офлайн

Пол: Мужской
Сообщений: 84


« Ответ #7 : 20 Ноябрь 2007, 11:47:48 »

Значит ли это, что мы наконец сможем вставить знак диаметра Ø в объект, а затем и в смету?
Записан
SergeyAB
Новичок
*
Офлайн Офлайн

Сообщений: 18


« Ответ #8 : 19 Ноябрь 2008, 21:04:21 »

Насчет диаметра и проч спецсимволов...
ну в общем - да.
Юникод был введен для возможности представления символов всех языков, большей частью восточных языков(иероглифов).
Если в ANSI, ISO и других стандартах кодировки один символ представлен 8 байтами, то юникод дает на каждый символ 16 байт. А еще в кодовой странице юникода больше символов, насколько больше не скажу - не помню.

Что касается символа диаметра и любого другого спецсимвола, то это можно было сделать и в ANSI, ASCII, для этого:

1. Создаем шрифт, имеющий в своем составе нужные спецсимволы, рекомендую прогу Fontograph для этих целей.
2. В скрипте объекта описываем стиль с указанным шрифтом и требуемыми параметрами.
3. В месте где по тексту нужно вставить спецсимвол делаем так:

textstyle "SpecShrift"
diam="A"

textstyle "DefaultFont"
b="знак диаметра"+diam
print b
в данном контексте имеется ввиду что на месте соответствующем символу A(а вообще это просто номер по кодовой странице ) на клавиатуре в созданном нами шрифте находится требуемый нам символ (знак диаметра и т п)

только в данном случае как следует из первого поста темы мы увидим кракозябл на месте спецсимвола, ибо поддержка юникод включена только в случае команды text2 x,у, "sdsad", а по print "Знак диаметра"+diam пройдет вызов
DGAlert(DG_INFORMATION, "", null, b, "ОК", null, null), и так как юникод не включен в заголовки будит кракозябл. Гы-гы.
Записан
Александр Ани
Глобальный модератор
*****
Офлайн Офлайн

Сообщений: 3


« Ответ #9 : 10 Декабрь 2009, 11:38:19 »

У кого есть справка GDL 11-й версии под рукой?
мне надо в зависимости от версии использовать переменную glob_intid либо glob_intguid. на Wiki указано, что guid стал использоваться с 12 версии.. т.е. в 8-11 использовался просто intID. Справки по 10,12,13 нашел, а 11-й нет. Надо проверить, удостоверится. Это среди глобальных переменных можно взглянуть (стр. приблизительно чуть >200й).

так в 11 GDL glob_intid ?
Записан
VAO
Новичок
*
Офлайн Офлайн

Пол: Мужской
Сообщений: 15



« Ответ #10 : 10 Декабрь 2009, 17:05:06 »

Справочное руководство GDL
ArchiCAD 11
стр.225:

"...GLOB_INTID внутренний ID элемента
внутренний уникальный идентификатор ID, созданный программой (не контролируется пользователем)..."
"...GLOB_INTGUID внутренний GUID элемента, внутренний GUID, созданный программой
(не контролируется пользователем)..."

Записан
Страниц: [1]
Печать
Перейти в: