Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 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




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.027 c
4-22491           NikRus                2001-11-04 18:09  2002.01.08  
Возможен ли перехват нажатия клавиш: Ctrl+Esc, Ctrl+Alt+Del


4-22480           amamed_3071           2001-11-03 10:09  2002.01.08  
Print to Epson printer


1-22197           T2                    2001-12-16 07:17  2002.01.08  
Можно ли программно отключить корзину виндов?


7-22425           Andrey                2001-06-19 15:45  2002.01.08  
Функция для сканера


4-22489           Skiv                  2001-11-05 09:55  2002.01.08  
Вывод версии *.exe