Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Как отменить сообщения компилятора?   Найти похожие ветки 

 
Сергей   (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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.101 c
2-1338721041
Разведка
2012-06-03 14:57
2013.03.22
Нужна проверка слабых мест


15-1335417549
Palladin
2012-04-26 09:19
2013.03.22
EurekaLog и юнит ExceptionLog


15-1351542602
Юрий
2012-10-30 00:30
2013.03.22
С днем рождения ! 30 октября 2012 вторник


15-1330000715
aka
2012-02-23 16:38
2013.03.22
Тест Эйнштейна при приеме на работу)


15-1336595403
Юрий
2012-05-10 00:30
2013.03.22
С днем рождения ! 10 мая 2012 четверг





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский