powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / $TRANSLATE
25 сообщений из 82, страница 1 из 4
$TRANSLATE
    #36759560
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем доброго дня !

Разве функция не может комбинацию букв транслировать в другую ? :(

Код: plaintext
1.
Set DAT="ki{inev"
 I DAT["ki" S DAT=$TR(DAT,"ki","CHI")

Спасибо.
...
Рейтинг: 0 / 0
$TRANSLATE
    #36759562
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeriuРазве функция не может комбинацию букв транслировать в другую ? :(
Нет. Только "символ на символ"...
...
Рейтинг: 0 / 0
$TRANSLATE
    #36759568
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, неприятно .
...
Рейтинг: 0 / 0
$TRANSLATE
    #36759571
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valeriu , как вариант для решения...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Trans(Str,Sub1,Sub2)                  ; В строке Str заменить Sub1 на Sub2
 N str,i,r
 Q:Str'[Sub1 Str
 s Sub2=$G(Sub2)
 S r=""
 S str=""
 F i= 1 : 1 :$L(Str,Sub1) S str=str_r_$P(Str,Sub1,i),r=Sub2
 Q str
...
Рейтинг: 0 / 0
$TRANSLATE
    #36759578
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо ! Сейчас попробуем .
...
Рейтинг: 0 / 0
$TRANSLATE
    #36759630
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторto krvsa

Заработала. Спасибо.
...
Рейтинг: 0 / 0
$TRANSLATE
    #36759632
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
$Replace
?
...
Рейтинг: 0 / 0
$TRANSLATE
    #36759640
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или $REPLACE (начиная с Caché 2008.1)
...
Рейтинг: 0 / 0
$TRANSLATE
    #36759665
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
servitначиная с Caché 2008.1
У клиентуры нашей пока 5.0 или 2007... Только начинается переход на 2009. Т.ч. функция МСМовских времён еще послужит!
...
Рейтинг: 0 / 0
$TRANSLATE
    #36759678
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А мне для МСМ-а и нужно было ... ))))))))))))
...
Рейтинг: 0 / 0
$TRANSLATE
    #36759682
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valeriu , тогда обращайся ежели чего. У нас целая подборка всяких функций есть. Все проверено годами эксплуатации.
...
Рейтинг: 0 / 0
$TRANSLATE
    #36759701
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо еще раз !!!
...
Рейтинг: 0 / 0
$TRANSLATE
    #36760715
ser_shu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa Valeriu , как вариант для решения...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Trans(Str,Sub1,Sub2)                  ; В строке Str заменить Sub1 на Sub2
 N str,i,r
 Q:Str'[Sub1 Str
 s Sub2=$G(Sub2)
 S r=""
 S str=""
 F i= 1 : 1 :$L(Str,Sub1) S str=str_r_$P(Str,Sub1,i),r=Sub2
 Q str

Странный код (из другой программы делали?), по смыслу и стилю хотя бы так исправить:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Trans(Str,Sub1,Sub2)                  ; В строке Str заменить Sub1 на Sub2
 N str,i,lSub1
 s Str=$G(Str)
 s Sub1=$G(Sub1)
 s Sub2=$G(Sub2)
 Q:Str'[Sub1 Str
 S lSub1=$L(Str,Sub1)
 S str=$P(Str,Sub1)
 F i= 2 : 1 :lSub1 S str=str_Sub2_$P(Str,Sub1,i)
 Q str
...
Рейтинг: 0 / 0
$TRANSLATE
    #36760725
ser_shu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa,

Я не в смысле, что надо работающую программу исправлять :) работает, и не трогайте :)

Просто, если защищена $get(Sub2), то и первые два параметра надо защищать на входе.
И нет смысла в цикле вычислять или переприсваивать константы - только в заблуждение вводит - вдруг что-то в цикле меняется, количество подстроки Sub1 или переменная Sub2.
...
Рейтинг: 0 / 0
$TRANSLATE
    #36760833
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ser_shu , у тебя такое мнение/виденье... У меня такое... Я же тебе своё не навязываю.
...
Рейтинг: 0 / 0
$TRANSLATE
    #36761692
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
:) пойнт оф вью
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Trans(Str,Sub1,Sub2)  ; В строке Str заменить Sub1 на Sub2
 Q:$g(Str)="" "" ;негде менять
 Q:$g(Sub1)="" Str ;нечего менять
 Q:'$F(Str,Sub1) Str ;нечего менять 
 s Sub2=$G(Sub2)
 while $F(Str,Sub1) {
	s Str=$P(Str,Sub1)_Sub2_$P(Str,Sub1, 2 )
 }
 Q Str
...
Рейтинг: 0 / 0
$TRANSLATE
    #36761776
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой :)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Trans(Str,Sub1,Sub2)  ; В строке Str заменить Sub1 на Sub2
 Q:$g(Str)="" "" ;негде менять
 Q:$g(Sub1)="" Str ;нечего менять
 Q:'$F(Str,Sub1) Str ;нечего менять 
 s Sub2=$G(Sub2)
 Q:Sub1=Sub2 Str ;незачем менять 
 while $F(Str,Sub1) {
	s Str=$P(Str,Sub1)_Sub2_$P(Str,Sub1, 2 )
 }
 Q Str
...
Рейтинг: 0 / 0
$TRANSLATE
    #36761799
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefint , ты хоть потестируй функцию свою немного...

Код: plaintext
1.
2.
w $$Trans^tmp( 114444411333333118888 , 11 , 22 )
 2244444 
...
Рейтинг: 0 / 0
$TRANSLATE
    #36761881
krvsa,

делать на работе нечего, вот и решил потестить скриптик? ;)))
...
Рейтинг: 0 / 0
$TRANSLATE
    #36761892
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кеннннннннн , не ты меня нанимал... Не перед тобой и ответ держать.
Да еще и аноним...
...
Рейтинг: 0 / 0
$TRANSLATE
    #36761897
krvsa,

нервный какой :)
...
Рейтинг: 0 / 0
$TRANSLATE
    #36761929
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кеннннннннн , пора уже таких интересующихся моим рабочим временем в очередь записывать и плату брать. Таки озолочусь наверное!
...
Рейтинг: 0 / 0
$TRANSLATE
    #36762209
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
$TRANSLATE
    #36762229
MX-9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кенннннннннkrvsa,

делать на работе нечего, вот и решил потестить скриптик? ;)))

это не ошибка ,
а недокументированная особенность


и вообще тестить вредно -
для тестующего
...
Рейтинг: 0 / 0
$TRANSLATE
    #36762364
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa, потестил :(
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Trans(Str,Sub1,Sub2)  ; В строке Str заменить Sub1 на Sub2
 Q:$g(Str)="" "" ;негде менять
 Q:$g(Sub1)="" Str ;нечего менять
 Q:'$F(Str,Sub1) Str ;нечего менять 
 s Sub2=$G(Sub2)
 Q:Sub1=Sub2 Str ;незачем менять 
 while $F(Str,Sub1) {
	s Str=$P(Str,Sub1)_Sub2_$P(Str,Sub1, 2 ,$L(Str,Sub1))
 }
 Q Str
...
Рейтинг: 0 / 0
25 сообщений из 82, страница 1 из 4
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / $TRANSLATE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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