powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Set Default to <текущий каталог>
40 сообщений из 40, показаны все 2 страниц
Set Default to <текущий каталог>
    #32699232
xamlo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А что нужно сделать, что бы exeшник запускался из любого каталога? Если используется внешняя таблица (обрашаюсь к ней просто как use table1), которая лежит в каталоге с программой, выдается ошибка файл table1.dbf не существует. Как прописать Set Default to <текущий каталог>, или нужно использовать что-нибудь другое?
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32699252
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cCurProc = SYS(16,1)
cCurProc=SUBSTR(cCurProc, 1, RAT("\", cCurProc))
cd &cCurProc
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32699268
xamlo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прописал в main.prg эти три строки, в ответ exeшник пишет ошибку Неправильный путь или имя файла. Может что-то не то?
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32699290
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
выдай что дает
?cCurProc
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32699292
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или messagebox(cCurProc,48,'')
до команды сd конечно
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32699293
xamlo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В принципе, он выдает значение текущего каталога.
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32699297
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тогда я не понял у меня эти строки в каждой почти программе и проблемм никогда не было
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32699301
xamlo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вы прописываете где-нибудь в main.prg что-то типа Set default to ?
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32699309
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а зачем?
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32699314
xamlo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всмысле, Set Default to <текущий каталог>, или достаточно cd &cCurProc?
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32699334
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну я же говорю зачем?
вы досовской командой меняете рабочий каталог чего ещё надо
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32699352
xamlo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, получилось, забыл одну "штучку"
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32699354
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я прописываю так:
Сначало смотрю что мне выдает sys(16)

А потом в зависимости сколько знаков надо убрать делаю следующее:

per1=left(right(sys(16),len(sys(16))-19),len(right(sys(16),len(sys(16))-19))-9)
set defa to &per1

Т.е. 19 знаков справа и 9 слева.
У тебя может быть другой случай, тогда вычитаешь нужное кол-во знаков.
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32699871
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странные проблемы... EXE-шник и DBF в одном каталоге и ошибка?
???
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32701553
В главном PRG, которе есть точка входа в приложение, пропишите код:
Код: plaintext
1.
2.
lcPath = JUSTPATH(SYS( 16 ))
SET DEFAULT TO (lcPath)           && Установить путь по умолчанию
SET PATH TO FORMS, REPORTS  ... и т.д.
Последняя строка кода указывает VFP на необходимость просмотра вложенных папок с перечисленными именами.
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32705376
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, ну и намудрили, ну и накрутили... Вячеслав дал правильный ответ, а
всякие "убрать 9 справа и 19 слева" это от очень весёлой травы очевидно :)
Вообще CD = SET DEFAULT TO, а макроподстановка в этих командах &cPath не
будет работать правильно если в пути встретятся пробелы.

Posted via ActualForum NNTP Server 1.0
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32705563
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пардон конечно если что не так
а эта команда разве не имеет макропдстановки в своем составе
SET DEFAULT TO (lcPath) ?????????
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32705839
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, не утерплю!
Проясните мне, please, суть проблемы, а то у меня в аналогичных ситуациях всегда всё работает без всяких SET DEFA... Может я чего-то не так делаю? ;-)
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32706125
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2redrik
Извените но у меня почему-то не получаеться как вы говорите
хотя конечно если работать в каталоге установленном в фоксе по умолчанию то конечно база откроется
или прописать пути для поиска в фоксе кажеться можно
например содал каталог программу базу и прописал путь
и так каждый раз
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32706138
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
з.ы.
да конечно можно
прописывать в tools-->options-->file location-->search path
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32706150
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так что если поделитесь секретом как вы такой фокус делаете без всяких усилий то буду рад
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32706256
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leaf2redrik
Извените но у меня почему-то не получаеться как вы говорите
хотя конечно если работать в каталоге установленном в фоксе по умолчанию то конечно база откроется
или прописать пути для поиска в фоксе кажеться можно
например содал каталог программу базу и прописал путь
и так каждый раз
Речь идет о этапе разработки проекта или о запуске готового EXE?

Если о стадии разработки, то читай здесь:
http://www.foxclub.ru/kb/index.php?sid=28924&aktion=artikel&rubrik=004&id=5&lang=ru

Если о готовом EXE, то вообще не понятная проблема. Как именно происходит запуск EXE?
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32706500
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Владимир
спасибо мне и так примерно всё понятно
я просто не пойму про что была речь redrika
может он что особенное делает
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32706649
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leafя просто не пойму про что была речь R edrika
Я говорю о том, что где бы Вы не расположили EXE вместе с DBF, то при его запуске не может не найтись DBF! Что непонятно? И нет тут никаких хитростей!
А насчет стадии разработки - то, с чем я работаю в данный момент, не в лом записать в "tools-...-default directory". Надо взглянуть на что-нибудь другое - я его просто запускаю по Ctrl+D (т.к. set default тут же выскочит само) и выхожу из программы. При работе на своём компьютере процедура выхода у меня в программах не делает "QUIT" и я остаюсь по "дефолту" там, где запускал последнюю программу... :-)
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32706670
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 redrik
спасибо понял
интересный подход может попробую
по пути вопрос а если два проекта одновременно разрабатываете то в default что указываете
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32707694
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про запуск программы по ярлыку, в котором может быть указано что угодно как
"стартовая папка" мы значится никогда не слышали :) Про всякие разные
ситуации когда текущая директория меняется практически "сама собой"
(например этим грешат PDF-driver-а /виртуальные принтеры, ActiveX-ы
некоторые) тоже не известно, но вот убеждение что если что-то лежит рядом с
exe то оно по определению видно и доступно - имеется :)
Кстати если из одного exe запустить другой - но расположенные в иной папке,
то что же будет "всегда видно"?

А вообще SET DEFAULT TO полезная команда.

2 leaf

.... TO (lcPath) это не макроподстановка, это именованное выражение. Help ->
Name expressions

Posted via ActualForum NNTP Server 1.0
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32707815
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor Korolyov
...но вот убеждение что если что-то лежит рядом с exe то оно по определению видно и доступно - имеется :)...
Что-то не так? Оно не должно быть "видно и доступно"?
Igor Korolyov
...Про запуск программы по ярлыку, в котором может быть указано что угодно как "стартовая папка" мы значится никогда не слышали...
Слышали... и что?
Igor Korolyov
...когда текущая директория меняется практически "сама собой"...
Добавлю актуальный "MAPISession"... Ну? Тогда и надо "SET DEFA..." Никто ж от этой команды не отказывается!

leaf
а если два проекта одновременно разрабатываете то в default что указываете
Насколько одновременно? Вплоть до запуска "второго" фокса? :-)))
Даже если так, то - Ctrl+D -> "выход" -> остался в фоксе и DEFAULT на нужном каталоге... Я ж написал... ;-)
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32707851
Ну нафлеймили...

В чём проблема-то? Программа запускается из одного каталога, а база данных лежит в другом (или вообще на другом компе)?
Код, который я привёл в примере использования SET DEFAULT, важен на этапе разработки, так как позволяет без проблем переносить проект в разные каталоги, и всё будет работать нормально (т.е. нужные формы и т.п. будут найдены). Что касается расположения таблиц БД и файл-серверной среды, то создайте в каталоге, в котором лежит EXE, файл (можно текстовый), в котором и пропишите путь к этим таблицам. При запуске программы считывайте из него путь и используйте при формировании имени открываемой таблицы.
Или опять что-то не так?
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32708210
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Вячеслав Клепинин
xamloЕсли используется внешняя таблица, которая лежит в каталоге с программой (exe), выдается ошибка файл *.dbf не существует
Вот и весь вопрос... А народ слегка отвлекся... Речь идёт не о том, где, как, чего и как кому это всё на вкус ;-) Вопрос крайне прост!
P.S. А в чём заключается данная конкретная проблема я всё-таки не понял... :-( И автор вопроса давно ушёл...
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32709517
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Что-то не так? Оно не должно быть "видно и доступно"?

Сделай exe, положи рядом с ним какой-нить dbf (например simple.dbf).
В самом exe дай команды

SET DEFAULT TO "С:\"
USE simple.dbf SHARED

А потом можешь обоснованно утверждать что

> Странные проблемы... EXE-шник и DBF в одном каталоге и ошибка?

и

> а то у меня в аналогичных ситуациях всегда всё работает без всяких SET
> DEFA

Posted via ActualForum NNTP Server 1.0
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32709853
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor KorolyovSET DEFAULT TO "С:\"
А это зачем??? Положить в какой-нибудь каталог exe+dbf и потом уйти в корень диска... Понятно, что ничего не найдётся!
Речь идёт о том, что не нужно никаких DEFAULT'ов, если всё нужные файлы лежат в одном месте!
Будь аккуратнее, please!
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32711392
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так это лишь демонстрация того, что не ищет фокс ничего в каталоге
запуска!
Ищет в SET DEFAULT, ищет в SET PATH, ищет внутри exe а в каталое запуска -
не ищет!
Поэтому запросто можно поймать описанную в начале ситуацию - вроде лежат
рядом, а не видит...

Posted via ActualForum NNTP Server 1.0
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32711511
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor KorolyovИщет в SET DEFAULT, ищет в SET PATH, ищет внутри exe
ДА!
Igor Korolyovне ищет фокс ничего в каталоге запуска
НЕТ!
Igor KorolyovПоэтому запросто можно поймать описанную в начале ситуацию - вроде лежат рядом, а не видит...
НЕТ! Если не менять нигде ничего через SET DEFAULT...
См. полный примитив в архиве - клади в любую папку и всё найдётся!
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32711904
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Элементарно. Кидаем exe и dbf например в C:\Test

Создаём на десктопе ярлык к этой программе. В свойствах ярлыка прописываем в
поле Start In например "C:\My Documents" запускаем.

Только не нужно говорить что это всё неправильно. Что пользователю нельзя
указывать каталог запуска...
А вот добавив в программу "сохранение" сначала текущего каталога (это и есть
каталог запуска), а потом переключение на JUSTPATH(SYS(16,0)) можно избежать
такой проблемы.

Posted via ActualForum NNTP Server 1.0
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32712151
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
браво ковалев я с вами
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32712153
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
береженного бог бережет )
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32712168
AEns
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FullPath('') - вернет каталог из которого EXE-шник запускался.
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32712975
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь! А о чём мы тут спорим? Неужели об этом спрашивал автор топика? Или Вы хотите убедить меня в возможности изменения пользователем каталога? ДА! Пользователь может это сделать... Не лишне подстраховаться! Я согласен! Но вопрос изначально был сформулирован по-другому!
Кстати, не пойму - Ваш "условный" пользователь зачем меняет каталог? Для развлечения? ;-) Мои пользователи так никогда не делали, не делают и делать не будут!
Предлагаю прекратить этот весьма дурацкий спор, поскольку мы говорим о немного разных вещах... Думаю, что мы не испытываем затруднений в вопросе "текущего каталога" и дальнейшее продолжение темы может принести единственную пользу - товарищ leaf еще больше увеличит количество своих постов в единицу времени... :-(((
...
Рейтинг: 0 / 0
Set Default to <текущий каталог>
    #32713756
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Redrik

Ну дык проблема то имела место быть! И наверняка у нашего некультурного
товарища (xamlo) что-то типа описанного мной нехорошего ярлыка и имело место
быть. Хотя конечно возможны и иные причины - напирмер жестко прописанный
путь, явно выполненная в коде SET DEFAULT/CD ну и ещё найдется причин...
Сама постановка вопроса конечно-же неверна - SET DEFAULT бессмысленно
делать в "текущий" каталог - ибо это он и есть :) Вот в каталог запуска -
можно (и иногда нужно) делать.

P.S. Вот очередные заблуждения пошли - типа что FullPath("") вернёт каталог
запуска, тогда как он вернёт текущий каталог!

Posted via ActualForum NNTP Server 1.0
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Set Default to <текущий каталог>
    #39232443
e-visitor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не люблю настройки VFP типа SET DEFAULT

Проще использовать:

LOCAL cSavedPath
cSavedPath = FULLPATH( CURDIR() )

CD ( любой директорий )
...какие-то действия...


CD ( cSavedPath )
...
Рейтинг: 0 / 0
40 сообщений из 40, показаны все 2 страниц
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Set Default to <текущий каталог>
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]