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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.04.2013, 18:19   #1
LLIALLIJIbIK
Пользователь
 
Регистрация: 26.08.2010
Сообщений: 51
По умолчанию Проверка Edit на минус

Код:
procedure TForm5.Edit1Change(Sender: TObject);
begin
if Edit1.Text[1]='-' then begin
ShowMessage('Введите положительное значение');
Edit1.Text:='';
end;
end;
Ввожу "-", выскакивает ShowMessage, нажимаю ок и программа останавливается с ошибкой "Access violation at address 0045C727 in module Project2.exe. Read of address 00000000". Подскажите, в чем трабл.

Последний раз редактировалось artemavd; 08.04.2013 в 11:51.
LLIALLIJIbIK вне форума Ответить с цитированием
Старый 05.04.2013, 18:30   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
if copy(Edit1.Text,1,1)='-' then begin
подходит?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.04.2013, 18:32   #3
LLIALLIJIbIK
Пользователь
 
Регистрация: 26.08.2010
Сообщений: 51
По умолчанию

Да, спасибо большое
LLIALLIJIbIK вне форума Ответить с цитированием
Старый 08.04.2013, 11:55   #4
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Код:
procedure TForm5.Edit1Change(Sender: TObject);
begin
 if Edit1.Text = '' then 
 begin
  ShowMessage('Введите значение');
 end
 else
 begin
  if Pos('-',Edit1.Text) > 0 then
  begin
   ShowMessage('Введите положительное значение');
  end
  else
  begin
   ...
  end;
end;
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.

Последний раз редактировалось artemavd; 08.04.2013 в 12:07.
artemavd вне форума Ответить с цитированием
Старый 08.04.2013, 12:01   #5
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

2artemavd
странная конструкция
Код:
if Pos(Edit1.Text,'-') = 0
имхо должно быть
Код:
if Pos('-',edit1.text) <> 0 then
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 08.04.2013, 12:06   #6
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Цитата:
Mad_Cat
,
да, верно, я на память писал просто. Ты прав.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 08.04.2013, 13:09   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А зачем через Pos() определять?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.04.2013, 13:53   #8
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
А зачем через Pos() определять?
Может после минуса будет число.
Человек_Борща вне форума Ответить с цитированием
Старый 08.04.2013, 14:43   #9
Kix.IV
Участник клуба
 
Регистрация: 11.08.2012
Сообщений: 1,226
По умолчанию

Цитата:
Может после минуса будет число.
Тогда и перед минусом тоже.

Последний раз редактировалось Kix.IV; 08.04.2013 в 14:46.
Kix.IV вне форума Ответить с цитированием
Старый 09.04.2013, 04:57   #10
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Правильно, просто проверяется наличие минуса в строке.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка edit Pearl777 Общие вопросы Delphi 2 04.03.2013 23:13
запрет на минус не вначале цифры в edit 13xXx13 Помощь студентам 2 21.09.2012 22:37
Проверка под Edit teres Общие вопросы Delphi 9 25.10.2011 10:12
Проверка 3 Edit-a на наличие текста misher Общие вопросы Delphi 7 14.02.2011 10:16
Проверка текста в Edit misher Общие вопросы Delphi 15 02.10.2010 13:17