Главная страница
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.47 MB
Время: 0.053 c
3-1081317803
Студент1
2004-04-07 10:03
2004.05.02
ADO и SQL Server 2000 -> "Connection failure".


14-1081276091
Soft
2004-04-06 22:28
2004.05.02
Зачем нужно программирование?


14-1081086968
Piter
2004-04-04 17:56
2004.05.02
FAQ: PChar и String


4-1078199427
Lefan
2004-03-02 06:50
2004.05.02
Взять HTML из чужого приложения...


14-1081846347
NeyroSpace
2004-04-13 12:52
2004.05.02
Искал я армейские присказки