powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как вызвать такую рутину Open^%pbwin85
18 сообщений из 18, страница 1 из 1
Как вызвать такую рутину Open^%pbwin85
    #35057143
Гость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)

проходит

Может кто поможет, что делаю не так
...
Рейтинг: 0 / 0
Как вызвать такую рутину Open^%pbwin85
    #35060555
imdb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость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
Как вызвать такую рутину Open^%pbwin85
    #35061436
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересно... Что "вынуждает" людей писать в Каше на Бейсике?
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
Как вызвать такую рутину Open^%pbwin85
    #35061710
гость 68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответы, ошибка была у меня, ручки кривые
передаю переменные IN_FILE и FILE


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

PS а что Вас вынудило писать не на Бейсике? Просто интересно?)
Не все же Гуру Каше как вы? Надеюсь Вы меня не лешите права писать в этот форум? ;)
...
Рейтинг: 0 / 0
Как вызвать такую рутину Open^%pbwin85
    #35062547
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что вынуждает не писать на Бэйсике:
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
Как вызвать такую рутину Open^%pbwin85
    #35062723
imdb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
гость 68Спасибо за ответы, ошибка была у меня, ручки кривые
передаю переменные IN_FILE и FILE
Пожалуйста. Рад, что ошибка найдена.
гость 68PS Да чтож Вас так бейсик раздражает? ;) В приницпе я понимаю ваше удивление.
Бейсик в России и сам по себе мало распространен, так же как и Cache, но когда их используют в связке - вот это и вызывает удивление.
гость 68Давайте спросим у Интресистемс они то же к нему так брезгливо относяться и почему? )
Интересно скорее другое, почему она вообще сделала возможной именно такую связку?! Наверно это связано с американскими клиентами: Intersystems ведь американская контора и Бейсик они любят.
В техническом же плане, Alexey Maslov все осветил.
...
Рейтинг: 0 / 0
Как вызвать такую рутину Open^%pbwin85
    #35062724
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость 68а что Вас вынудило писать не на Бейсике?
Вроде все просто. Когда взял СБД Каше - стал писать на его языке. А всякие там Бейсики (в Каше разумеется) это все от лукавого... Чисто рекламный трюк и не более того.
...
Рейтинг: 0 / 0
Как вызвать такую рутину Open^%pbwin85
    #35066514
Гость 68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо за ответы. Суть такова у нас купленная система на каше, надо иногда что нить чуть-чуть своего дописать совсем чуть-чуть. Уж так сложилось что пишу VBS, VB/Office,Дельфи на мне висит много разных задач, например мной написанный клиент-банк на Дельфи,1С-зарплата, MS Sql мне уже бывает сложно переключаться с одной среды на другую. Для меня бейсик в Каше просто спасение.



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

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

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

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

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

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

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

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

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

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


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