:: Архив конференции по VFP до 2005 года
Как назначить каталог?
rusl
Автор

Сообщений: 200
Откуда: СПб
Дата регистрации: 01.02.2005
Решил пока не использовать рекурсию и пойти по более легкому пути (количество уровней вложенности папок мне известно, поэтому можно циклами).

Вопрос такой. Как назначить каталог (в зависимости от темы), в который можно сложить результирующие таблицы (lcTargetCatalog)?
Пробовал поставить CD lcTargetCatalog и даже SET default TO lcTargetCatalog. Пишет: Invalid path or file name.
А может вообще можно как то иначе?


LOCAL lcTopCatalog, lnTopA, lnTopD
lcTopCatalog="c:\fox\top\"
lnTopD=ADIR(laTopDirectory,m.lcTopCatalog+"*.*","D")
FOR lnTopA = 1 TO lnTopD
IF (laTopDirectory[m.lnTopA ,1]='.' OR laTopDirectory[m.lnTopA ,1]='..')
LOOP
ELSE
LOCAL lcBlockCatalog, lnBlockA, lnBlockD
lcBlockCatalog="c:\fox\top\"+AllTrim( laTopDirectory[m.lnTopA,1])+'\'
lnBlockD=ADIR(laBlockDirectory,m.lcBlockCatalog+"*.*","D")
FOR lnBlockA =3 TO lnBlockD
LOCAL lcThemeCatalog, lnThemeA, lnThemeD
lcThemeCatalog= lcBlockCatalog+ laBlockDirectory[m.lnBlockA,1]+'\'
lnThemeD=ADIR(laThemeDirectory,m.lcThemeCatalog+"*.*","D")
FOR lnThemeA = 3 TO lnThemeD
LOCAL lcSiteCatalog, lnSiteA, lnSiteD
lcSiteCatalog = lcThemeCatalog + laThemeDirectory[m.lnThemeA,1]+'\'
*Каталог, в который хочу сложить результирующие таблицы для каждой темы.
LOCAL lcTargetCatalog
lcTargetCatalog = STRTRAN(lcThemeCatalog, 'c:\fox\top\', 'c:\fox\dproject\tables\' )
CD lcTargetCatalog
Ratings: 0 negative/0 positive
Re: Как назначить каталог?
newbie
cd &lcTargetCatalog
set defa to &lcTargetCatalog
Ratings: 0 negative/0 positive
Re: Как назначить каталог?
rusl
Автор

Сообщений: 200
Откуда: СПб
Дата регистрации: 01.02.2005
Не подходит. Все то же Invalid path or file name.
Ratings: 0 negative/0 positive
Re: Как назначить каталог?
newbie
Уже ухожу домой, поэтому только могу сказать , что скорее всего проблема в коде.
А символ подстановки перед переменной нужен. Иначе в качестве пути будет подразумеваться имя переменной.
Ratings: 0 negative/0 positive
Re: Как назначить каталог?
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Hi, rusl!

Мы на второй круг пошли? Или уже не третий?




------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Как назначить каталог?
rusl
Автор

Сообщений: 200
Откуда: СПб
Дата регистрации: 01.02.2005
2 Igor Korolyov.

Не совсем. Это тот же кусок кода но другой вопрос.
По поводу того, как назначать каталоги, в которые сохранять таблицы, никто кроме newbie мне ничего так и не посоветовал. А проблема есть и ее нужно решить. Понимаю, что злоупотребляю вашим вниманием, но кроме как на форуме спросить мне не у кого. Для меня важен каждый совет.

P.s. Спасибо за вашу помощь и понимание.
Ratings: 0 negative/0 positive
Re: Как назначить каталог?
YUriKireev

Сообщений: 17
Откуда: Нарьян-Мар
Дата регистрации: 21.02.2005
Попробуй так cd alltrim(lcTargetCatalog), (скобки или & обязательны, а без этого у тебя точно ни какой путь не найдется),но мне кажется что у тебя просто не существует путь который просишь, дело в том что я попробовал сделать так
засунул в каталог c:\fox\top\ всяких каталогов и файлов

LOCAL lcTopCatalog, lnTopA, lnTopD
lcTopCatalog="c:\fox\top\"
lnTopD=ADIR(laTopDirectory,m.lcTopCatalog+"*.*","D")


FOR lnTopA = 1 TO lnTopD
?laTopDirectory[m.lnTopA ,1]

endfor

и получил вот такие значения
.
..
kat
hhh
ooo
readme.txt
ggg.exe
aaa.doc

и так далее
может у тебя переменная принимает имя файла?
Ratings: 0 negative/0 positive
Re: Как назначить каталог?
rusl
Автор

Сообщений: 200
Откуда: СПб
Дата регистрации: 01.02.2005
Разве он будет показывать что то кроме названия папок? Мы ведь ограничили массив только ими (D).
lnTopD=ADIR(laTopDirectory,m.lcTopCatalog+"*.*","D")
У меня показывает только папки.

на вопрос ? lcTargetCatalog выдает правильную папку c:\fox\dproject\tables\arts\animation\.
Так что похоже дело не в этом.
Ratings: 0 negative/0 positive
Re: Как назначить каталог?
Vladimir_Knyr

Сообщений: 1711
Откуда: г. Енисейск
Дата регистрации: 15.12.2003
HI Rusl!

Вобщем конечная ошибка вылазит у тебя здесь
Цитата:
lcTargetCatalog=STRTRAN(lcThemeCatalog,'c:\fox\top\','c:\fox\dproject\tables\')
напиши далее вместо
Цитата:
CD lcTargetCatalog
следующее
? lcTargetCatalog
*CD &lcTargetCatalog && здесь подстановка нужна (хотя до нее дело еще не дошло)

и сразу увидишь

PS
я конечно на своих каталогах проверял и специально
структуры папок не делал
взял на угад любые две с моего диска



Отредактировано (10.03.05 20:10)


------------------
хороший код работать будет и обязан, а плохой не жалко.
Ratings: 0 negative/0 positive
Re: Как назначить каталог?
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Hi, rusl!

forum.foxclub.ru




------------------
WBR, Igor
Ratings: 0 negative/0 positive


Извините, но у вас нет прав для того, чтобы оставлять сообщения в этом форуме.

On-line: 5 (Гостей: 5)

© 2000-2024 Fox Club 
Яндекс.Метрика