Перейти к содержанию
Mитька

Команды на русском VBS

Рекомендуемые сообщения

Что нужно: привязать команду SPREFSHOW на комбинацию букв СВЯЗЬ.

Если пользоваться лиспом:

 

(defun C:связь ()(command "sprefshow")	(princ))

 

то всё проходит прекрасно. Но лиспом не нра, мне хочется VBS. Тут я сталкиваюсь с проблемой. Допускаю, что код местами может быть излишним, я его брал с примера создания NSF-файла (т.к. на выходе именно он мне и нужен). Так вот код:

 

<command name="связь" weight="30" cmdtype="1" capsdisable="0"><script lang="VBS"><![CDATA[ThisDrawing.SendCommand "sprefshow" & vbCr]]></script></command>

 

программа не воспринимает. "Неправильный ключ или команда. Введите (') для команды или (?) для математического выражения: связь"

Но стоит поменять имя команды на латиницу и всё становится хорошо.

 

<command name="svyaz" weight="30" cmdtype="1" capsdisable="0"><script lang="VBS"><![CDATA[ThisDrawing.SendCommand "sprefshow" & vbCr]]></script></command>

 

 

Вопрос: дело в особенностях самого языка или это я что-то делаю не так? Мне оченно нужна именно русская команда и оченно нужен именно VBS.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не совсем понял, для чего нужно так сложно назначать алиас команды :blink:

чем не устраивает переназначить в *.pgp?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

pgp привязан к конкретному компьютеру, как я себе представляю. nsf можно расположить на сервере, а там в одном файле:

- и назвать команды (существующие)

- и прописать функционал для новых.

В этом нет ничего сложного технически, если есть экселевский файл, который автоматически формирует nsf-файл.

Если pgp можно дополнительно вытащить на сервер и менять имена там, то это выход, но в итоге это двойная работа. Один файл будет для функционала команды, второй - для её русского имени.

Изменено пользователем Mитька

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

>>Один файл будет для функционала команды, второй - для её русского имени.

не понял??? что то еще будет делать кроме показывать связи?

------------

щас ТП по любому ченить ответит

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И их 3 типа:

- обзывание системных команд, типа sprefshow

- привязка параметрических объектов из базы к русским же командам

- просто любая фигня на VBS, которую мне захочется (например, соединить в 1 команду все проверки чертежа).

 

NSF-файл всё это может объединить.

 

А вот pgp худо-бедно справится только с переименованием. Худо-бедно, т.к. придётся его подгружать каждый раз на все компы при добавлении чего-то. А это категорически не устраивает.

Изменено пользователем Mитька

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

тююю

 

; **********----------********** ; No xlate ; DO NOT REMOVE

;======РЕДАКТИРОВАНИЕ=========

;+++++++++++++++

К, *КОПИРОВАТЬ

Р, *РАСЧЛЕНИТЬ

h, *РАСЧЛЕНИТЬ

g, *ПЕРЕНЕСТИ

r, *КОПИРОВАТЬ

1, *ОБРЕЗАТЬ

11, *УДЛИНИТЬ

КК, *КОПИРОВАТЬСВ

рр, *растянуть

c, *СТЕРЕТЬ

;-----------------------------------

;подрезка объекта маскировки

ии, *CLIPIT

;показать скрыть маскировку

мв, *tframes

;---ред полилинию----------

плр, *полред

;-------------------

;--------мастер объектов СПДС------

мм, *spsmaster

;-----конверт текст в Мтекст------

тт, *txt2mtxt

;-------маска текста---------

тм, *TEXTMASK

;----------;массив СПДС-----------------

мас, *sparray

vfc, *sparray

;--------ред таб на чертеже------------

рт, *SPIPEDITTBL

;=========ПАРАМЕТРИЗАЦИЯ============

;-----Точка------------

4, *GcCoincident

;-----Параллельность-----

44, *GcParallel

;-----Удалить параметризацию------

444, *DelConstraint

;========РИСОВАНИЕ===========

;+++++++++++++++++

кр, *круг

;--------уровень на плане------

т, *sppllevel

мр, *маскировка

;=========ВИДЫ============

я, *показать

z, *показать

;==========СПДС=============

;---------поиск СПДС---------

пп, *SPQS

;--------броузер объектов СПДС--------

бр, *spbrowser

;-----регенирировать-----

об, *spregen

;------Таблица---------

таб, *sptable

фр, *spformat

фрр, *spformat2

;------Поиск--------------

фф, *spfind

;=======ВЫНОСКИ==========

;-универсальная

вы, *СПУНИВЫН

; позиционная

вп, *spnotep

;---линейная-----

вл, *splinm

;---узловая---

ву, *spnotek

;-------удалить линию выноску-

вв, *sppld

;-------Разгруппировать------------------

гг, *РАЗГРУПП

;-------слой объекта активным-------

яя, *Laymcur

;----------Диспетчер атрибутов блока------

дд, *ДИСПАТБЛК

вс, *sppickpoint

вк, *SPCONNECTTO

;----------Размеры----------------

ра, *spdim

рал, *dimlinear

рап, *dimaligned

;---------ПЕЧАТЬ--------

;пч, START c:\Users\razigraevana\Documents\setup\ACAD\VBA\Plot_SPDS_2012,1

ппч, START "PlotSPDS",1

;------ЭКСПОРТ ТАБЛИЦ В ЭКСЕЛЬ

тэ, *СПЭКСПТАБЛ

ТИ, *СПИМПТАБЛ

;-----Выбрать объекты отчета----------------

ТА, *sptblprep

;----привязать формат

ТП, *sptblplusframe

;--отвязать формат

ТОТ, *sptblminusframe

 

это не считая еще процедур на лиспе, вба и прицепленных экзешников

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

>>>А если их 100?

твои пользователи их все все равно не запомнят, придется вешать на иконки или пункты меню или инструменты, а им пофих на каком языке команда)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И ещё, так на всякий случай: Я ПРЕКРАСНО ЗНАЮ про функцию "appload" и чемодан автозагрузки. Этот вариант даже не рассматриваится, т.к. отключается по желанию конкретного пользователя. Обновляемый на сервере NSF-файл - идеальный вариант. Исходники такие.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

тююю

 

; **********----------********** ; No xlate ; DO NOT REMOVE

;======РЕДАКТИРОВАНИЕ=========

;+++++++++++++++

К, *КОПИРОВАТЬ

Р, *РАСЧЛЕНИТЬ

h, *РАСЧЛЕНИТЬ

g, *ПЕРЕНЕСТИ

r, *КОПИРОВАТЬ

1, *ОБРЕЗАТЬ

11, *УДЛИНИТЬ

КК, *КОПИРОВАТЬСВ

рр, *растянуть

c, *СТЕРЕТЬ

;-----------------------------------

;подрезка объекта маскировки

ии, *CLIPIT

;показать скрыть маскировку

мв, *tframes

;---ред полилинию----------

плр, *полред

;-------------------

;--------мастер объектов СПДС------

мм, *spsmaster

;-----конверт текст в Мтекст------

тт, *txt2mtxt

;-------маска текста---------

тм, *TEXTMASK

;----------;массив СПДС-----------------

мас, *sparray

vfc, *sparray

;--------ред таб на чертеже------------

рт, *SPIPEDITTBL

;=========ПАРАМЕТРИЗАЦИЯ============

;-----Точка------------

4, *GcCoincident

;-----Параллельность-----

44, *GcParallel

;-----Удалить параметризацию------

444, *DelConstraint

;========РИСОВАНИЕ===========

;+++++++++++++++++

кр, *круг

;--------уровень на плане------

т, *sppllevel

мр, *маскировка

;=========ВИДЫ============

я, *показать

z, *показать

;==========СПДС=============

;---------поиск СПДС---------

пп, *SPQS

;--------броузер объектов СПДС--------

бр, *spbrowser

;-----регенирировать-----

об, *spregen

;------Таблица---------

таб, *sptable

фр, *spformat

фрр, *spformat2

;------Поиск--------------

фф, *spfind

;=======ВЫНОСКИ==========

;-универсальная

вы, *СПУНИВЫН

; позиционная

вп, *spnotep

;---линейная-----

вл, *splinm

;---узловая---

ву, *spnotek

;-------удалить линию выноску-

вв, *sppld

;-------Разгруппировать------------------

гг, *РАЗГРУПП

;-------слой объекта активным-------

яя, *Laymcur

;----------Диспетчер атрибутов блока------

дд, *ДИСПАТБЛК

вс, *sppickpoint

вк, *SPCONNECTTO

;----------Размеры----------------

ра, *spdim

рал, *dimlinear

рап, *dimaligned

;---------ПЕЧАТЬ--------

;пч, START c:\Users\razigraevana\Documents\setup\ACAD\VBA\Plot_SPDS_2012,1

ппч, START "PlotSPDS",1

;------ЭКСПОРТ ТАБЛИЦ В ЭКСЕЛЬ

тэ, *СПЭКСПТАБЛ

ТИ, *СПИМПТАБЛ

;-----Выбрать объекты отчета----------------

ТА, *sptblprep

;----привязать формат

ТП, *sptblplusframe

;--отвязать формат

ТОТ, *sptblminusframe

 

это не считая еще процедур на лиспе, вба и прицепленных экзешников

 

 

Так, а теперь мне нужно добавить новую команду и раскидать её по 25 компам. Каковы мои действия?

Изменено пользователем Mитька

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

дык путь к NFS не отключить пользователю получается?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

>>Так, а теперь мне нужно добавить новую команду. Каковы мои действия?

открываешь pgp и добавляешь, но это в CAD, как в нане я не умею

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

дык путь к NFS не отключить пользователю получается?

 

 

Удалить его нельзя, так что для этого нужно залезть туда, где он прописан путь к нему и его автозагрузка. А до этого у моей целевой аудитории не дойдёт...

Изменено пользователем Mитька

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

>>Так, а теперь мне нужно добавить новую команду. Каковы мои действия?

открываешь pgp и добавляешь, но это в CAD, как в нане я не умею

 

 

см. поправочку про 25 компов

 

Повторюсь, pgp - выход, если у нему можно присобачить отдельный допник и так же выкинуть на сервер, откуда он будет автоматом раскидываться на все компы.

Изменено пользователем Mитька

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И всё это не отменят изначального вопроса: почему команда, названная по-русски на лиспе, не требует дополнительной латинской прокладки, а на VBS - требует..?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

>>>А если их 100?

твои пользователи их все все равно не запомнят, придется вешать на иконки или пункты меню или инструменты, а им пофих на каком языке команда)))

 

 

А мне и не надо, чтобы они их запоминали. Эти команды я туда пихаю в основном ради того, чтобы объекты из базы реагировали на команду "Последняя" и их и прочее можно было повесить на кнопки.

А русский язык проще для ввода с клавы. Ваши же команды в pgp тоже ж зачем-то русские псевдонимы имеют... Видимо, не так уж пользователям и пофиг.

Изменено пользователем Mитька

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

и чего прям все 25 работают с ком строки? уот ни разу не верю...

создать свое меню с бэкджеком и... панельками , закинуть на сервер, а юзерам подгружать

в меню и панелях прописать команды лиспа vbs и чего душа пожелает, хоть на иврите

ну и я б не стал циклиться именно на vbs, рано или поздно поймешь, что макароны лучше вилкой, а суп ложкой некоторые вещи проще делать на лиспе

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

>>> Эти команды я туда пихаю в основном ради того, чтобы объекты из базы реагировали на команду "Последняя"

костыликом больше

>>на VBS - требует..?

костыликом меньше)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а юзерам подгружать

 

А как..? Фразой "подгрузите, пожалуйста"?

 

Про лисп и т.д. - не спорю. Но это со временем. Сейчас - моя задача сделать так, чтобы все мои допы подгружались на все компы без чьего-то стороннего желания и участия...

А если все мои хотелки можно совместить в 1 файле, то зачем изголяться..?

Изменено пользователем Mитька

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в порядк бреда...

что там с кодировками...

выведи в ком строку из NFS ченить на кирилице

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нормально воспроизводит, пробовал, если команда на латинице обозвана, если имя на кириллице - не видит саму команду.

Изменено пользователем Mитька

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ладно, проблема решаема как минимум дополнительным PGP-файлом, со ссылкой #include "\\Server\Users\CherkasovDI\Desktop\111.pgp" в основном файле. Танцы с бубном, но разовые. Но в идеале всё-таки без псевдоимён обойтись...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

скорее всего действительно какая-нибудь глупость в vbs... надо смотреть!

можно попробовать вариант полукостыльного решения :

- пишем команду на VBS, обзываем нормально по английски (что, кмк, глубоко правильно. не знаю как кого, а меня бесят локализованые монстры типа "уПРОСТИГОСПОДИСПЛАЙН")

- тут же пишем для нее алиас кириллицей на лиспе

:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А мне вариант с дополнительным pgp-файлом больше нравится. Ну будет их на серваке 2, ну и фиг с ним. Всё равно содержимое автоматом формируется у обоих.

Изменено пользователем Mитька

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

дык алиас вроде сразу в скрипте прописать можно... или я путаю?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...

×
×
  • Создать...