![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Монипуляция чисел. [D5, D6, Win95/98]
Socol © (2001-12-18 10:01:00)Здраствуйте!
Допустим есть label1.caption:= "450"
if label1.caption > "500" then boton1.enabled:=true
else
boton1.enablad:=false;
if label1.caption > "1000" then boton1.enabled:=true
else
boton1.enablad:=false;
В первом случии все получается а во втором нет.
тоесть делфя щитает что 450 > 1000 тоесть она сравнивает по первой цифре как этого избежать сделать так чтоб она стала сравнивать по всему числу?
Voron (2001-12-18 14:35:00) [1]>> Андрей Сенченко ©
StrToIntDef в случае неудачи не вызывает исключение, а возвращает Default
Допустим у нас что-то вроде
I := StrToIntDef(St, -1);
ели St равно "-1" то функция в любом случае вернет -1, и тогда как узнать, что она вернула Default или строковое представление целого из St?
StrToInt в случае неудачи генерит исключение, его можно обработать.
С уважением Voron
Андрей Сенченко (2001-12-18 13:45:00) [2]>> Voron ©
Если в Label1.Caption может содержаться что угодно ( и на этапе разработки нельзя предположить что ) - то для преобразования лучше использовать
StrToIntDef(St:string,Default:integer) : LongInt
Voron (2001-12-18 13:19:00) [3]Bоton1.Enabled := StrToInt(Label1.Caption) > 500;
Вот так. Только надо учитывать, что StrToInt вызовет исключение если передаваемая ей строка содержит что-то кроме цифр, ну еще минус впереди может быть.
Виктор Щербаков (2001-12-18 10:15:00) [4]if StrToInt(Label1.Caption) > StrToInt(Label2.Caption) then ...
gek (2001-12-18 10:07:00) [5]Или сравнивай их tag_и
Socol (2001-12-18 10:06:00) [6]это как?
Виктор Щербаков (2001-12-18 10:04:00) [7]Сравнивай числа, а не их строковые представления.