Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как вызвать такую рутину Open^%pbwin85 / 18 сообщений из 18, страница 1 из 1
11.01.2008, 20:16
    #35057143
Гость68
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать такую рутину Open^%pbwin85
Есть рутина пытаюсь ее вызвать из кода на бейсике

rc=open@%pbwin85(1,IN_FILE,"R",EF)

ошибка при компиляции
Expected Identifier : 'rc=open@%pbwin85(1,IN_FILE,"R",EF)' : Offset:8

такая строка работает
RC=read@%pbwin85(1,IN_FILE,WHAT)


на COS

Set RC=$$open^%pbwin85(1,IN_FILE,"R",EF)

проходит

Может кто поможет, что делаю не так
...
Рейтинг: 0 / 0
14.01.2008, 16:59
    #35060555
imdb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать такую рутину Open^%pbwin85
Гость68Есть рутина пытаюсь ее вызвать из кода на бейсике

rc=open@%pbwin85(1,IN_FILE,"R",EF)

ошибка при компиляции
Expected Identifier : 'rc=open@%pbwin85(1,IN_FILE,"R",EF)' : Offset:8

такая строка работает
RC=read@%pbwin85(1,IN_FILE,WHAT)


на COS

Set RC=$$open^%pbwin85(1,IN_FILE,"R",EF)

проходит

Может кто поможет, что делаю не так
С Бейсиком дело не имел, в смысле в связке с Каше. Но беглый осмотр приводит к мысле, что неправильно передаются значения аргументов. Разница между работающим и неработающим примером только в 3 аргументе: если переменная - работает, если значение - нет. В бейсике аргументы передаются по ссылке, а не позначению (для того, чтобы передать по значению - надо указать ByVal). Точно не могу сказать - каше как всегда скуп на примеры. :(
...
Рейтинг: 0 / 0
15.01.2008, 08:51
    #35061436
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать такую рутину Open^%pbwin85
Интересно... Что "вынуждает" людей писать в Каше на Бейсике?
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
15.01.2008, 10:32
    #35061710
гость 68
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать такую рутину Open^%pbwin85
Спасибо за ответы, ошибка была у меня, ручки кривые
передаю переменные IN_FILE и FILE


PS Да чтож Вас так бейсик раздражает? ;) В приницпе я понимаю ваше удивление.
Давайте спросим у Интресистемс они то же к нему так брезгливо относяться и почему? )
...
Рейтинг: 0 / 0
15.01.2008, 10:42
    #35061743
Гость 68
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать такую рутину Open^%pbwin85
Представляю какую сейчас скажу крамолу, но исключительно на мой субъективный вкус скромного программиста, бейсик визуально более приятен для меня.

PS а что Вас вынудило писать не на Бейсике? Просто интересно?)
Не все же Гуру Каше как вы? Надеюсь Вы меня не лешите права писать в этот форум? ;)
...
Рейтинг: 0 / 0
15.01.2008, 13:43
    #35062547
Alexey Maslov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать такую рутину Open^%pbwin85
Что вынуждает не писать на Бэйсике:
1) По функционалу Cache Basic предоставляет лишь подмножество COS. На вскидку, отсутствуют:
-- вызовы системных функций $zutil(N,...)
-- Job
-- косвенность

2) Многие из нас начали использовать Cache (и некоторые другие подобные СУБД) до 2000 г., когда Cache Basic'а и в помине не было.

3) Функциональное ядро COS - язык M[UMPS] - стандартизован ISO/ANSI, что потенциально делает серверный код переносимым (не только между аппаратными платформами, но и между СУБД). Понятно, что не всем это нужно и не все об этом думают. Здесь можно провести аналогию с языками запросов: у каждой СУБД свой диалект SQL, но все-таки немного греет, что SQL стандартизован. Напротив, СУБД пусть даже с хорошими, но отличными от SQL языками запросов, как-то не приживаются на рынке.

4) И, пожалуй, наиболее важное для новичков: поскольку (в основном по причинам 1 и 2), Cache Basic не получил признания в Сache-сообществе, вам будет нелегко получить по нему какую-либо помощь. Изучить COS за пару (максимум) недель - не проблема, тем более если вы владеете какими-то другими скриптовыми языками, а писать читабельный код на COS - вполне можно (и даже нужно!)
...
Рейтинг: 0 / 0
15.01.2008, 14:24
    #35062723
imdb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать такую рутину Open^%pbwin85
гость 68Спасибо за ответы, ошибка была у меня, ручки кривые
передаю переменные IN_FILE и FILE
Пожалуйста. Рад, что ошибка найдена.
гость 68PS Да чтож Вас так бейсик раздражает? ;) В приницпе я понимаю ваше удивление.
Бейсик в России и сам по себе мало распространен, так же как и Cache, но когда их используют в связке - вот это и вызывает удивление.
гость 68Давайте спросим у Интресистемс они то же к нему так брезгливо относяться и почему? )
Интересно скорее другое, почему она вообще сделала возможной именно такую связку?! Наверно это связано с американскими клиентами: Intersystems ведь американская контора и Бейсик они любят.
В техническом же плане, Alexey Maslov все осветил.
...
Рейтинг: 0 / 0
15.01.2008, 14:25
    #35062724
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать такую рутину Open^%pbwin85
Гость 68а что Вас вынудило писать не на Бейсике?
Вроде все просто. Когда взял СБД Каше - стал писать на его языке. А всякие там Бейсики (в Каше разумеется) это все от лукавого... Чисто рекламный трюк и не более того.
...
Рейтинг: 0 / 0
16.01.2008, 18:21
    #35066514
Гость 68
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать такую рутину Open^%pbwin85
Всем спасибо за ответы. Суть такова у нас купленная система на каше, надо иногда что нить чуть-чуть своего дописать совсем чуть-чуть. Уж так сложилось что пишу VBS, VB/Office,Дельфи на мне висит много разных задач, например мной написанный клиент-банк на Дельфи,1С-зарплата, MS Sql мне уже бывает сложно переключаться с одной среды на другую. Для меня бейсик в Каше просто спасение.



может уже совсем плохим стал, но мне тяжело помнить синтаксис
if на Бейсике, Дельфи, COS, XML, 1C
...
Рейтинг: 0 / 0
17.01.2008, 09:17
    #35067191
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать такую рутину Open^%pbwin85
Гость 68может уже совсем плохим стал, но мне тяжело помнить синтаксис
if на Бейсике, Дельфи, COS, XML, 1C
Ну if не самый сложный оператор... Но в аптеках сейчас много всяких таблеток для улучшения памяти продают. Тем сам и спасаюсь...
...
Рейтинг: 0 / 0
17.01.2008, 09:50
    #35067256
Гость 68
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать такую рутину Open^%pbwin85
Нет уж разрешите с вами не согласиться про if

"...Увы, COS такой язык, что в нем есть много неочевидных вещей. Начните с мануала http://www.intersystems.ru/cache/devcorner/index.html. Будете смеяться, но даже описание оператора IF стоит почитать - это не то что Вы думаете."

это мне наш сопровожденец ответил)
...
Рейтинг: 0 / 0
17.01.2008, 10:11
    #35067313
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать такую рутину Open^%pbwin85
Гость 68COS такой язык, что в нем есть много неочевидных вещей
Я уже более 10-ти лес с М-технологиями... Наверное привык уже... На свежий взгляд чего там "не очевидно"?
...
Рейтинг: 0 / 0
17.01.2008, 11:08
    #35067551
Гость 68
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать такую рутину Open^%pbwin85
Ну вот сразу на вскидку
Есть некая система которая имеет глобальные( скажем Public) переменные.
Есть возможность какому то действию присвоить вызов своих скриптов(или методов своих классов)
Так вот если я вызываю рутину (в студии это программы программы) то в своей программе я вижу эти переменные
@dogkred@("DATPDP")

Если же вызываю метод класса то не вижу. Чтобы увидеть надо оказывается убрать в строке
Class...[Procedure Block], Procedure Block- тогда все гуд

Сейчас его читаю ни хрена не понимаю зачем это и как его едят.

А пол дня убили чтоб разобраться, так и не разобрались, пока хот лайн не помог.

На мой взгляд неочевидные вещи.
Я не говорю что это плохо, это надо знать, изучать приобретать опыт итд. Но бывает надо срочно чтоб заработало всего 2 строчки кода
...
Рейтинг: 0 / 0
17.01.2008, 11:26
    #35067624
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать такую рутину Open^%pbwin85
Гость 68 , я про if спрашивал... :)
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
18.01.2008, 05:56
    #35070162
logist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать такую рутину Open^%pbwin85
Да легко. Например, безаргументная форма if с синтаксисом do с точкой. Найдите
еще один язык, который так умеет.

Другое дело, что большинству программистов про это и знать не надо.

=logist (Сергей Шутов)
ООО Димас, Хабаровск
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
18.01.2008, 09:00
    #35070336
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать такую рутину Open^%pbwin85
logistНапример, безаргументная форма if с синтаксисом do с точкой.
Так это вовсе мелочи...
...
Рейтинг: 0 / 0
18.01.2008, 18:38
    #35072535
Как вызвать такую рутину Open^%pbwin85
Basic в Cache' был добавлен для облегчения перехода на Cache' новых разработчиков. Язык был выбран, насколько мне известно, в результате опроса пишущей общественности США - basic там распространен сильнее.

Как правильно заметили выше, в нем отсутствует часть возможностей Cache Object Script, однако бизнес-логика взаимодействия, скажем, на уровне объектов, вполне может быть реализовано на basic, чем, как раз частенько и интересуются/занимаются начинающие программисты на Cache'. Плюс этот код, который был написан в начале проекта не придется выкидывать, т.к. мультиязыковые классы вполне могут существовать.
---------
http://writeimagejournal.com - InterSystems Russia Technology Blog.
...
Рейтинг: 0 / 0
21.01.2008, 12:14
    #35075488
imdb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать такую рутину Open^%pbwin85
Борис ЕгоровBasic в Cache' был добавлен для облегчения перехода на Cache' новых разработчиков. Язык был выбран, насколько мне известно, в результате опроса пишущей общественности США - basic там распространен сильнее.
Я был прав. :)
logist
Да легко. Например, безаргументная форма if с синтаксисом do с точкой. Найдите
еще один язык, который так умеет.
Особенности есть во всех языках.
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как вызвать такую рутину Open^%pbwin85 / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]