:: Не фоксом единым
@перед именем файла в си шарп
boba
Автор

Сообщений: 6269
Откуда: Медвежьи озера-
Дата регистрации: 26.03.2001
Есть метод , заменяющий
shellexec, для открытия существующих excel файлов и других типов.
Если прямо внутри метода присвоить свойство filename
конкретному имени файла с пробелами внутри и перед ним
поставить @
все работает.
Однако, если такое же имя с @ перед " передать как аргумент в
в этот же метод, имя файла верно не опознается,
идет ошибка - файл не наден.
Имя файла в свойство filename
попадает уже без @, хотя это и верное имя файла.
Ratings: 0 negative/0 positive
Re: @перед именем файла в си шарп
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
docs.microsoft.com
Не понимаю в чём тут могут быть затруднения.

Собачка перед кавычками говорит что внутри будет verbatim литерал - в нём не надо удваивать слэши и экранировать другие спецсимволы (кроме двойной кавычки) - с его помощью как раз удобно задавать пути. Но в значение строковой переменной он не попадает никак. Значение - это значение, а не способ его записи в тексте программы. Точно так же как в фоксе можно одно и то же строковое значение записать и как "A[" и как 'A[' и как [A]+CHR(91) - и они все будут абсолютно идентичны, так же и в шарпе можно записать путь в виде "С:\\some folder\\some file.txt" а можно как @"С:\some folder\some file.txt" - и это будут абсолютно идентичные значения. И при "передаче" они, естественно, никак не меняются


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: @перед именем файла в си шарп
boba
Автор

Сообщений: 6269
Откуда: Медвежьи озера-
Дата регистрации: 26.03.2001
По видимому я плохо написал вопрос
Что написано в уканном доке я знаю.
Там заранее прописаны имена.
Имя файла вместе с путем заранее не известно,
лежит в поле формы или переменной или свойстве.
Эту шщтуку отдаю в метод, заменяющий
shellexec
При его выполнении происходит ошибка-
Имя файла в ней отрезано до первого пробела.
Как склеить заранее неизвестное содержание
переменной cfilename с директорией и файлом на
@" тут имя файла с директорией так , чтобы внутри
метода эта штука давала не урезанное имя файла
Внутри самого метода в дебаге сама переменная не выглядит урезанной.
Ratings: 0 negative/0 positive
Re: @перед именем файла в си шарп
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Код тогда приведи. Так то что сказать можно... Урезает - значит в коде ошибка.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: @перед именем файла в си шарп
boba
Автор

Сообщений: 6269
Откуда: Медвежьи озера-
Дата регистрации: 26.03.2001
Проблема оказалась совсем в другом месте
По примерам везде свойство processes.shellexec=faulse
Как только пишешь .shellexec=true
все работает
А первый вариант выдает exception
файл не найден, и в имени файла показывает его часть до первого пробела
Причем имя файла точно никак не урезано.
Примеров с указанным советом нашел штук 6.
Ratings: 0 negative/0 positive
Re: @перед именем файла в си шарп
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
понятнее не стало


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: @перед именем файла в си шарп
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
() я думал, я один туплю

> Примеров с указанным советом нашел штук

Володя, если бы ты внятно изгнал проблему, то решение бы на вопрос нашлось. А так - нет



Исправлено 1 раз(а). Последнее : of63, 30.03.19 01:37
Ratings: 0 negative/0 positive


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

On-line: 11 (Гостей: 11)

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