Страница 1 из 1
Галактика 8.1. Компиляция присоединенных форм.
Добавлено: 02 июл 2008, 15:30
hope
Добрый день!
Делаю свою присоединенную форму накладной на отпуск ТОРГ-12.
Для компиляции требуется ttn_fun.vpp - у меня такого нет - где его искать/брать? Или можно как-то без него обойтись?
Спасибо!
Добавлено: 02 июл 2008, 15:44
Дмитрий_Н
Проверти это, я не уверен что это от 8.1, просто мне исходники от 8.0 и 8.1 скидали в одну кучу, но тем не менее попробовать стоит
Код: Выделить всё
.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
Добавлено: 03 июл 2008, 08:00
hope
Ищу - потому что в присоединенной форме этот файл подключен:
#include ttn_fun.vpp
Добавлено: 03 июл 2008, 08:09
hope
Сделала, как написал Дмитрий_Н. Но видимо этого не достаточно: ругается на функцию MassaInWords.
Поискала - действительно есть такой файл ttn_fun.frn, он содержит 4 функции, в том числе MassaInWords, KolAddInStr...