Перезагрузка данных из разных каталогов

Если Вам приходится часто перегружать в программе данные из разных каталогов и Вы еще не решили как это сделать то данный код для Вас

Перезагрузка данных из разных каталогов
Димон (impekt@sci.smolensk.ru)

Если Вам приходится часто перегружать в программе данные из разных каталогов и Вы еще не решили как это сделать то данный код для Вас. Для работы необходимо вставить код, в DataEnvironment.BeforeOpenTable и перед этим создать глобальную переменную "Рабочий_каталог", со слешем на конце в которой прописать путь к данным, например:

C:MyProgaData1999

После этого при открытии таблиц в DataEnvironment данные будут браться из указанного выше каталога. Для перезагрузки данных не надо закрывать форму. Достаточно сделать следующие действия.

ThisForm.DataEnvironment.CloseTables
Рабочий_Каталог= 'C:MyProgaData2000'
ThisForm.DataEnvironment.OpenTables

**** Код процедуры перезагрузки

AMEMBERS(la_Cursors,ThisForm.DataEnvironment,2)
WITH ThisForm.DataEnvironment

FOR ln_Cot=1 TO ALEN(la_Cursors,1)
lc_Cursor=la_Cursors(ln_Cot)

IF .&lc_Cursor..BaseClass = 'Cursor'
IF NOT '' $ .&lc_Cursor..CursorSource lc_Table=SUBSTR(.&lc_Cursor..DataBase,RAT('',.&lc_Cursor..DataBase)+1,;
LEN(.&lc_Cursor..DataBase)-RAT('',.&lc_Cursor..DataBase)) .&lc_Cursor..DataBase=РАБОЧИЙ_КАТАЛОГ+lc_Table
ELSE
lc_Table=SUBSTR(.&lc_Cursor..CursorSource,RAT('',.&lc_Cursor..CursorSource)+1,; LEN(.&lc_Cursor..CursorSource)-RAT('',.&lc_Cursor..CursorSource)) .&lc_Cursor..CursorSource=РАБОЧИЙ_КАТАЛОГ+lc_Table
ENDIF
ENDIF

ENDFOR

ENDWITH

Автор: Димон
0

Автор публикации

не в сети 1 год

Joys

2
Комментарии: 5Публикации: 200Регистрация: 25-06-2000
Оставить комментарий
Авторизация
*
*
Генерация пароля