Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.02;
Скачать: CL | DM;

Вниз

Нехватает LongInteger в ТурбоПаскале   Найти похожие ветки 

 
Vior   (2004-04-16 00:24) [0]

Извините, что спрашиваю по ТР. Суть вот в чем, есть готовая программа по зарплате, написанная в Борланд Паскаль 7 еще под ДОС, вот в ней размер  начислений(в копейках) превысил максимальный размер для LongInteger. Как можно малой кровью раздвинуть диапазон LongInteger, применение плавающих не пойдет, слишком много текста программ (в около 15 отдельных модулях) и везде div, mod  и т.п. используется, сам   LongInteger используется переобьявленным как TMoney. Вот если бы было возможно просто переделать тип TMoney? Спасибо


 
DrPass ©   (2004-04-16 00:29) [1]

Никак. Если у предприятия ФЗП превышает 40 000 000 р. 00 коп., не пора ли задуматься об использовании более серьезного софта?


 
vertal   (2004-04-16 01:42) [2]

В Паскале по-моему есть тип Comp - попробуйте переобъявить :
Type TMoney:Comp;

А если переполнение не более чем в 2 раза , то в некоторых случаях можно поставить

{$Q-}

(я правда не уверен насчет правильности действий с такими числами)


 
TUser ©   (2004-04-16 07:15) [3]

А зачем прогу ваще под ДОС переписывать? Или это типа как на почте/в сбербанке - до сих пор на каких-то ДОСькиных прогах сидятю


 
Юрий Зотов ©   (2004-04-16 09:40) [4]

type
 TMoney = Int64;

Даст диапазон от -92.233.720.368.547.758 руб 08 коп до +92.233.720.368.547.758 руб 07 коп.

Не подойдет? Если нет, то вряд ли удастся обойтись малой кровью - в Delphi тип Int64 самый длинный из целочисленных.

Тип Comp - это фактически тот же Int64 (и с тем же диапазоном), но трактуется, как вещественный (то есть, все div и mod придется переписывать, да еще и пойдут ошибки округления с их накоплением).

Есть еще тип Currency. Но его предел в 100 раз меньше, чем у Int64 и он тоже трактуется, как вещественный.

В общем, попробуйте Int64.


 
Юрий Зотов ©   (2004-04-16 09:42) [5]

Блин, невнимательно прочитал вопрос. Почему-то я решил, что программа с TP переписывается под Delphi. Сорри.



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

Текущий архив: 2004.05.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.042 c
8-1075984374
m-AAA-d
2004-02-05 15:32
2004.05.02
DelphiX D3DRM


1-1081943575
Алексей2
2004-04-14 15:52
2004.05.02
Как "превратить" строку в имя переменной?:


11-1065766982
Deimos
2003-10-10 10:23
2004.05.02
Где найти пример модуля для работы с JPEG


1-1082291310
killer
2004-04-18 16:28
2004.05.02
перевод из строки в TStringList


6-1079023940
SAG
2004-03-11 19:52
2004.05.02
Подтормаживание в TCPClient