Главная
Новый форум
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Нужна функция CreateTempIndex для 11x версий

 
Post new topic   Reply to topic   printer-friendly view     Forum Index -> Программирование в БЭСТ-4
View previous topic :: View next topic  
Author Message
itman



Joined: 05 Apr 2002
Posts: 1247
Location: Ильин Е.Ю.
Occupation: Cio
Interests: Кинель

PostPosted: 12 Sep 2005 14:25    Post subject: Нужна функция CreateTempIndex для 11x версий Reply with quote

Есть необходимость плагин с 12 на 11 перебросить. Функция CreateTempIndex, я так понял не была реализован
Back to top
View user's profile Send private message Send e-mail
Титов Александр



Joined: 26 Jul 2002
Posts: 975
Location: Титов Александр Александрович
Occupation: Компания БЭСТ
Interests: Москва

PostPosted: 12 Sep 2005 14:31    Post subject: Re: Нужна функция CreateTempIndex для 11x версий Reply with quote

itman wrote:
Есть необходимость плагин с 12 на 11 перебросить. Функция CreateTempIndex, я так понял не была реализована.

Она только в 12, вот ее код:

Code:
FUNCTION CreateTempIndex(cNtxKey,cForKey,cNameTag)
// Создание временных индексов
// Только по одному тэгу в бэге
Local nStep
Local cTagName
Local nProces:=Proces_Ini(,17,,'Построение вспомогательного индекса')
Local n, bForKey, bNtxKey, aIndex, nPoz
Local cNameNtx := TempFile(m->GlobalTmpPath,'CDX')
nStep := IIf(LastRec()==0,1,INT( 54/LASTREC()))
cNameTag := If(cNameTag==NIL, "TMP_TAG", cNameTag)
cForKey := IF(EMPTY(cForKey),"!DELETE()"+IF(FieldPos("DELETE") != 0,".AND.!DELETE","")+IF(FieldPos("ARXIV") != 0,".AND.!ARXIV",""),"!DELETE() .AND."+IF(FieldPos("DELETE") != 0,"!DELETE.AND.","")+IF(FieldPos("ARXIV") != 0,"!ARXIV.AND.","")+" ("+cForKey+")")
SetKeyIndex(@cForKey,@cNtxKey,@bForKey,@bNtxKey)
IF (nPoz := ASCAN(aIndex := BsSaveIndex(),{|cNameIdx| UPPER(cNameIdx) == UPPER(cNameNtx) })) != 0
  ADEL(aIndex,nPoz)
  ASIZE(aIndex,LEN(aIndex)-1)
  BsClearIndex()
  BsRestIndex(aIndex)
ENDIF
FERASE(cNameNtx)

dbGoTop()
ordCondSet(cForKey,bForKey,NIL,,;
,;
1,RECNO(),,,.T.,,.F.,,.T., .F., .F., .T., .F., .F.)

IF(cTagName = NIL,cTagName := TOKEN(TOKEN(UPPER(cNameNtx),":\"),".",1),NIL)
ordCreate(cNameNtx,cTagName,cNtxKey,bNtxKey)

ORDSETFOCUS(cTagName)

DBGOTOP()
ReopenDbf()
Proces_End(nProces)
RETURN cNameNtx

_________________
С уважением, Александр Титов, Компания БЭСТ, Москва, отдел разрабо
Back to top
View user's profile Send private message Visit poster's website
itman



Joined: 05 Apr 2002
Posts: 1247
Location: Ильин Е.Ю.
Occupation: Cio
Interests: Кинель

PostPosted: 12 Sep 2005 15:50    Post subject: Reply with quote

Ок Спаси
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view     Forum Index -> Программирование в БЭСТ-4 All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © phpBB Group

Rambler
Rambler's Top100 Рейтинг@Mail.ru