Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Закрытая тема
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 13.02.2010, 16:53
Shelby Shelby вне форума
Прохожий
 
Регистрация: 13.02.2010
Сообщения: 12
Репутация: 10
По умолчанию Поиск цифры в строке

Ку. Нужно найти в строке, вводимую в edit все цифры. Спасибо за помощь.
  #2  
Старый 13.02.2010, 18:06
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Так устроит?
Код:
Var
   s: String;
s := '';
for i := 1 to Length(Edit1.Text)
do if Edit1.Text[i] in ['0'-'9'] 
    then s := s + Edit1.Text[i];
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
  #3  
Старый 13.02.2010, 18:23
Shelby Shelby вне форума
Прохожий
 
Регистрация: 13.02.2010
Сообщения: 12
Репутация: 10
По умолчанию

а можно вот такой вопрос: а если число боьлше 9 или ваще вида 0897
  #4  
Старый 13.02.2010, 18:30
Shelby Shelby вне форума
Прохожий
 
Регистрация: 13.02.2010
Сообщения: 12
Репутация: 10
По умолчанию

а можно вот такой вопрос: а если число боьлше 9 или ваще вида -0897
  #5  
Старый 13.02.2010, 19:19
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Ну поскольку мой пример работает за один проход одним символом, то цифра более 9 быть не может в принципе. А вот что касается минусов, то можно попробовать конечно еще добавить в ограничение и минус примерно так:
Код:
Var
   s: String;
s := '';
for i := 1 to Length(Edit1.Text)
do if Edit1.Text[i] in ['0'-'9','-'] 
    then s := s + Edit1.Text[i];
но если будет строка вида:
ABC123-321Z
то после обработки будет итоговая строка вида:
123-321
А это как-вы понимаете цифры, но не число и тогда надо отдельно обрабатывать такое исключение.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.

Последний раз редактировалось Страдалецъ, 13.02.2010 в 19:21.
  #6  
Старый 14.02.2010, 07:32
Shelby Shelby вне форума
Прохожий
 
Регистрация: 13.02.2010
Сообщения: 12
Репутация: 10
По умолчанию

ыыыы вместо - нужно .. поставить дошло

Последний раз редактировалось Shelby, 14.02.2010 в 08:10.
  #7  
Старый 14.02.2010, 10:34
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Упс. Как это я такой ляп сделал.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
  #8  
Старый 14.02.2010, 17:41
Shelby Shelby вне форума
Прохожий
 
Регистрация: 13.02.2010
Сообщения: 12
Репутация: 10
По умолчанию

Спасибо большое.
  #9  
Старый 14.02.2010, 19:09
Аватар для Ultras
Ultras Ultras вне форума
Начинающий
 
Регистрация: 09.02.2010
Адрес: Россия / Ставрополь
Сообщения: 138
Репутация: 475
По умолчанию

ещё regexp очень сильно выручает, например для поиска email в тексте, или ссылки но это уже другая тема
Закрытая тема


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:39.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter