|
Платные хостинги
Раскрутка сайта
Книги по программированию
Функция
- Для проверки вводимых значений в ComboBox я сделал функцию, но че-то ана плохо робит:...function SizeComboBx(Sender:integer):Boolean;vari,i2,CB:Integer;beginResult:=False;i2:=1;CB:=1;for i:=1 to 21 do if Butt[Sender].Name=Butt[i2].Name then begin if ((Combo[CB].Text='$$$')or //если КомбоБокс имеет значение '$$$' или... ((Length(Combo[CB].Text)>1)and(copy(Combo[CB].Text,1,1)='$')))or //если первый символ '$' и длина > 1 или ... ((Combo[CB].Text<>'')and(StrToInt(Combo[CB].Text)<=1439)) then //если КомбоБокс <> '' и число меньше либо равно 1439 Result:=True; exit; end else begin i2:=i2+3; CB:=CB+1; end;end;если после начала условия в цикле поставить BEGIN, значение функции всегда почему-то False:...((Combo[CB].Text<>'')and(StrToInt(Combo[CB].Text)<=1439)) then BEGIN Result:=True; exit; end А если я не ставлу Begin, то функция робит но если введено в ComboBox значение '$', то возвращает TRUE(Не пойму ни как, ведь дано условие, что длина должна быть больше 1:...((Length(Combo[CB].Text)>1)...Подскажите плз если к кого-нить есть идеи на етот счет.
- Что за стиль Вот посмотрите, намного компактней и понятней:With Combo[Cb] Do IF Butt[Sender].Name=Butt[i2].Name then try IF (Text='$$$') or (Text[1]='$')) or // Если есть $ это уже длина больше единицы ((Length(Text)>0) and (StrToInt(Text)<=1439)) then .. except // StrToInt вызвало exception... Забыли предусмотреть ? end; .... End;
- Большое спасибо , все дело оказалось действительно в StrToInt Но у меня вопрос - Break - останавливает выполнение цикла, затем завершается функцияExit - быстрый выход из функцииЕсть ли разница в том какой из них использовать?
- Exit перед выходом обязательно вывзовет Break - это предусмтрено компилятором, конечно оттрасировать Вы не сможете этот участок, но то что сначала выполнится выход из цикла - это факт.
Интернет казино
Онлайн игры
Увеличение члена
Купить DVD
|