Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];

Вниз

Константные выражения   Найти похожие ветки 

 
Виктор Щербаков   (2002-03-19 13:44) [0]

procedure TForm1.Button1Click(Sender: TObject);
const a = 3 / 0;
begin
Caption := FloatToStr(a);
end;

Интересно, почему при компиляции не выдается ошибка "деление на ноль". Вместо этого при нажатии на Button1 в Caption формы появляется INF. Есть в этом какой-то смысл или просто глюк?

ЗЫ: Проверял на D5


 
DieHard   (2002-03-19 14:08) [1]

Хм, на D4 то же самое...


 
Фэ   (2002-03-19 14:10) [2]

Занятно.
3 div 0 не пропускается, однако.


 
Виктор Щербаков   (2002-03-19 14:13) [3]

Сейчас проверил на D3. Та же фигня.
Если разработчикам Borland нужен был символ для обозначения бесконечности, сделали бы его предопределенной константной как nil, true, false. Пусть программист явно его укажет.
А так, только ошибки плодить!


 
MBo   (2002-03-19 14:14) [4]

const
c=3;
d=0;
a = c / d;
e = c div d;// а эта строчка не проходит ;)


 
DieHard   (2002-03-19 14:20) [5]

А почему
const
a = Int(3);
не проходит?
Int ведь определена как дозволительная в константных выражениях


 
Виктор Щербаков   (2002-03-19 14:24) [6]

Int не разрешена.
Можно только:
Abs Chr Hi High Length Lo Low Odd Ord Pred Round SizeOf Succ Swap Trunc


 
DieHard   (2002-03-19 14:25) [7]

Извиняюсь, не заметил в хелпе слово except перед пречислением функций :)


 
DieHard   (2002-03-19 14:35) [8]

Итак, константы от Borland
1/0 = +INF
-1/0 = -INF
0/0 = -NAN
-(0/0) = +NAN


 
Фэ   (2002-03-19 14:42) [9]

Насчет NAN известно, а вот INF первый раз попалась


 
Иван Шихалев   (2002-03-19 21:20) [10]

Эти константы правда у Borland определены? А то, AFAIK, они замечательно определены в ассемблере i387, но в Pascal я их не помню.


 
Юрий Зотов   (2002-03-19 21:26) [11]

Век живи - век учись...

Интересно, а опция overflow checking {$Q+} на это как-то влияет, или нет?


 
Anatoly Podgoretsky   (2002-03-19 21:54) [12]

Виктор Щербаков © (19.03.02 13:44)

Глюка нет все нормально, ситуация разрешается на стадии компиляции, а ошибка "деление на ноль" это run-time ошибка.



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.006 c
7-81099
МИФИст
2002-01-25 15:21
2002.04.25
Память...


14-81066
Fellomena
2002-03-18 18:46
2002.04.25
Возможна ли связка *.lib от Фортрана с Delphi проектами ?


3-80752
ak
2002-04-03 17:03
2002.04.25
Как сделать SQL-запрос?


1-80965
Vovochka
2002-04-12 11:04
2002.04.25
TCustomForm.onDeactivate


1-80898
Candyras
2002-04-15 00:15
2002.04.25
Вот такая проблемка...





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