|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
14.08.2011, 20:16 | #1 |
Форумчанин
Регистрация: 15.06.2007
Сообщений: 182
|
Удаляем с переменной все кроме цифр.
Подскажите пожалуйста как реализовать подобное?
В php это делается всего одной строчкой $get2 = preg_replace( '#[^0-9]#i', '', $get); А в delphi насколько я понял такой оператор не поддерживается. Пробовал реализовать вот такой пример: Код:
Или может есть какой-то более простой вариант? |
14.08.2011, 20:54 | #2 |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
В смысле что вам нужно? Получить всё цифры из строки, и собрать их в одно число?
|
14.08.2011, 21:00 | #3 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
14.08.2011, 21:07 | #4 | |
Форумчанин
Регистрация: 17.03.2009
Сообщений: 318
|
Цитата:
т.е. пустую переменную. P.S. Кстати в delphi можно использовать регулярные выражения, модуль RegExpr |
|
14.08.2011, 22:13 | #5 | |
Форумчанин
Регистрация: 15.06.2007
Сообщений: 182
|
Цитата:
Stilet, может я что-то не так понимаю. Может я не там ищу. У меня вылетает вот такая ошибка если в переменной нет цифр. Тоесть ситуация такая если в поле нет цифр идет условие: if (only_numbers(Edit5.Text) = '') then button4.Caption:='10'; следующее условие уже работает с 10, но почему-то это верхнее условие не срабатывает. Почему? Последний раз редактировалось celovec; 14.08.2011 в 22:18. |
|
14.08.2011, 22:26 | #6 |
Форумчанин
Регистрация: 04.04.2009
Сообщений: 438
|
Такую ошибку поставляет функция StrToInt, если строка пустая, или содержит не цифры. Применять TryStrToInt.
|
14.08.2011, 22:29 | #7 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Функция написана правильно, а вот результатом её пользуетесь не правильно. Покажите конкретно фрагмент кода, где ошибка вываливается
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
14.08.2011, 22:41 | #8 |
Форумчанин
Регистрация: 15.06.2007
Сообщений: 182
|
Аватар, он не показывает какая именно строчка ему не нравится.
Скандербег, что здесь необходимо поменять? Код:
Последний раз редактировалось celovec; 14.08.2011 в 22:43. |
14.08.2011, 22:46 | #9 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Вторая команда вашего кода сразу даст ошибку, если button4.Caption=''. strtoint от '' - дает ошибку
можно заменить на if (only_numbers(Edit5.Text) = '') or (strtoint(button4.Caption) > 30) or (strtoint(button4.Caption) < 1) then button4.Caption:='10';
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 14.08.2011 в 22:51. |
14.08.2011, 22:54 | #10 |
Форумчанин
Регистрация: 15.06.2007
Сообщений: 182
|
Насколько я понимаю вы о этом говорите:
only_numbers(Edit5.Text) = '' Это тоже самое что button4.Caption='', а причем тут strtoint? |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Автофильтр (AutoFilter), как отфильтровать данные все кроме.? | SAIIIA.P | Microsoft Office Excel | 8 | 30.06.2022 19:33 |
Обрезать все кроме цифр, Дельфи | TorchWood | Работа с сетью в Delphi | 8 | 01.08.2015 17:36 |
Написал программу, все работает кроме одного момента. | Palomnik1096 | Microsoft Office Excel | 5 | 09.12.2010 14:56 |
Как скрыть все листы в ЕКСЕЛЕ кроме определенного списка | sasha_prof | Microsoft Office Excel | 2 | 03.12.2010 21:09 |
Закрыть все файлы Excel,кроме текущего | BesTiYa | Microsoft Office Excel | 5 | 10.12.2009 12:53 |