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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.12.2013, 13:19   #1
Aleksandr
Форумчанин
 
Регистрация: 22.05.2007
Сообщений: 511
По умолчанию Удалить символ ' в строке

Вот этим кодом удаляю любые символы, а как удалить символ '
Код:
if S1[Length(S1)] = 'символ' then
Delete(S1, Length(S1), 1);
Aleksandr вне форума Ответить с цитированием
Старый 03.12.2013, 13:35   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Вам только последний символ проверить/удалить нужно?! (просто код плохой==незащищённый у Вас ;( )

вариант 1 (стандартный)
Код:
if S1[Length(S1)] = '''' then
вариант 2 (пижонско-хакерский ).
Код:
if S1[Length(S1)] = #27 then
выбирайте любой.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 03.12.2013, 14:19   #3
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Код:
if S1[Length(S1)] = #27 then
оО
С чегобы это ' стал #27, всегда был #39. Я чего-то не знаю?
Человек_Борща вне форума Ответить с цитированием
Старый 03.12.2013, 14:30   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Я чего-то не знаю?
А это такая военная хитрость, кагбэ намекающая на преимущества первого варианта
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.12.2013, 14:36   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Код:
if S1[Length(S1)] = #27 then
оО
С чегобы это ' стал #27, всегда был #39. Я чего-то не знаю?
ААА! позор мне!
39 в десятичной, 27 в hex!!!
доллар я потерял!

вариант 2 надо было написать или так
Код:
  if S1[Length(S1)] = #$27 then
или так:
Код:
  if S1[Length(S1)] = #39 then

Цитата:
Сообщение от Stilet Посмотреть сообщение
А это такая военная хитрость, кагбэ намекающая на преимущества первого варианта
ага. хитро замаскированный баг!

Последний раз редактировалось Serge_Bliznykov; 03.12.2013 в 14:38.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 03.12.2013, 14:54   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
вариант 2 надо было написать или так
А лучше так:
Код:
  if (s1<>'') and (S1[Length(S1)] = '''') then
Ибо юникодовые делфи начнут тупить (возможно)
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как удалить последний символ в строке? C++ Builder Женька Good Помощь студентам 3 30.12.2012 12:55
Даны две строки длиной до 80 символов. Необходимо: удалить заданный символ в каждой строке irek01 Visual C++ 0 23.05.2012 17:22
Дана строка. В строке удалить символ двоеточие и подсчитать количество удаленных символов.в делфи _Алексей_ Помощь студентам 3 29.04.2012 15:37
Assembler!!! Заменить на символ ‘!’ каждый 3тий символ в строке. Leon9313 Помощь студентам 0 24.04.2012 13:02
Дана строка. В строке удалить символ двоеточие ":" и подсчитать количество удаленных символов.в делфи _Алексей_ Помощь студентам 6 20.04.2012 16:12