Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
Опыт и разработки пользователей ИРБИС :  ИРБИС Irbis
 
ISIS + Perl + Pft
Пользователь: Владимир Ким (IP-адрес скрыт)
Дата: 09, September, 2005 11:48

Добрый день!

Пишу программу на Perl с прямым доступом к ISIS, в которой необходимо выводить в файл бибописания некоторых книг. Для этого использую PFT формат.

К сожалению, столкнулся с проблеммой, что при использовании isis.dll не работают &unifor...

Случайно не подскажите, как заставить работать &unifor при использовании isis.dll? И как это делается в Irbis?

Заранее благодарен!

С уважением, Владимир Ким
------------------------------------------
Инженер-программист НБ МИФИ

Re: ISIS + Perl + Pft
Пользователь: Очагова Л. Н. (IP-адрес скрыт)
Дата: 09, September, 2005 12:45

Для использования полного языка форматирования с UNIFORми надо использовать Format32.dll

Re: ISIS + Perl + Pft
Пользователь: Владимир Ким (IP-адрес скрыт)
Дата: 09, September, 2005 16:04

Скажите, на каком этапе подключается Format32.dll

Она вызывается сама из Isis32.dll или
ее нужно подключать отдельно и перед использованием команд из Isis32.dll и делать с помощью процедур Format32.dll какую либо предобработку?

Какая вообще схема взаимодействия Isis32.dll и Format32.dll?

С уважением, Владимир Ким
-------------------------------------
Инженер-программист НБ МИФИ

Re: ISIS + Perl + Pft
Пользователь: Очагова Л. Н. (IP-адрес скрыт)
Дата: 09, September, 2005 16:43

Библиотека Format32.dll подключается к проекту (DEPHI) через модуль pas и используется обращение типа:
IsisFmtNA(Space, 0, pchar, pchar, 1, 0,MAX,'format32');

Format32.pas:
unit Format32;

Interface

uses IniFiles;


{Function DosWin(Line: PChar): PChar;}
{Function WinDos(Line: PChar): PChar;}
Procedure SetIniFmt(AIniFile: TIniFile; AHApp: integer); {2001.1}
Procedure SetIniFile(AIniFile: TIniFile);
Function IsisFmtGet(Area_Pft: PChar; Line: PChar): Integer;
Function IsisFmtNA (H_ : LongInt; { Handle }
Curr_Shelf : LongInt; { Shelf of Current record }
Area_Pft : PChar; { Current format }
Work_Buf : PChar; { Formatted Record Buffer }
Alt_Shelf : LongInt; { Shelf of Altern record }
Trm_Shelf : LongInt; { Shelf of Term for "L" }
Line_Width : LongInt; { Length of Out string }
FmtExitDLL : PChar { DLL Format Exits }
): Integer;
Function UNIFOR(H : LongInt; { Handle }
Curr_Shelf : LongInt; { Shelf of Current record }
Trm_Shelf : LongInt; { Shelf of Term }
LW_Exit: integer;
OCC_Exit: integer;
SP1,SP2: Pchar
): integer;
Function UMARCI(H : LongInt; { Handle }
Curr_Shelf : LongInt; { Shelf of Current record }
Trm_Shelf : LongInt; { Shelf of Term }
LW_Exit: integer;
OCC_Exit: integer;
SP1,SP2: Pchar
): integer;

Implementation

{Function DosWin(Line: PChar): PChar; external 'Format32.DLL';}
{Function WinDos(Line: PChar): PChar; external 'Format32.DLL';}
Procedure SetIniFmt(AIniFile: TIniFile; AHApp: integer); external 'Format32.DLL'; {2001.1}
Procedure SetIniFile(AIniFile: TIniFile); external 'Format32.DLL';
Function IsisFmtGet(Area_Pft: PChar; Line: PChar): Integer; external 'Format32.DLL';
Function IsisFmtNA (H_ : LongInt; { Handle }
Curr_Shelf : LongInt; { Shelf of Current record }
Area_Pft : PChar; { Current format }
Work_Buf : PChar; { Formatted Record Buffer }
Alt_Shelf : LongInt; { Shelf of Altern record }
Trm_Shelf : LongInt; { Shelf of Term for "L" }
Line_Width : LongInt; { Length of Out string }
FmtExitDLL : PChar { DLL Format Exits }
): Integer; external 'Format32.DLL';
Function UNIFOR(H : LongInt; { Handle }
Curr_Shelf : LongInt; { Shelf of Current record }
Trm_Shelf : LongInt; { Shelf of Term }
LW_Exit: integer;
OCC_Exit: integer;
SP1,SP2: Pchar
): integer; external 'Format32.DLL';
Function UMARCI(H : LongInt; { Handle }
Curr_Shelf : LongInt; { Shelf of Current record }
Trm_Shelf : LongInt; { Shelf of Term }
LW_Exit: integer;
OCC_Exit: integer;
SP1,SP2: Pchar
): integer; external 'Format32.DLL';

End.

Re: ISIS + Perl + Pft
Пользователь: Владимир Ким (IP-адрес скрыт)
Дата: 19, September, 2005 11:53

Большое спасибо!

-------------------------------------
Инженер-программист НБ МИФИ



Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.