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

Вниз

Помогите - NAN   Найти похожие ветки 

 
Пиноккио   (2002-11-05 21:33) [0]

Парадокс, Делфи 5.
Возникает ужасная ощибка. То есть не возникает и программа формирует неправильный отчёт.
Кратко суть дела
- Программа создаёт временную таблицу:
with Table1 do begin
Active := False;
DatabaseName := Session.PrivateDir;
TableType := ttParadox;
TableName := "Temp1";
if Exists then DeleteTable;
with FieldDefs do begin
Clear;
Add("ID", ftInteger, 0, True);
Add("K1", ftFloat, 0, False);
Add("S1", ftFloat, 0, False);
Add("K2", ftFloat, 0, False);
Add("S2", ftFloat, 0, False);
Add("K3", ftFloat, 0, False);
Add("S3", ftFloat, 0, False);
Add("K4", ftFloat, 0, False);
Add("S4", ftFloat, 0, False);
Add("K5", ftFloat, 0, False);
Add("S5", ftFloat, 0, False);
Add("K6", ftFloat, 0, False);
Add("S6", ftFloat, 0, False);
Add("K7", ftFloat, 0, False);
Add("S7", ftFloat, 0, False);
Add("K8", ftFloat, 0, False);
Add("S8", ftFloat, 0, False);
Add("K9", ftFloat, 0, False);
Add("S9", ftFloat, 0, False);
Add("K10", ftFloat, 0, False);
Add("S10", ftFloat, 0, False);
Add("K11", ftFloat, 0, False);
Add("S11", ftFloat, 0, False);
Add("K12", ftFloat, 0, False);
Add("S12", ftFloat, 0, False);
end;
with IndexDefs do begin
Clear;
with AddIndexDef do begin
Name := "";
Fields := "ID";
Options := [ixPrimary];
end;
end;
CreateTable;
end;

Затем в цикле заполняю её примерно так
for i := 1 to ExtractDate(dtpEnd.date, ord(rvMonth)) do begin
Close;
ParamByName ("Params1").AsInteger := I;
Open;
While not Eof do begin
Table1.Edit;
FieldK.Value := FieldByName ("Kolvo").Value;
FieldS.Value := FieldByName ("Summa").Value;
TempTable.Post;
end;
end;

Так вот иногда я имею значение FieldByName ("Kolvo").Value равное 66.01, а после присвоения имею значение FieldK.Value - NAN. Это происходит только для определенных позиций, и то не всегда. Сам процесс формирования отчета занимает около 40 минут, под отладчиком ещё больше.

Проверял на двух третьих пнях с WIN98SE, работает неправильно. Дома не AMD c Win2000 ошибку смоделировать не получилось.
Извините за сумбурность.
Провозился два дня и без результата :-(
Буду благодарен за любую помощь.


 
Dmk   (2002-11-06 01:39) [1]

Рекомендую пройти обучение у Юрия Зотова и K. Поищи ветку Этап-2. Там есть ссылка на статью Антона Григорьева. Очень рекомендую.


 
Shaman   (2002-11-06 09:13) [2]

Попробуй использовать вместо .Value свойство .AsFloat

Проверь, все ли вещественные переменные инициализируются перед расчетом


 
Пиноккио   (2002-11-06 12:01) [3]

2Shaman
Пробовал и Ваш вариант тоже. Не помогает. Никакой ошибки во время исполнения нет.

2DMK
Спасибо
Перечитал статью. Попробую завтра поиграться с различными типами данных.

Однако все же не совсем ясно. Я беру одно число, полученное SQL запрочом при помощи суммирования поля типа Number (как показывает DataBase Desktop). Отладчик мне его показывает, как 66.01 (вот, именно, это число, наверное, заколдованное). А просто присваивая это значение полю, без различных арифмитических действий, дает мне -NAN. А иногда, это же число присваетcя правильно :-(((

Обидно, что бы проверить какое либо изменнение, надо тратить почти час



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

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

Наверх





Память: 0.45 MB
Время: 0.01 c
7-83021
Infinity2
2002-09-21 02:26
2002.11.25
Как в XP выключить компьютер и монитор ?


7-83011
yurez
2002-09-24 10:59
2002.11.25
Access violation. в вин98 ошибки нет. в вин2000 -м выдается


4-83056
Werewolfru
2002-10-11 17:21
2002.11.25
Как поменять HINT у иконки в TRAY`е


6-82884
Граф
2002-09-27 05:36
2002.11.25
как закачать файл по локальной сети с возможностью докачки


14-82910
MixerPro
2002-11-05 08:32
2002.11.25
Начинаю писать на IBase





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