Строки с амперсандом "&"
Модератор: Модераторы
Строки с амперсандом "&"
В процессе работы мне как-то пришлось собирать строку TLabel.Caption из разных компонент. Оказалось, что если присутствовал символ амперсанда "&", то при выводе строки он исчезал, а следующая за ним буква становилась подчеркнутой. Вылечилось просто. Вместо одного амперсанда я поставил два "&&" и все заработало 
Это то же самое, что и с одинарной кавычкой ! (Внутри строки нельзя поставить ' но если поставить ТРИ ''' то "тоже все заработает"
)
- Снег Север
- долгожитель
- Сообщения: 3072
- Зарегистрирован: 27.11.2007 15:14:47
- Контактная информация:
В Caption & имеет смысл назначения следующего за ним символа "горячим". Поэтому не надо путать поведение свойства Caption и обычной строки. Одиночная кавычка внутри строки обозначается её удвоением ( а не утроением). При записи строк в текстовые поля баз данных приходится маскировать еще и слеш ("\") его удвоением.
Короче, учите матчасть, ребятки!
Короче, учите матчасть, ребятки!
Хм, действительно удвоение .... странно откуда я утроение взял...
Наверное сбился со счета при подобном присваивании S:='''';
Наверное сбился со счета при подобном присваивании S:='''';
То ли дело Fortran. В нём, если тебе в строке нужны одинарные кавычки, то саму строку ты оборачиваешь двойными. А если нужны двойные - то одинарными.

Vadim, а когда нужно было в фортране поизгиляться над TLabel.Caption, то можно было легко и непринуждённо отбросить бесцельные мечтания. 
SSerge писал(а):Vadim, а когда нужно было в фортране поизгиляться над TLabel.Caption, то можно было легко и непринуждённо отбросить бесцельные мечтания.
Визуал Фортран (с ООП) ?
SSerge писал(а):... то можно было легко и непринуждённо отбросить бесцельные мечтания.
Слова из песни, которые не выкинешь писал(а):Потому что нельзя быть красивой такой...
Alex2013 писал(а):Представил ... Брр... Страшно !!
А вот и зря.
- Vapaamies
- постоялец
- Сообщения: 292
- Зарегистрирован: 24.07.2012 22:37:59
- Откуда: Санкт-Петербург
- Контактная информация:
На самом деле надо:
Код: Выделить всё
Label1.ShowAccelChar := False;