Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизКак отменить сообщения компилятора? Найти похожие ветки
← →
Сергей (2012-02-24 18:47) [0]Иногда в функцию передается строка "Да", "Нет" и тп. Естественно функция StrToInt выдет ошибку. Как отключить сообщения компилятора?
function TGlobParam.CompareNotTwoNumber (OneCount, TwoCount:String): boolean;
var
OneCountInt,TwoCountInt: Integer;
begin
try
result:=false;
OneCountInt:=StrToInt(AnsiReplaceStr(OneCount," ",""));
TwoCountInt:=StrToInt(AnsiReplaceStr(TwoCount," ",""));
if OneCountInt<>TwoCountInt then result:=true;
except
end;
end;
← →
AV © (2012-02-24 19:06) [1]TryStrToInt
← →
Ega23 © (2012-02-24 19:41) [2]
Result := AnsiUpperCase(Trim(OneCount)) = AnsiUpperCase(Trim(TwoCount));
← →
Dimka Maslov © (2012-02-24 20:05) [3]Для начала нужно понять что такое компилятор, и чем ошибка компиляции отличается от ошибки времени исполнения (исключения). Потом разобаться с такими вещами как try..finally..except и структурированная обработка исключений. И, наконец, воспользоваться для преобразования строки в число при помощи старой доброй функции val.
← →
Ega23 © (2012-02-24 20:19) [4]
> при помощи старой доброй функции val.
TryStrToInt всё-же, ИМХО.
← →
Dimka Maslov © (2012-02-24 21:03) [5]TryStrToInt это... надстройка над Val! Не более того. Как и StrToInt.
← →
Ega23 © (2012-02-25 03:07) [6]
> TryStrToInt это... надстройка над Val! Не более того. Как
> и StrToInt.
Хм... В D7 - да, в D2010 мне казалось, что на асм заменили. Нифига, по-прежнему надстройка. Причём поцчему-то overload...
← →
_Юрий (2012-02-25 09:50) [7]предполагаю, что речь идет все таки о нотификации дебаггера. Если так, то
надо отключить галку "Notify on language exceptons" в настройках среды
(Tools-Options-Debugger Options), или внести класс исключения в список игнорируемых. Только надо не забыть это место, потому что потом придется включать обратно
← →
Inovet © (2012-02-25 09:53) [8]> [0] Сергей (24.02.12 18:47)
> if OneCountInt<>TwoCountInt then result:=true;
result := OneCountInt<>TwoCountInt;
← →
Inovet © (2012-02-25 09:55) [9]> [7] _Юрий (25.02.12 09:50)
> Только надо не забыть это место
Просто ничего не надо отключать, тогда и не забудешь, иначе забудешь.
← →
sniknik © (2012-02-25 10:23) [10]
function TGlobParam.CompareNotTwoNumber(const OneCount, TwoCount: string): boolean;
begin
result:= Trim(OneCount) <> Trim(TwoCount);
end;
или у тебя бывают значения int в другой форме? (шестнадцатеричной/с ведущими нулями)
какой смысл преобразовывать, в общем.
← →
Dimka Maslov © (2012-02-25 10:41) [11]
> Ega23 © (25.02.12 03:07) [6]
Cама Val есть надстройка над System._ValLong, которая написана на асме. Зачем тупо копипастить, когда уже всё написано и всё работает?
← →
Inovet © (2012-02-25 10:48) [12]> [10] sniknik © (25.02.12 10:23)
> какой смысл преобразовывать, в общем.
Может там будет "Да", "Да". Ну или, как ты говоришь, "1", "+01".
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.08 c