Главная страница
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.027 c
1-1081879743
VasRog
2004-04-13 22:09
2004.05.02
Стартовое число в Randomize


3-1081184519
Floppy
2004-04-05 21:01
2004.05.02
CompactDatabase


1-1081774335
Mishenka
2004-04-12 16:52
2004.05.02
PopupMenu в ComboBoxEx


6-1078166800
pomashok
2004-03-01 21:46
2004.05.02
raise


7-1078487387
Kft
2004-03-05 14:49
2004.05.02
Количество процессоров