На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

версии 4.6

Поиск  Пользователи  Правила  Войти
Форум » Архивные темы (доступны только для чтения) » МГИС "Земля и Недвижимость"
Страницы: Пред. 1 2
RSS
версии 4.6, Договор аренды
 
Цитата
Увеличим размер поля в новой версии.
Татьяне Софиновой совет.
В 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. подставляя значение с глобальной переменной, человек самостоятельно может себе настроить число знаков после запятой, для всего вывода вещественных чисел. П.С. к примеру в странах с огромной инфляцией, копейки никто не считает, потому что их попросту нет

На Ваше усмотрение Татьяна )))
П.С. код можно приспособить не только а МГИС.  :)
Не тот глуп кто не знает, а тот, кто не знает где искать.
 
Цитата
Татьяна Софинова пишет:
Выпуск новой версии планируется в начале июня.


Уже середина июля, а свежей версией всё нет!?
Страницы: Пред. 1 2
Читают тему (гостей: 1)



© КБ Панорама, 1991-2024

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности