Главная страница
    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.079 c
15-1353503118
Firefox
2012-11-21 17:05
2013.03.22
перевести фразу на английский


15-1343236383
alexdn
2012-07-25 21:13
2013.03.22
Шрифт


2-1347121511
alexdn
2012-09-08 20:25
2013.03.22
Верт скролл бар для формы


2-1334303031
rikitiki2012
2012-04-13 11:43
2013.03.22
Realtex


15-1352739879
Куку
2012-11-12 21:04
2013.03.22
Combobox с разным наполнением для разных строк в cxGrid





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