| View previous topic :: View next topic | 
	
	
		| Author | Message | 
	
		| shura_k 
 
 
 Joined: 10 Oct 2003
 Posts: 342
 Location: Александр
 Occupation: Специалист
 Interests: Калининград
 
 | 
			
				|  Posted: 16 Nov 2005 15:34    Post subject: Как создать индексный файл IDX |   |  
				| 
 |  
				| Собственно SUBJ. Как при наличие CDX создать IDX и работать с ни
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| nordk 
 
 
 Joined: 27 Jun 2005
 Posts: 1000
 Location: Горбунов Константин
 Occupation: БЭСТ-Партнер
 Interests: СПб
 
 | 
			
				|  Posted: 16 Nov 2005 16:03    Post subject: |   |  
				| 
 |  
				| Тут народ уроки просит - тема немного общая по созданию индексов. Давайте я ее в урок вечером обращ
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| Олег Смирнов 
 
 
 Joined: 06 Sep 2004
 Posts: 821
 Location: Олег Смирнов
 Occupation: Раут (поганист-сисадмин)
 Interests: Новосибирск
 
 | 
			
				|  Posted: 16 Nov 2005 18:07    Post subject: Re: Как создать индексный файл IDX |   |  
				| 
 |  
				|  	  | shura_k wrote: |  	  | Как при наличие CDX создать IDX и работать с ним? | 
 Сразу глупый вопрос: а чего такого позволяет сделать .IDX чего нельзя сделать с .CDX?
 _________________
 С уважением, Олег Р. Смирн
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| shura_k 
 
 
 Joined: 10 Oct 2003
 Posts: 342
 Location: Александр
 Occupation: Специалист
 Interests: Калининград
 
 | 
			
				|  Posted: 16 Nov 2005 20:03    Post subject: |   |  
				| 
 |  
				| Это для совместимости с другим ПО. |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| shura_k 
 
 
 Joined: 10 Oct 2003
 Posts: 342
 Location: Александр
 Occupation: Специалист
 Interests: Калининград
 
 | 
			
				|  Posted: 17 Nov 2005 11:13    Post subject: |   |  
				| 
 |  
				|  	  | nordk wrote: |  	  | Тут народ уроки просит - тема немного общая по созданию индексов. Давайте я ее в урок вечером обращу
 | 
 
 Обещали урока и нет
   И на вопрос ни кто не ответил
  |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| nordk 
 
 
 Joined: 27 Jun 2005
 Posts: 1000
 Location: Горбунов Константин
 Occupation: БЭСТ-Партнер
 Interests: СПб
 
 | 
			
				|  Posted: 17 Nov 2005 11:19    Post subject: |   |  
				| 
 |  
				| Виноват- исправлюсь Не смог придумать как все обобщить.
 Дело в том, что с одной стороны хотелось показать как простой временный индекс делается, с другой стороны можно сделать хитрее - ведь то что вы спрашиваете это собственно встроенная возможность InitList() все фильтры в БЭСТе по F6 это временные индексы и если внимательно посмотреть в набор параметров _aheads - то там можно увидеть параметры которые собственно и предлагают вам делать хитрые собственные фильтры на индексах. Вот сходу решил что легко обобщу а вечером посидел и понял, что поспешил...
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| nordk 
 
 
 Joined: 27 Jun 2005
 Posts: 1000
 Location: Горбунов Константин
 Occupation: БЭСТ-Партнер
 Interests: СПб
 
 | 
			
				|  Posted: 17 Nov 2005 11:21    Post subject: |   |  
				| 
 |  
				| Чтобы не задерживать посмотрите вот это 
  	  | Code: |  	  | FUNCTION CreIndex(cNameNtx,cNtxKey,cForKey,nRow) IF cForKey==NIL
 cForKey:='.T.'
 ENDIF
 Busy(.T.)
 INDEX ON &cNtxKey TO (cNameNtx)           ;
 FOR &cForKey
 Busy(.F.)
 DBGOTOP()
 RETURN cNameNtx
 | 
 
 
  	  | Code: |  	  | cTmp_Cdx := TempFile(PATH_TMP,"CDX") FErase(cTmp_Cdx)
 cTmp_Cdx := CreIndex(cTmp_Cdx,"UPPER(indexkey)")
 | 
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| shura_k 
 
 
 Joined: 10 Oct 2003
 Posts: 342
 Location: Александр
 Occupation: Специалист
 Interests: Калининград
 
 | 
			
				|  Posted: 17 Nov 2005 11:26    Post subject: |   |  
				| 
 |  
				| Спасибо, но я спрашивал не про CDX, а IDX
   На сколько я понял надо сменить RDD, а потом работать обычными функциями?
 И честно говоря, даный вопрос хотелось бы осветить не встроенными функциями Бэста, а чистым Харборо
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| dmitry 
 
  
 Joined: 03 Jan 2002
 Posts: 33
 Location: Орлов Д.В.
 Occupation: Элипс-Опт
 Interests: Москва
 
 | 
			
				|  Posted: 17 Nov 2005 11:31    Post subject: |   |  
				| 
 |  
				|  	  | shura_k wrote: |  	  | Спасибо, но я спрашивал не про CDX, а IDX
   
 | 
 напишите так
 
  	  | Code: |  	  | cTmp_Cdx := TempFile(PATH_TMP,"IDX") 
 | 
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| shura_k 
 
 
 Joined: 10 Oct 2003
 Posts: 342
 Location: Александр
 Occupation: Специалист
 Interests: Калининград
 
 | 
			
				|  Posted: 17 Nov 2005 11:37    Post subject: |   |  
				| 
 |  
				|  	  | Quote: |  	  | напишите так 
  	  | Code: |  	  | cTmp_Cdx := TempFile(PATH_TMP,"IDX") 
 | 
 | 
 Я спорить не буду, но разве это не даст просто смену расширения?
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| nordk 
 
 
 Joined: 27 Jun 2005
 Posts: 1000
 Location: Горбунов Константин
 Occupation: БЭСТ-Партнер
 Interests: СПб
 
 | 
			
				|  Posted: 17 Nov 2005 13:11    Post subject: |   |  
				| 
 |  
				| Вы запускаете встроенную функцию и она вам по расширению строит что просите А что касается чистого харбора - в БЭСТе он не в чистом виде и моя задача программирование в БЭСТ-4, потому с этих ракурсов и подхожу ко всем вопросам
 Вернее меня поправляют уже xHarbour что он там "чистый"
 Но IDX DBCREATEINDEX() - работает без проблем - Вы же хотите не просто индекс а к существующему
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| shura_k 
 
 
 Joined: 10 Oct 2003
 Posts: 342
 Location: Александр
 Occupation: Специалист
 Interests: Калининград
 
 | 
			
				|  Posted: 17 Nov 2005 13:57    Post subject: |   |  
				| 
 |  
				| Все варианты приводят просто к смене расширения, внутреняя структура индеска остаётся CDX  |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| nordk 
 
 
 Joined: 27 Jun 2005
 Posts: 1000
 Location: Горбунов Константин
 Occupation: БЭСТ-Партнер
 Interests: СПб
 
 | 
			
				|  Posted: 17 Nov 2005 15:28    Post subject: |   |  
				| 
 |  
				| DBCREATEINDEX() - создает IDX |  | 
	
		| Back to top |  | 
	
		|  | 
	
		|  |