Цитата |
---|
Увеличим размер поля в новой версии. |
В ini файле прописать какое то значение типа DecimalCount = 4;
При инициализации приложения, весь вывод вещественных чисел, считывать эту константу и заносить в какую то глобальную переменную.
Вывод, как правило, производится через функцию format('%f',[значение])
Для того, чтобы не искать во всём проекте эти формат и не заменять на чтото другое - советую поступить приблизительно вот так:
1. функцию format переопределить в каком-то общем unit (который доступен через uses всем доп.модулям проекта)
пусть var DecimalCount : byte = 3; глобальная переменная содержащая число знаков после запятой тогда:
Код |
---|
function Format(const Mask: string; const Args: array of const): string; var sMask,S : string; p,lm : integer; i,pp : integer; begin sMask := Mask; p:=Pos('%',sMask); if p>0 then repeat lm := LenGth(sMask); sMask[p]:=#01; for i:=p+1 to lm do if smask[i]='f' then begin S:=copy(sMask,p+1,i-p-1); pp := pos('.',S); if S='' then S:='.'+inttostr(GlobalCount) else case pp<1 of true : S:=S+'.'+inttostr(GlobalCount); false: S:= copy(S,1,pp)+inttostr(GlobalCount); end; smask:= copy(sMask,1,p)+S+copy(sMask,i,lm-i+1); break; end; p:=Pos('%',sMask); until p<1; while Pos(#01,sMask)>0 do sMask[Pos(#01,sMask)]:='%'; result:=SysUtils.Format(sMask, Args); end; |
проверочный код:
Код |
---|
procedure TForm1.Button1Click(Sender: TObject); begin GlobalCount := 16; caption:=format('вода %.2f процент %.6f площадь %6f доп.=%f', [12.435423, 988.2334123, 3424.43634565, 132.7875676]); end; |
2. подставляя значение с глобальной переменной, человек самостоятельно может себе настроить число знаков после запятой, для всего вывода вещественных чисел. П.С. к примеру в странах с огромной инфляцией, копейки никто не считает, потому что их попросту нет
На Ваше усмотрение Татьяна )))
П.С. код можно приспособить не только а МГИС.
Не тот глуп кто не знает, а тот, кто не знает где искать.