Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M Новый топик    Ответить
 Studio.Как создать программку  [new]
Natasha_K
Member

Откуда:
Сообщений: 1
Привет. Я совсем еще новичок, я только учусь. Делаю дабораторки. Подскажите как с помощью Studio создать программу.
19 июн 09, 15:58    [7321584]     Ответить | Цитировать Сообщить модератору
 Re: Studio.Как создать программку  [new]
u78
Member

Откуда: Москва
Сообщений: 540
Natasha_K,

Мне тоже интересно мнение профессионалов.
19 июн 09, 16:02    [7321612]     Ответить | Цитировать Сообщить модератору
 Re: Studio.Как создать программку  [new]
DAiMor
Member

Откуда: Volzhsky -> Moscow -> CZ, Brno
Сообщений: 2427
Natasha_K
Привет. Я совсем еще новичок, я только учусь. Делаю дабораторки. Подскажите как с помощью Studio создать программу.


что значит с помощью Studio, классический Файл-> Создать
если создать нужно программно, то смотреть нужно в сторону класса %Routine
19 июн 09, 16:50    [7322081]     Ответить | Цитировать Сообщить модератору
 Re: Studio.Как создать программку  [new]
DAiMor
Member

Откуда: Volzhsky -> Moscow -> CZ, Brno
Сообщений: 2427
u78
Natasha_K,

Мне тоже интересно мнение профессионалов.

нет бы девушке помочь, а вы тут шутки шутите
19 июн 09, 16:51    [7322091]     Ответить | Цитировать Сообщить модератору
 Re: Studio.Как создать программку  [new]
ну я
Member

Откуда: Stalingrad
Сообщений: 1106
Что-то мне подсказывает, что затруднение не в том, чтобы создать программу на Cache Object Script, а в том, что программа создается, но ее потом не видно, как будто не создалась. Самое вероятное, как подсказывает чтение чужих мыслей, что программа делалась не в той какой надо области (namespace). В меню файл есть пунктик сменить область. В заголовке окна студии пишется какая текущая область для студии.
20 июн 09, 10:13    [7323753]     Ответить | Цитировать Сообщить модератору
 Re: Studio.Как создать программку  [new]
DAiMor
Member

Откуда: Volzhsky -> Moscow -> CZ, Brno
Сообщений: 2427
Девушка не пропадайте, интересно все же помогли вам или нет

_________________________________
Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST
22 июн 09, 15:44    [7329107]     Ответить | Цитировать Сообщить модератору
 Re: Studio.Как создать программку  [new]
neznau
Member

Откуда: Тарки-Тау
Сообщений: 494
Открываете студию.
Выбираете Файл/Создать, на вкладке "Общие" выберите Cache Object Script прогамма. Появится текстовый редактор. В нем пишете следующий код (в точности как написано внизу, с пробелами в начале)

helloworld(text="") public
{
 // Вывода на текущее устройство вывода
 write "Hello, world! My text "_text
 // Выход с возвратом "return value"
 quit "return value"
}


Далее откомпилируйте программу, нажав Ctrl+F7, вам предложать сохранится, назовите файл, например, util.mac.

После этого запустите терминал, зайдите в ту область, где создали программу. Для этого напечатайте в терминале команду
zn "<имя области>"


И запустите написанную вами программу следующим образом

do helloworld^util("my name is Natasha")


Если нужно чтобы по результату выполнения возвращался результат, запускайте рутину так

set val = $$helloworld^util("my name is Natasha")  
//два доллара перед названием программы


Надеюсь, я вам хоть как-то помог.
Модератор: подправил форматирование и код
1 июл 09, 10:29    [7362018]     Ответить | Цитировать Сообщить модератору
 Re: Studio.Как создать программку  [new]
neznau
Member

Откуда: Тарки-Тау
Сообщений: 494
в к последнему сообщению: все, что между фигурными скобками, должно начинаться с, по крайней мере, одно пробела.
1 июл 09, 10:33    [7362039]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Studio.Как создать программку  [new]
Sery717
Member

Откуда:
Сообщений: 3
neznau,

у меня при попытке ввести
set = $$helloworld^util("my name is Natasha")
все время выдает
SET = $$HELLOWORLD^UTIL('DGRGR')
^
<SYNTAX>

а
do helloworld^util("my name is Natasha")
вроде работает, выдает:
USER>DO HELLOWORLD^UTIL("SEGRG")

DO HELLOWORLD^UTIL("SEGRG")
^
<NOROUTINE> *UTIL
(надеюсь, так и должно быть)

что я делаю не так с Set?
21 сен 17, 18:07    [20813336]     Ответить | Цитировать Сообщить модератору
 Re: Studio.Как создать программку  [new]
DAiMor
Member

Откуда: Volzhsky -> Moscow -> CZ, Brno
Сообщений: 2427
SYNTAX, потому что одинарные кавычки вместо двойных и set предполагает работу с переменным, а у вас ее почему то нету
И NOROUTINE потому что вызываете другую программу, которой у вас очевидно нет, потому что UTIL и util это разные программы, как и метки они регистрозависимые
21 сен 17, 18:33    [20813384]     Ответить | Цитировать Сообщить модератору
 Re: Studio.Как создать программку  [new]
Александр Коблов
Member

Откуда: Краснодар, Москва
Сообщений: 238
Sery717,

нужно имя переменной указывать, какой вы значение присваиваете

set a = $$helloworld^util("my name is Natasha") 
21 сен 17, 18:40    [20813404]     Ответить | Цитировать Сообщить модератору
 Re: Studio.Как создать программку  [new]
Sery717
Member

Откуда:
Сообщений: 3
DAiMor, я и кавычки разные пробовал и регистры- ничего не помогает( с той программой helloworld, которую neznau кинул, точно все в порядке?
22 сен 17, 08:33    [20814366]     Ответить | Цитировать Сообщить модератору
 Re: Studio.Как создать программку  [new]
DAiMor
Member

Откуда: Volzhsky -> Moscow -> CZ, Brno
Сообщений: 2427
Sery717,

Я подправил немного его сообщение, выделил код нормально, и исправил ошибку.
22 сен 17, 10:20    [20814669]     Ответить | Цитировать Сообщить модератору
 Re: Studio.Как создать программку  [new]
krvsa
Member

Откуда: г Волжский
Сообщений: 12907
neznau
helloworld(text="") public
{
 // Вывода на текущее устройство вывода
 write "Hello, world! My text "_text
 // Выход с возвратом "return value"
 quit "return value"
}

Жуть какая-то.
Зачем усложнять простой М-язык?

helloworld(text)
 // Вывода на текущее устройство вывода
 w "Hello, world! My text "_$g(text)
 // Выход с возвратом 
 q:$q ""
 q
22 сен 17, 13:23    [20815653]     Ответить | Цитировать Сообщить модератору
 Re: Studio.Как создать программку  [new]
DAiMor
Member

Откуда: Volzhsky -> Moscow -> CZ, Brno
Сообщений: 2427
krvsa,

Потому что так делать нельзя, такой код чистое зло и его надо ликвидировать.
22 сен 17, 13:39    [20815715]     Ответить | Цитировать Сообщить модератору
 Re: Studio.Как создать программку  [new]
krvsa
Member

Откуда: г Волжский
Сообщений: 12907
DAiMor
Потому что так делать нельзя, такой код чистое зло и его надо ликвидировать.

Наверное и М нужно ликвидировать?
22 сен 17, 13:42    [20815726]     Ответить | Цитировать Сообщить модератору
 Re: Studio.Как создать программку  [new]
krvsa
Member

Откуда: г Волжский
Сообщений: 12907
P.S.
И про "чистое зло" это прям круто!!!
22 сен 17, 13:43    [20815729]     Ответить | Цитировать Сообщить модератору
 Re: Studio.Как создать программку  [new]
DAiMor
Member

Откуда: Volzhsky -> Moscow -> CZ, Brno
Сообщений: 2427
krvsa
DAiMor
Потому что так делать нельзя, такой код чистое зло и его надо ликвидировать.

Наверное и М нужно ликвидировать?
M пускай живет, но в Cache так писать не надо. Добавляет очень много гемороя и вероятность ошибок в работе растет от этого использование процедур с фигурными скобками решает много проблем.
22 сен 17, 13:46    [20815736]     Ответить | Цитировать Сообщить модератору
 Re: Studio.Как создать программку  [new]
krvsa
Member

Откуда: г Волжский
Сообщений: 12907
DAiMor
M пускай живет

Фух, камень с плеч...

DAiMor
но в Cache так писать не надо

Твое мнение оно твоим и останется. Т.ч. осторожнее с такими высказываниями. А то люди и правда могут поверить в это...
22 сен 17, 13:54    [20815792]     Ответить | Цитировать Сообщить модератору
 Re: Studio.Как создать программку  [new]
DAiMor
Member

Откуда: Volzhsky -> Moscow -> CZ, Brno
Сообщений: 2427
krvsa
DAiMor
но в Cache так писать не надо

Твое мнение оно твоим и останется. Т.ч. осторожнее с такими высказываниями. А то люди и правда могут поверить в это...
Я очень надеюсь, что мне люди поверят и будут так делать
22 сен 17, 13:58    [20815811]     Ответить | Цитировать Сообщить модератору
 Re: Studio.Как создать программку  [new]
Блок А.Н.
Member

Откуда: Новосибирск
Сообщений: 3549
DAiMor
в Cache так писать не надо. Добавляет очень много гемороя и вероятность ошибок в работе растет от этого использование процедур с фигурными скобками решает много проблем.
Подпишусь и добавлю от себя, что в Каше желательно вообще писать код в классах, потому что EmbeddedSQL ведет себя в процедурах со скобками крайне паршиво, хост-переменные нужно добавлять в public-лист, иначе они просто не будут видеться. Хотя Дмитрий скорее всего скажет, что не нужно использовать ESQL.
Вообще, изоляция переменных хотя и была сделана (что было необходимо, потому что ее отсутствие порождало массу совершенно тупых и трудноотлаживаемых ошибок), ведет себя в некоторых случаях немножечко странно, особенно если смешивать процедуры с изолированными и открытыми переменными (а одна процедура может в себе содержать и изолированные и публичные переменные).
22 сен 17, 19:56    [20817224]     Ответить | Цитировать Сообщить модератору
 Re: Studio.Как создать программку  [new]
DAiMor
Member

Откуда: Volzhsky -> Moscow -> CZ, Brno
Сообщений: 2427
Я скорее скажу, что Embedded SQL можно использовать, это все таки самый быстрый вариант, но только в тех классах с которым этот SQL работает.
Чтобы при изменении класса, этот sql тоже был перекомпилирован.
22 сен 17, 21:38    [20817382]     Ответить | Цитировать Сообщить модератору
 Re: Studio.Как создать программку  [new]
Блок А.Н.
Member

Откуда: Новосибирск
Сообщений: 3549
DAiMor,

А за использование update/insert в ESQL вне класса отрубание рук по плечи!
23 сен 17, 08:27    [20817750]     Ответить | Цитировать Сообщить модератору
 Re: Studio.Как создать программку  [new]
Sery717
Member

Откуда:
Сообщений: 3
UDAiMor,
Спасибо за помощь, теперь все работает)
23 сен 17, 10:28    [20817813]     Ответить | Цитировать Сообщить модератору
Все форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M Ответить