:: Visual Foxpro, Foxpro for DOS
Экранирование
tmp_adr

Сообщений: 192
Дата регистрации: 29.10.2007
Как можно в фоксе экранировать символы &&
Например x="&&" выдаёт ошибку. Это надо при составление cmd команды(a="ping -n 1 192.168.0.1 | find "TTL=" > nul&&copy NUL 111.txt")
Всё, догадался



Исправлено 1 раз(а). Последнее : tmp_adr, 18.07.23 12:30
Ratings: 0 negative/0 positive
Re: Экранирование
PaulWist

Сообщений: 14727
Дата регистрации: 01.04.2004
x = chr(38) + chr(38)
?x


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: Экранирование
tmp_adr

Сообщений: 192
Дата регистрации: 29.10.2007
спасибо
Ratings: 0 negative/0 positive
Re: Экранирование
akvvohinc

Сообщений: 4497
Откуда: Москва
Дата регистрации: 11.11.2008
tmp_adr
Как можно в фоксе экранировать символы &&
Например x="&&" выдаёт ошибку.
x = "&"+"&"

или

TEXT TO x
&&
ENDTEXT

Цитата:
Это надо при составление cmd команды(a="ping -n 1 192.168.0.1 | find "TTL=" > nul&&copy NUL 111.txt")
TEXT TO command
a="ping -n 1 192.168.0.1 | find "TTL=" > nul&&copy NUL 111.txt"
ENDTEXT



Исправлено 1 раз(а). Последнее : akvvohinc, 18.07.23 17:29
Ratings: 0 negative/1 positive
Re: Экранирование
of63
Автор

Сообщений: 25766
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Я задефинил амперсанд:

#DEFINE Амперсанд CHR(38)

() часто DEFINE-определние невозможно, напримепр, когда вы хотите включить его в строку, типа
x = "етм"
y = "я тебя люблю &x"

Через DEFINE определение это сделать нельзя. ЯП фокса не все позволяет, (не все языки до всего достают ) )
Ratings: 0 negative/0 positive
Re: Экранирование
akvvohinc

Сообщений: 4497
Откуда: Москва
Дата регистрации: 11.11.2008
Цитата:
Через DEFINE определение это сделать нельзя.
Можно.

#DEFINE x етм
y = [я тебя люблю x]
?y
Ratings: 0 negative/0 positive
Re: Экранирование
of63
Автор

Сообщений: 25766
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Я тебя люблю ) Проверю )

() Я городил по два дефине - символьный с кавычками, и без кавычек. Протрезвею, не забуду, пойму!

() спс за однобуквенный синтаксис

() замнем, что если хочется изобразить x не в макросе, а просто как символ... Проверим



Исправлено 2 раз(а). Последнее : of63, 15.08.23 23:24
Ratings: 0 negative/0 positive
Re: Экранирование
akvvohinc

Сообщений: 4497
Откуда: Москва
Дата регистрации: 11.11.2008
of63
что если хочется изобразить x не в макросе, а просто как символ
А ты не создавай искусственных ситуаций - в #DEFINE ты определяешь имя такой сложности, которое заведомо не должно встретиться в контексте, отличном от его замены на значение.

Так что если ты определишь имя A как #DEFINE A 100, то не стоит требовать, чтобы команда SELECT A отрабатывала как переход к рабочей области 1.


Кроме того, подмена имени на значение происходит не всегда, а только в тех позициях, когда имя можно трактовать именно как "переменную".
То есть если твой X будет "стоять отдельно" (в каких-то разделителях), а не как "часть чего-то":
#DEFINE x етм
? [я тебя люблю x] && я тебя люблю етм (есть замена)
? [я тебя люблюx]  && я тебя люблюx (замены нет)



Исправлено 2 раз(а). Последнее : akvvohinc, 16.08.23 02:30
Ratings: 0 negative/0 positive
Re: Экранирование
of63
Автор

Сообщений: 25766
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
... чето ты меня путаешь...

#DEFINE x етм
? [я тебя люблю x] && я тебя люблю етм (есть замена)
? [я тебя люблюx] && я тебя люблюx (замены нет)
НО
#DEFINE x етм
? [я тебя люблю &x] && я тебя люблю етм (есть замена)
? [я тебя люблю&x] && я тебя люблюетм (замены нет)

() щас проверю, макросы и в командном окне работают...
x = "етм"
... ааа! Семен Семеныч, я не про макросы,

а про DEFINE


/// ты мне не обьяснил (и это невозможно, это "так устроен фокс"), но придал мне сил, что не я один с этим столкнулся, "система однако" )
Ratings: 0 negative/0 positive
Re: Экранирование
akvvohinc

Сообщений: 4497
Откуда: Москва
Дата регистрации: 11.11.2008
Цитата:
я не про макросы,
а про DEFINE
/// ты мне не обьяснил (и это невозможно, это "так устроен фокс")
Что "про DEFINE"?
Что я тебе не объяснил?
И что невозможно?
Ratings: 0 negative/1 positive
Re: Экранирование
of63
Автор

Сообщений: 25766
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Серега, извини, не могу выразить этой "невозможности". Снимаю вопрос, сливаю.

() просто долго, инет явной нео... вобщем накуй это вопрос

И Саша ? Или Серега?... Все забыл. Склоняюсь к Саша

() епать, ктото плюсует, кому-то интересно )

() Попробую переформулировать претензию к ЯП фокса... Пока я пас



Исправлено 4 раз(а). Последнее : of63, 20.08.23 00:22
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 4 kornienko_ru  (Гостей: 3)

© 2000-2024 Fox Club 
Яндекс.Метрика