Главная страница
    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.08 c
15-1345714419
oldman
2012-08-23 13:33
2013.03.22
Видео на скайпе в одну сторону.


2-1330953400
dimokis
2012-03-05 17:16
2013.03.22
процедура для обработки нажатия любой кнопки на форме


2-1339439502
vasa777
2012-06-11 22:31
2013.03.22
название файлов через точку


15-1347568203
Юрий
2012-09-14 00:30
2013.03.22
С днем рождения ! 14 сентября 2012 пятница


15-1350592203
Юрий
2012-10-19 00:30
2013.03.22
С днем рождения ! 19 октября 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
Английский Французский Немецкий Итальянский Португальский Русский Испанский