Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.072 c
15-1348518602
Юрий
2012-09-25 00:30
2013.03.22
С днем рождения ! 25 сентября 2012 вторник


15-1352816692
Очень Злой
2012-11-13 18:24
2013.03.22
Как в WinXP сменить сочетание клавиш для переключения раскладки?


15-1340136755
wl
2012-06-20 00:12
2013.03.22
напомните книжку из школьной литературы


15-1333744203
Юрий
2012-04-07 00:30
2013.03.22
С днем рождения ! 7 апреля 2012 суббота


15-1335600954
Kerk
2012-04-28 12:15
2013.03.22
Принц Персии





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский