Галактика 8.1. Компиляция присоединенных форм.

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Галактика 8.1. Компиляция присоединенных форм.

Сообщение hope »

Добрый день!

Делаю свою присоединенную форму накладной на отпуск ТОРГ-12.
Для компиляции требуется ttn_fun.vpp - у меня такого нет - где его искать/брать? Или можно как-то без него обойтись?

Спасибо!
Дмитрий_Н
Сообщения: 13
Зарегистрирован: 26 июн 2008, 16:40
Откуда: Казахстан
Контактная информация:

Сообщение Дмитрий_Н »

Проверти это, я не уверен что это от 8.1, просто мне исходники от 8.0 и 8.1 скидали в одну кучу, но тем не менее попробовать стоит :grin:

Код: Выделить всё

.function KolAddInStr(var Str:String;LengthStr:word;UpdateStr:boolean):word;
  var iLine,KolSpace:byte;
  var TempStr : string;
!Первый параметр - поле, второй длинна поля (в RTF- формате использовать шрифт Courier New)
!Третий параметр - изменяить или нет Str
!Ставит пробел в строке Str ч.з. каждые LtngthStr+1 символов (при печати этот пробел 'съедается' редактором
Begin

    TempStr := Str;

    If length(str)>LengthStr
       {
        iLine := LengthStr+1;
        KolSpace := 0;
         do
          {
           if SubStr(str, iLine, 1) <>' '
             str := SubStr(str, 1, iLine-1) + ' ' + SubStr(str, iLine, length(str));

           KolSpace := KolSpace + 1;//подсчитаем к-во пробелов
           iLine := iLine + LengthStr + 1;
          }
         while length(str) >= iLine //ставит в конце каждой строке пробел
!length(str) >iLine - можно написать и так,тогда последнее слово в строке
!будет переходить на новую строку. Это не повлияет на подсчет строк...
        KolAddInStr := ((length(str)-1-KolSpace) div LengthStr);// к-во доп. строк в наим. МЦ
       }
    else KolAddInStr := 0;

    if not UpdateStr Str := TempStr;

end.
!Фунция удаляет из строки Str повторяющуюся подстроку dblStr
!isDel - удалять dblStr в начале и конце строки Str
.function DelDblStr(Str, dblStr: string; isDel: boolean): string;
var
  iPos,iLine: byte;
begin
  iLine := length(dblStr);
  iPos  := InStr(dblStr+dblStr, Str);
  while (iPos > 0) do
  {
    iPos  := iPos + iLine;
    Str   := SubStr(Str,1,iPos-1) + SubStr(Str,iPos+iLine,length(Str)-iPos-iLine+1);
    iPos  := InStr(dblStr+dblStr, Str);
  }
  if isDel  
  {
     if SubStr(Str,1,iline) = dblStr
       Str := SubStr(Str,iLine+1,length(Str)-iLine); 
     if SubStr(Str,length(Str)-iLine+1,iline) = dblStr
       Str := SubStr(Str,1,length(Str)-iLine); 
  }
  DelDblStr := Str;
end.
!Декоративная функция
!расставляет пробелы после каждого символа строки Str, кроме последнего
!после пробела ставится 2 дополнительных пробела
.function InsAfterAllSimbol(Str: string): string;
var
  i: byte;
begin
  if (length(Str) > 0)
  {
    Replace(Str, ' ', '  ');
    for (i := 1; i < length(Str); i := i + 2)
      Str := SubStr(Str,1,i) + ' ' + SubStr(Str,i+1,length(Str)-i);
  }
  InsAfterAllSimbol := Str;
end. 
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

Сообщение RAJAH »

Подобные include-файлы лежат примерно там: <<папка Галактики>>\FRM\CompSrc. Ищите в этом каталоге по названию и не забудьте при компиляции указать путь к файлам через Alt-F7.
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение hope »

Конечно искала в <<папка Галактики>>\FRM\CompSrc - нет у меня такого файла. У вас он есть?

Может его просто закомментировать в присоединенной форме?
Дмитрий_Н
Сообщения: 13
Зарегистрирован: 26 июн 2008, 16:40
Откуда: Казахстан
Контактная информация:

Сообщение Дмитрий_Н »

Конечно искала в <<папка Галактики>>\FRM\CompSrc - нет у меня такого файла. У вас он есть?
В этой папки у меня нет файла, но я Вам выложил исходник файла ttn_fun.vpp, создайте пустой файл в блокноте и вставте текст, потом просто переименуйте его в "ttn_fun.vpp"
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

Сообщение RAJAH »

У меня ttn_fun.vpp (и другие - summa.frn, ttnf_var.frn, org_decl.frn и т.д.) лежат в <<папка Галактики>>\FRM\CompSrc\L\L_PrnSopr\frm. Если закомментируйте - лишитесь некоторых функций, например, как написал Дмитрий_Н, KolAddInStr. :)
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

ищут почему то vpp а не frn 8)
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение hope »

Ищу - потому что в присоединенной форме этот файл подключен:
#include ttn_fun.vpp
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение hope »

Сделала, как написал Дмитрий_Н. Но видимо этого не достаточно: ругается на функцию MassaInWords.

Поискала - действительно есть такой файл ttn_fun.frn, он содержит 4 функции, в том числе MassaInWords, KolAddInStr...
Ответить