Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.07.2016, 17:46   #1
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию delphi и символ '

Подскажите, нужно сохранить символ ' в текстовом документе, проблема в том что delphi это понимает так, что я хочу ввести строковое значение в коде('строки заключаются в кавычки') и начинается путаница с количеством открытых и закрытых строковых вставок

Код:
if checkbox1.Checked then 
Exec.Add('Exec '+ComboBox1.text+'\updater.exe /hide') else Exec.Add('Exec '+ComboBox1.text+'\updater.exe');
хочу чтобы в документе получилось что то вроде
Exec '"$PROGRAMFILES\myinstall\updater.exe" /hide'

Последний раз редактировалось aesoem; 31.07.2016 в 17:52.
aesoem вне форума Ответить с цитированием
Старый 31.07.2016, 17:52   #2
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Два раза подряд поставить (без пробелов) ''
Код:
Exec.Add('Exec '''+ComboBox1.text+'\updater.exe /hide''') else Exec.Add('Exec '''+ComboBox1.text+'\updater.exe''');
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 31.07.2016, 17:52   #3
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Две подряд идущие кавычки трактуются как одна текстовая.
Код:
Caption:='Файл:''имя''';
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 31.07.2016, 17:55   #4
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию

во) спасибо....
aesoem вне форума Ответить с цитированием
Старый 31.07.2016, 17:56   #5
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 31.07.2016, 19:32   #6
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Добавлю, что, если обилие одинарных кавычек делает код трудночитаемым, то кавычку можно сохранить в строковую переменную/константу:
Код:
cost q = ''''; // 4 одинарных кавычки
...
var q: string; // как вариант
...
q := ''''; // если q - переменная (4 одинарных кавычки)
...

s := q + 'ТЕКСТ В КАВЫЧКАХ' + q; // будет написано 'ТЕКСТ В КАВЫЧКАХ'

Почему 4 одинарных кавычки?
Для того чтобы кавычка могла быть сохранена в текстовые переменные путём записи их в строковых литералах (например, 'I'm a president'), кавычку, которая должна сохраниться так, как она есть, следует продублировать (или можно сказать "экранировать собой же"). То есть, корректный строковый литерал с точки зрения Pascal/Dephi будет выглядеть так: 'I''m a president'. При выводе такой строки на экран будет получена строка: I'm a president.

На экранирование уходит две кавычки (одна экранирует, вторая - экранируется), две остальных уходят на то, чтобы строковый литерал был записан корректно.

Последний раз редактировалось Вадим Мошев; 31.07.2016 в 19:41.
Вадим Мошев вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Assembler!!! Заменить на символ ‘!’ каждый 3тий символ в строке. Leon9313 Помощь студентам 0 24.04.2012 13:02
Delphi 7. Символ числа Пи. tronuo Общие вопросы Delphi 3 22.03.2012 23:28
Переменную на выводе поменять на символ. delphi leshij Помощь студентам 2 20.09.2011 22:59
Символ корневой папки(Delphi) prod87 Помощь студентам 7 24.05.2011 13:51
Как получить символ?(Delphi) The_Darkness Помощь студентам 3 18.07.2008 08:36