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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.08.2012, 18:46   #1
sariman
Пользователь
 
Регистрация: 06.01.2012
Сообщений: 58
По умолчанию Поиск символа в Edit

Привет всем пытаюсь проверить правильность пути, например, обычно же путь к диску пишется так 'D:\', вот я и хочу проверить чтобы в edit первая буква была в диапазоне a-z, на второй чтобы был символ ':', а на третьей был слэш '\', незнаю как реализовать, помогите пожалуйста)
sariman вне форума Ответить с цитированием
Старый 20.08.2012, 18:50   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

В OnChange
Код:
 with TEdit(Sender) do
  if (text<>'')and(text[1] in 'a..Z')and(copy(text,2,1)=':') then правильно
Впрочем в новых делфи это лучше решать регулярными выражениями.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.08.2012, 19:03   #3
sariman
Пользователь
 
Регистрация: 06.01.2012
Сообщений: 58
По умолчанию

ругается, пишет 'operator not applicable to this operand type'
sariman вне форума Ответить с цитированием
Старый 20.08.2012, 20:38   #4
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Сообщение от sariman Посмотреть сообщение
ругается, пишет 'operator not applicable to this operand type'
Потому что надо (text[1] in ['a'..'Z'])

Ну а если хотите, чтоб условие работало правильно, то лучше написать:

(text[1] in ['a'..'z','A'..'Z'])
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...

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

Верно. Сорри, писал вскользь
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.08.2012, 22:58   #6
sariman
Пользователь
 
Регистрация: 06.01.2012
Сообщений: 58
По умолчанию

хм.. ввожу в edit 'D:\', пишет что не правильно(
sariman вне форума Ответить с цитированием
Старый 21.08.2012, 00:07   #7
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

А если попробовать без copy:

Код:
(text<>'') and (text[1] in ['a'..'z','A'..'Z']) and (text[2]=':')
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 21.08.2012, 07:31   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
А если попробовать без copy:
На первом же символе упадет с ошибкой.
Тогда уж и проверку нужно делать на длину строки
Код:
procedure TForm1.Edit1Change(Sender: TObject);
begin

  if (TEdit(Sender).text<>'')
   and(TEdit(Sender).text[1] in ['A'..'z'])and(copy(TEdit(Sender).text,2,1)=':')
  then form1.caption:='ok' else form1.caption:='no';
end;
Так работает.
I'm learning to live...

Последний раз редактировалось Stilet; 21.08.2012 в 07:35.
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замена символа в Edit (delphi) a_n_n_a Общие вопросы Delphi 2 12.03.2011 03:07
Как добраться до определенного символа в Edit Ivanko Помощь студентам 2 08.02.2010 11:49
Автоматический поиск в DBGrid при вводе символа в Edit Irina_87 БД в Delphi 12 12.12.2009 03:53
Записать код символа из Edit в Memo rainbow Общие вопросы Delphi 3 27.10.2009 06:56
Как в OnkeyPress отловить если в Edit есть текст позицию заменяемого символа? slips Общие вопросы Delphi 3 06.12.2008 18:12