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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.05.2011, 20:05   #1
Rustafa13
Пользователь
 
Регистрация: 10.05.2011
Сообщений: 50
По умолчанию StrTofloatDef

здарова всем.

У меня такая задача, вообщем мне нужно ввести число в edit и если я ввиду буквы, чтобы мне ошибку выдало.
Как я понял это делается так

r:=strtoint(edit1.text,0);
showmessage(r +'ошибка');

ну мне нужно это как-то через цикл проверить. через IF. как можно сделать?
Спасибо.
Rustafa13 вне форума Ответить с цитированием
Старый 22.05.2011, 20:12   #2
Rustafa13
Пользователь
 
Регистрация: 10.05.2011
Сообщений: 50
По умолчанию

т.е. как-то так

if (strtofloatdef(edit1.Text,0)) or (strtofloatdef(edit2.text,0)) then
showmessage('ошибка')
else
................................... ...........................
Rustafa13 вне форума Ответить с цитированием
Старый 22.05.2011, 21:52   #3
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Так сойдет?
Код:
Var
   n,error:Integer;
Begin
   Val(Edit1.Text,N,Error);
   If Error <> 0 then ShowMessage('Ошибка')
End;
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Старый 23.05.2011, 12:34   #4
Rustafa13
Пользователь
 
Регистрация: 10.05.2011
Сообщений: 50
По умолчанию

Цитата:
Сообщение от GetMax Посмотреть сообщение
Так сойдет?
Код:
Var
   n,error:Integer;
Begin
   Val(Edit1.Text,N,Error);
   If Error <> 0 then ShowMessage('Ошибка')
End;
нет, мы это не проходили еще.
Rustafa13 вне форума Ответить с цитированием
Старый 23.05.2011, 13:17   #5
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Код:
var r:real;
......
r:=(strtofloatdef(edit1.Text,0));
if r = 0 then showmessage('ошибка')
SERG1980 вне форума Ответить с цитированием
Старый 23.05.2011, 14:17   #6
New man
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 774
По умолчанию

ага , ия ввел 0 и мне выскакивает ошибка
ghtlkfuf.
Код:
try 
  r:=strtoint(edit.text);
except ShowMessage('Ljk,jt,, ошибка yf[eq!')
end;
a.k.a. Angelicos Phosphoros
Мой сайт
New man вне форума Ответить с цитированием
Старый 23.05.2011, 18:48   #7
Rustafa13
Пользователь
 
Регистрация: 10.05.2011
Сообщений: 50
По умолчанию

Цитата:
Сообщение от SERG1980 Посмотреть сообщение
Код:
var r:real;
......
r:=(strtofloatdef(edit1.Text,0));
if r = 0 then showmessage('ошибка')
неправильно. не работает. ошибку выдает все равно. Хотя учительница мне так говорила делать(ну или почти так). Кстати, я так уже пробовал.

Последний раз редактировалось Rustafa13; 23.05.2011 в 18:58.
Rustafa13 вне форума Ответить с цитированием
Старый 23.05.2011, 18:52   #8
Rustafa13
Пользователь
 
Регистрация: 10.05.2011
Сообщений: 50
По умолчанию

Цитата:
Сообщение от New man Посмотреть сообщение
ага , ия ввел 0 и мне выскакивает ошибка
ghtlkfuf.
Код:
try 
  r:=strtoint(edit.text);
except ShowMessage('Ljk,jt,, ошибка yf[eq!')
end;
мы только начали дельфи, не проходили еще.
Rustafa13 вне форума Ответить с цитированием
Старый 23.05.2011, 19:00   #9
Rustafa13
Пользователь
 
Регистрация: 10.05.2011
Сообщений: 50
По умолчанию

блин, почему когда я делаю так:
r:=(strtofloatdef(edit1.Text,0));
if r = 0 then showmessage('ошибка')

в моей программе выдает ошибку, а когда делаю в пустой программе и пишу только эти две строки, то все работает??!!!!

Последний раз редактировалось Rustafa13; 23.05.2011 в 19:05.
Rustafa13 вне форума Ответить с цитированием
Старый 23.05.2011, 19:22   #10
Rustafa13
Пользователь
 
Регистрация: 10.05.2011
Сообщений: 50
По умолчанию

ааа, все, всем спасибо, изменил. ошибка была в проверке!!!
а точнее в кол-ве бегинов и эндов, а если еще точнее, то энд ставил не туда.

Последний раз редактировалось Rustafa13; 23.05.2011 в 19:54.
Rustafa13 вне форума Ответить с цитированием
Ответ


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