Страница 1 из 1

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

Добавлено: 02 июл 2008, 15:30
hope
Добрый день!

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

Спасибо!

Добавлено: 02 июл 2008, 15:44
Дмитрий_Н
Проверти это, я не уверен что это от 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. 

Добавлено: 02 июл 2008, 16:24
RAJAH
Подобные include-файлы лежат примерно там: <<папка Галактики>>\FRM\CompSrc. Ищите в этом каталоге по названию и не забудьте при компиляции указать путь к файлам через Alt-F7.

Добавлено: 02 июл 2008, 16:35
hope
Конечно искала в <<папка Галактики>>\FRM\CompSrc - нет у меня такого файла. У вас он есть?

Может его просто закомментировать в присоединенной форме?

Добавлено: 02 июл 2008, 16:48
Дмитрий_Н
Конечно искала в <<папка Галактики>>\FRM\CompSrc - нет у меня такого файла. У вас он есть?
В этой папки у меня нет файла, но я Вам выложил исходник файла ttn_fun.vpp, создайте пустой файл в блокноте и вставте текст, потом просто переименуйте его в "ttn_fun.vpp"

Добавлено: 02 июл 2008, 16:53
RAJAH
У меня ttn_fun.vpp (и другие - summa.frn, ttnf_var.frn, org_decl.frn и т.д.) лежат в <<папка Галактики>>\FRM\CompSrc\L\L_PrnSopr\frm. Если закомментируйте - лишитесь некоторых функций, например, как написал Дмитрий_Н, KolAddInStr. :)

Добавлено: 02 июл 2008, 17:03
edward_K
ищут почему то vpp а не frn 8)

Добавлено: 03 июл 2008, 08:00
hope
Ищу - потому что в присоединенной форме этот файл подключен:
#include ttn_fun.vpp

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

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