Как формулами заменить в строке обратный слеш на двойной

Shandrik

Lotus team
30.12.2010
268
12
#1
Получаю @NameLookup-ом путь к базе резервирования: firstfolder\rooms.nsf
Потом по ней надо сделать DBLookup. Как формулами превратить "firstfolder\rooms.nsf" в "firstfolder\\rooms.nsf"?
 

Leoric

Well-known member
15.10.2003
60
8
#4
Код:
varList := @NameLookup([Exhaustive];@UserName; "mailfile");
@Prompt([Ok]; ""; @ReplaceSubstring(varList ; @Char(92) ; @Char(92)+@Char(92) ))
P.S. По поводу прошлой версии. По идее тоже должна работать. Строки со слешами полученные из системы помойму сразу заэкранированы, поэтому и тот и тот вариант работать должен.
 
Последнее редактирование модератором:

garrick

Lotus team
26.10.2009
901
61
#5
Вообще никогда не надо ставить двойной слэш. Надо делать так
Код:
@ReplaceSubstring(filename; "\\"; "/");
и в последующем у вас не будет проблем в переносе вашего приложения на Linux или MacOS.
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 586
272
#6
Вообще никогда не надо ставить двойной слэш. Надо делать так
Код:
@ReplaceSubstring(filename; "\\"; "/");
и в последующем у вас не будет проблем в переносе вашего приложения на Linux или MacOS.
за маленьким НО - если этот путь подсунуть КОМе (эссэсвено - на виндятке) - оно заговнякается ;)
 

garrick

Lotus team
26.10.2009
901
61
#7
За COM не скажу, а сам Lotus Notes замечательно отрабатывает такие пути как в Lotus Script, так и в Java на любой платформе. И, кстати, CMD в командной строке тоже понимает прямые слэши.