Форум: "Основная";
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];
ВнизМонипуляция чисел. Найти похожие ветки
← →
Socol (2001-12-18 10:01) [0]Здраствуйте!
Допустим есть 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 тоесть она сравнивает по первой цифре как этого избежать сделать так чтоб она стала сравнивать по всему числу?
← →
Виктор Щербаков (2001-12-18 10:04) [1]Сравнивай числа, а не их строковые представления.
← →
Socol (2001-12-18 10:06) [2]это как?
← →
gek (2001-12-18 10:07) [3]Или сравнивай их tag_и
← →
Виктор Щербаков (2001-12-18 10:15) [4]if StrToInt(Label1.Caption) > StrToInt(Label2.Caption) then ...
← →
Voron (2001-12-18 13:19) [5]Bоton1.Enabled := StrToInt(Label1.Caption) > 500;
Вот так. Только надо учитывать, что StrToInt вызовет исключение если передаваемая ей строка содержит что-то кроме цифр, ну еще минус впереди может быть.
← →
Андрей Сенченко (2001-12-18 13:45) [6]>> Voron ©
Если в Label1.Caption может содержаться что угодно ( и на этапе разработки нельзя предположить что ) - то для преобразования лучше использовать
StrToIntDef(St:string,Default:integer) : LongInt
← →
Voron (2001-12-18 14:35) [7]>> Андрей Сенченко ©
StrToIntDef в случае неудачи не вызывает исключение, а возвращает Default
Допустим у нас что-то вроде
I := StrToIntDef(St, -1);
ели St равно "-1" то функция в любом случае вернет -1, и тогда как узнать, что она вернула Default или строковое представление целого из St?
StrToInt в случае неудачи генерит исключение, его можно обработать.
С уважением Voron
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c