Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как проверить тип данных 
:(
    Опции темы
kosta
Дата 2.4.2005, 01:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 19.3.2005

Репутация: нет
Всего: нет



подскажите плз как проверить тип данных введенных в едите например на интегер?
PM MAIL   Вверх
Fedor
Дата 2.4.2005, 01:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Днепрянин
****


Профиль
Группа: Участник
Сообщений: 2090
Регистрация: 8.2.2003
Где: Великий

Репутация: нет
Всего: 32



Код

var
  ...
  i,err:integer;
begin
.....
val(Edit1.Text,i,err);
if err<>0 then
 {ТО НЕ ЦЕЛОЕ ЧИСЛО В ЕДИТЕ}
{ИНАЧЕ В ЕДИТЕ ЦЕЛОЕ ЧИСЛО И ОНО ОКАЗАЛОСЬ В ПЕРЕМЕННОЙ i}



--------------------
Мы - Днепряне. Мы всех сильней.
PM ICQ   Вверх
FRAGNATIC
Дата 2.4.2005, 01:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


..::Свирепый Кодер::..
**


Профиль
Группа: Участник
Сообщений: 901
Регистрация: 17.10.2004
Где: ICQ

Репутация: 6
Всего: 11



да там всегда будет строка можно например так
Код

i:=StrToIntDef(Edit1.Text,0);
if i=0 then exit
//ну тут делай чё те надо)

PM MAIL   Вверх
kosta
Дата 2.4.2005, 01:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 19.3.2005

Репутация: нет
Всего: нет



спасибо!
все получилось
PM MAIL   Вверх
Петрович
Дата 2.4.2005, 01:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1000
Регистрация: 2.12.2003
Где: Москва

Репутация: 25
Всего: 55



Код
try
  i := StrToInt(Edit1.Text);
except
  ShowMessage('Введено не число');// ... здесь обработка ошибки "не число"
  Abort;
end;
  // ... здесь обработка введенного числа


Цитата(FRAGNATIC @ 2.4.2005, 02:15)
i:=StrToIntDef(Edit1.Text,0);
if i=0 then exit
//ну тут делай чё те надо)

А если пользователь введет число 0?


--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
FRAGNATIC
Дата 2.4.2005, 01:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


..::Свирепый Кодер::..
**


Профиль
Группа: Участник
Сообщений: 901
Регистрация: 17.10.2004
Где: ICQ

Репутация: 6
Всего: 11



а пускай не вводит 0 ) и смотря для какой цели)
согласен варинат не лучший)
PM MAIL   Вверх
kosta
Дата 2.4.2005, 01:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 19.3.2005

Репутация: нет
Всего: нет



все работает с кодом от Fedora
PM MAIL   Вверх
FRAGNATIC
Дата 2.4.2005, 01:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


..::Свирепый Кодер::..
**


Профиль
Группа: Участник
Сообщений: 901
Регистрация: 17.10.2004
Где: ICQ

Репутация: 6
Всего: 11



ну или поставить числом 2147483647
PM MAIL   Вверх
Snowy
Дата 4.4.2005, 08:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



IMHO так проще и короче
Код

if not TryStrToInt(Edit1.Text, i) then // не integer

PM MAIL   Вверх
~FoX~
Дата 5.4.2005, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 13
Всего: 68



Извращенцы

Val(s: String, v: integer, code: integer);
s - строка в которой есть число
v - возвращение функции
code - если строка содержит символы отличные от цифр, то эта переменная показывает местоположение первого из них.


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Snowy
Дата 5.4.2005, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Медведь так и написал.
Мы всего лишь предложили альтернативные варианты.
кроме того, если посмотришь код TryStrToInt, то увидишь конструкцию основаную на val.
Ее плюс - не нужно заводить переменные - там уже выполнена вся работа по определению и возврату результата.
PM MAIL   Вверх
~FoX~
Дата 5.4.2005, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 13
Всего: 68



Цитата(Snowy @ 5.4.2005, 16:34)
Медведь так и написал.

Сори, прогладел........Прости Федор


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Fedor
Дата 5.4.2005, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Днепрянин
****


Профиль
Группа: Участник
Сообщений: 2090
Регистрация: 8.2.2003
Где: Великий

Репутация: нет
Всего: 32



Цитата
Сори, прогладел........Прости Федор

smile Та ладно...


--------------------
Мы - Днепряне. Мы всех сильней.
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1170 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.