|
пути к таблицам
|
|||
---|---|---|---|
#18+
Нужно в файл MUMC.dbf добавить путь к таблицам Tab1 и Tab2 и в программе читать путь к таблицам с этого файла. Как это сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 14:37 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
А что, поиск по форуму отменили? SET PATH TO и через запятую перечень каталогов, где будут искаться файлы. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 15:06 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
miv32, я так писала SET PATH TO mumc.dbf. этот файл т.е. mumc.dbf находится в той же папке что и проект. И еще я в mumc.dbf написала путь к таблицам лежащим на сервере так >H:\DBF\pacient.dbf,obsled.dbf если неправильно указала исправьте пожалуйста. в первый раз сталкиваюсь с путями и не понимаю как писать ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 15:13 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
в mumc.dbf в 9-ой строке написала путь к таблицам pacient и obsled ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 15:15 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
:) Сам выполняемый exe лежит, я полагаю, в каком-то каталоге. Верно? Допустим каталог называется MyProg. В MyProg обычно, чтобы не валить все в одну кучу, есть еще подкаталоги: DBF (где храняться базы), SCREENS (для форм), PRG (для разных *.prg) и т.д. Всегда должен быть стартовый файл. Обычно это некий *.prg Вот в нем и дается команда с перечнем каталогов, где будут искаться нужные файлы. SET PATH TO DBF,SCREENS,PRG относительно места, где лежит exe. Если exe - шник запускается с локальных машин по сетке, то хранить путь в файле незачем. Если базы храняться на одном компе, а на каждом лежит ехе, то тогда да, придется запоминать. Полный путь к вашему exe: JUSTPATH(SYS(16,0)) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 15:37 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
miv32, у меня есть папка с проектом с проектом и со всеми файлами относящимися к нему и с таблицой mumc.dbf в этом файле mumc.dbf я прописала путь к таблицам pacient и obsled которые лежат на сервере так: >H:\DBF\pacient.dbf,obsled.dbf я не знаю правильно ли я написала этот путь и потом мне нужно в программе вместо use H:\dbf\pacient.dbf читать путь из файла mumc.dbf. я просто не знаю как это делается. написала SET PATH TO _VFP.DefaultFilePath USE mumc.dbf IN 9 т.к. 9-я строчка в mumc.dbf содержит путь но не находит таблицы. Напишите как мне в mumc.dbf прописать путь к тем таблицам pacient и obsled и как потом из программы читать этот путь. заранее спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 15:45 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
Уфф, тяжело в деревне без нагана. Еще раз говорю. Зачем вам прописывать путь? Если дана команда SET PATH TO QQQQ то ваши pacient.dbf,obsled.dbf фокс САМ найдет, при условии, что они лежат в QQQQ. И чтобы pacient.dbf,obsled.dbf использовать, даете команды USE pacient.dbf IN 0 USE obsled.dbf IN 0 Экзешник откуда запускается? С сервера? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 15:58 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
miv32, мне сказали именно так сделать. в файле mumc.dbf хранятся все пути ко всем таблицам. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 16:01 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
miv32, нет не с сервера. сказали чтобы пути не были жестко указаны в программе вынести путь к этим таблицам в этот файл а в программе читать этот путь. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 16:05 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
Тогда пользуйтесь командой JUSTPATH(SYS(16,0)). Она вернет полный путь, НО путь будет относительный, т.к. по сети диск сервера может быть подключен у каждого юзера под разными буквами. Спрашивается, какой путь вы хотите хранить? Придется для каждого юзера хранить свой путь. Одни танцы с бубнами. Так не пишут. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 16:42 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
miv32, А если для всех юзеров сервер этот диск H то как написать? Допустим у всех серверный диск это H и на сервере в папке xxx есть таблица mumc.dbf в этой таблице 9-я запись хранит путь H:\dbf\pacient.dbf,obsled.dbf если нетрудно напишите небольшой код, чтобы из программы читать этот путь. Я не поняла как отсюда JUSTPATH(SYS(16,0) эта команда ищет этот путь ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 16:49 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
Тогда в лоб и пишите H:\dbf\pacient.dbf считываете значение lcName = "H:\dbf\pacient.dbf" А потом USE (lcName) IN 0 Но H:\DBF\pacient.dbf,obsled.dbf не прокатит ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 17:05 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
miv32, Вы меня не так поняли в программе у меня и так путь к таблицам указан так use h:\dbf\pacient и т.д. А мне нужно этот путь h:\dbf\pacient записать в таблице mumc.dbf и потом оттуда уже считывать в программе ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 17:24 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
Кристинка89, Насколько я понял, вы хотите файл MUMC.dbf использовать в качестве "хранителя настроек". Подскажу довольно часто используемое решение: у вас есть какая-то форма, где вызывается процедура для изменения настроек. Файл, а, точнее, таблица MUMC.dbf должна иметь два поля: <имя параметра> и <значение параметра>. Писать : открываете таблицу, находите нужную запись и, например, REPLACE <значение параметра> WITH <значение тексбокса формы>. Читать : открываете таблицу, находите нужную запись <переменная>=ALLT(<значение параметра>). Или через SCATTER, как больше нравится. А потом открыть рабочую таблицу так: USE <переменная>+'\<имя таблицы>.dbf' IN 0 ...... Немного сумбурно, но... В книгах пишут более подробно. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 18:19 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
Кристинка89, дело в том, что вы неправильно ставите задачу. И кто именно вам "сказал, что нужно именно так прописать"? Андрей? Давайте посмотрим (что вам и пытаются объяснить): 1) Можно сделать именно то, что вы хотите. Но для этого нам нужен ваш файл MUMC.DBF, поскольку мы-то ведь не знаем, какова его структура и как там хранится информация. 2) Можно сделать немного по-другому. А именно - не прописывать некие конкретные пути к конкретным таблицам в некоей, опять же, конкретной таблице (ибо, как было правильно замечено, никто уже не пишет ПО в предположении, что файлы будут находиться в каком-то конкретном расположении на диске), а задать пути поиска. То есть получится, что Вы , как разработчик, знаете, что таблицы pacient.dbf и obsled.dbf находятся в одном и том же каталоге, который может быть либо задан пользователем, либо "вычислен" самой программой, либо считан из какого-либо источника (файлы конфигурации, запросы к СУБД, etc), либо... Обычно, самый простой путь - это задание "путей поиска", по которым FoxPro автоматически выполняет поиск файлов (например, при открытии таблиц). Как вам и сказали, это либо команда SET PATH TO (некий путь) ; либо строчка в файле config.fp вида path=H:\DBF Впрочем, что мы тут бьемся судя по вашему Кристинка89написала SET PATH TO _VFP.DefaultFilePath USE mumc.dbf IN 9 т.к. 9-я строчка в mumc.dbf содержит путь но не находит таблицы. Вы вообще не знаете FOX (особенно мне нравится перл " USE ... IN 9 т.к. 9-я строчка в содержит путь "). Так-то мы в курсе, что вы - двое студентов, которых куда-то там наняли, которые FOXа до этого в глаза не видели (ваше "универовское" знакомство с ним, как я понимаю - это "Вы знаете, товарищи студенты, что есть такой язык и СУБД - ФоксПро. А теперь перейдем к изучению Акцесс...". В сообщениях Андрею уже несколько раз повторено - "садитесь и читайте книги по FoxPro, учитесь на примерах из них, и только затем уже справшивайте". Поскольку сложного-то в изучении ничего нет (особенно, если вы всё же ещё не разучились учиться), на примерах и книгах можно всё основное понять... для программиста, сносно владеющего хотя бы одним ЯП - недели две-три... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 18:24 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
AndreTM, мне нужно именно так как я говорю. Это не андрей сказал а шеф. Вот файл mums.dbf ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 18:49 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
А предыдущие записи в этой таблице - это уже те пути, что ваша "программа" использует в работе? И при этом "умеет" находить нужные таблицы по этим путям?? Тогда вам придется изучить уже имеющийся код проекта на предмет того, как же реализована работа с этой таблицей. Поскольку, имею я сильное подозрение, что завязано там все на глобальные переменные для путей, которые считываются по номеру записи в таблице... охр..ть. Соответственно, если вы желаете "вписаться" в имеющуюся логику, сразу возникает следующий вопрос: а pacient.dbf и obsled.dbf - это вами же созданные новые таблички, ранее в проекте не имевшиеся? Иначе кто вам запрещает их сразу поместить в это самое место - H:\DBF\ ? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 19:16 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
AndreTM, Нет предыдущие пути это пути для других проектов которых у меня нету ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 19:19 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
AndreTM, Блиин вот вы даете Эти таблицы размещены на сервере в H:\DBF в программе у меня жестко пути прописаны все работает. Но сказали эти пути записать в файл mums.dbf а в программе оттуда выбирать этот путь. Если бы так не сказали сделать я бы не парилась т.к. и без этого работает. Но нужно именно так сделать ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 19:21 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
на другом форуме написали такой код: Use ('Ваш_путь_к_mumc.dbf\'+mumc.dbf) IN 0 SHARED SELECT mumc LOCATE FOR mumc.tbl_name=pacient USE(mumc.tbl_path+'\pacient.dbf') IN 0 SHARED эту строку USE(mumc.tbl_path+'\pacient.dbf') IN 0 SHARED не понимаю. Остальное вроде понятно ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 19:32 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
Так и вопрос-то я вам задаю вполне конкретный: - вот есть у вас файл MUMC.DBF - вот создали в нем новую запись, содержащую нужный вам путь Как вы затем определите (если у вас в этом файле несколько записей) что какой-то конкретный путь - именно нужный вам? По каким признакам? Кстати, конкретно такой путь ("H:\DBF\") уже есть в этой таблице, в записи #2. Если исходить из этого, то можно действовать таким примерно образом: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 19:35 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
AndreTM, и везде где есть в выборках эти таблицы так писать? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 19:41 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
Кристинка89, в этой строке пишет gcMyPathDBF=CHRTRAN(namm,'>','') Variable Namm не найден ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 19:43 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
"На другом форуме" видели структуру вашего файла MUMC.DBF? Или вы им послали другой файл (по сравнению с выложенным здесь)? "Эту строку ... не понимаю" - я уже про вас ранее высказался, не хочу повторяться. Если Вы не понимаете этого написанного , то вам еще рано даже приближаться к программированию конкретной задачи (тем более, к "оптимизации" уже имеющейся), необходимо, вообще-то, сначала изучить тот язык, на котором вам надо решать задачу... "Остальное вроде понятно" - не верю ни одному слову. Ибо, например Код: sql 1.
непонятно мне, поскольку в mumc.dbf я что-то не обнаружил поля tbl_name (да и tbl_path никакой не наблюдается...) Вы всё еще думаете, что работа с СУБД хоть каким-то образом похожа на "раскидывание кнопочек по формочкам" или "рисование табличек"? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 19:44 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
Кристинка89Кристинка89, в этой строке пишет gcMyPathDBF=CHRTRAN(namm,'>','') Variable Namm не найденТо есть Вы утверждаете, что запустив код (разом, в виде программы) Код: sql 1. 2. 3. 4.
вы получили ошибку?? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 19:47 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
Кристинка89 , не тратьте лучше цветы своей селезёнки, тем более, сидя дома... Андрею же уже сказали (вы, кстати, за его постами и ответами на них наблюдаете?), что надо просто сесть и почитать книжки. Вот и займитесь... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 19:50 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
AndreTM, Да ошибка variable namm not found автор*!* USE mumc.dbf IN 0 *!* GO 2 && это порядковый номер записи в таблице *!* gcMyPathDBF=CHRTRAN(namm,'>','') *!* USE *!* * там, где вам нужно открыть таблицы *!* USE (gcMyPathDBF+'pacient') IN 0 ALIAS pacient *!* * и работаем с таблицей вот код ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 19:51 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
AndreTM, понятно же что делает функция я ее переделала просто чтобы она находила слово pacient в поле. как я поняла тот кто писал это андрею имел ввиду это. может и ошибаюсь ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 19:52 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
AndreTM, в общем не надо отвечать сама разберусь.. вы все шаблоны даете вместо реального небольшого примера. В шаблонах я например не понимаю ваши замудренные переменные и прочие подстановки. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 19:57 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
Что Вы переделали?? Какой "pacient в поле"? Вы храните, вообще-то пути . Если же вы собираетесь хранить "имя файла с полным путём" (как, например, у вас в 9 и 10 записях) - то и преобразование понадобится другое (просто "отрезать" первый символ ">"), либо не понадобится вовсе (если вы не будете этот самый ">" вообще в поле прописывать - оно вам там зачем надо-то?). С другой стороны, вы собираетесь в таблице MUMC перечилять все свои используемые таблицы ? Зачем? Вас же просили записать путь к таблицам , а не таблицы с путями , вообще-то, как я понял... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 19:59 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
Кристинка89AndreTM, в общем не надо отвечать сама разберусь.. вы все шаблоны даете вместо реального небольшого примера. В шаблонах я например не понимаю ваши замудренные переменные и прочие подстановки. Спасибо, посмеялсо от души... Не в обиду: from Shoker.Pro "...получайте же эти знания, иначе зачем учиться на такой специальности. Можно податься в строители, слесари, швеи, водители. Там никто программирование учить не заставляет. А если пришли учиться именно на такую специальность – будьте любезны соответствовать. Специалисты знают то что они знают потому, что хотели получить эти знания и мы все будем очень сильно расстроены, если из-за тех, кто не хочет учиться сейчас, мы получим в будущем очередной Чернобыль, СШГЭС, падение самолетов и т.п..." ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 20:02 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
AndreTM Как вам и сказали, это либо команда SET PATH TO (некий путь) ; либо строчка в файле config.fp вида path=H:\DBF Я бы посоветовал такие советы не советовать. Да и самим никогда не использовать. Это такие же грабли как и макроподстановка. Случайно заброшенная в папку программы одноименная DBFка в лучшем случае вызовет мистические ошибки, в худшем - нарушение данных в базе. SET PATH или path= уместно на этапе разработки, когда формы/классы/отчеты/программные модули раскиданы по подпапкам и в работе будут собраны в один EXE. EXE - это тоже самое, но без подпапок. В рабочем состоянии для внешних файлов - только полные пути. Топикстартерам - читать книги, там все основы разжеваны, тут не курсы для чайников. После такой доработки проги для врачей и до врачебных ошибок недалеко. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 20:16 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
Так а в чем проблема то? Я смотрю, что файлики в табличке есть. Их заюзать надо? *Открываем вашу табличку* IF !USED("mumc") USE mumc IN 0 ENDIF LOCAL ARRAY aTableName(1) *Собственно выборка* SELECT ALLTRIM(namm) FROM mumc WHERE LOWER(namm) like '%obsled.dbf%' OR LOWER(namm) like '%pacient.dbf%' INTO ARRAY aTableName IF _TALLY = 0 =MESSAGEBOX("Ничего не найдено",0+16,"Ошибка") RETURN .f. ENDIF *Чего-то нашли* LOCAL lcPath,lcPathErr lcPathErr = "" FOR i=1 TO ALEN(aTableName,1) *Символ '>' не нужен, я полагаю* lcPath = ALLTRIM(SUBSTR(aTableName(i),2,100)) IF FILE(lcPath) && Файл есть по указанному пути USE (lcPath) IN 0 && Юзаем ELSE lcPathErr = lcPathErr + lcPath + CHR(13) && Файлы не найдены по указанным путям ENDIF ENDFOR IF LEN(lcPathErr) > 0 =MESSAGEBOX("Не все спокойно в Датском королевстве! Не найдены:"+CHR(13)+lcPathErr,0+16,"Ошибка") ENDIF RELEASE aTableName ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 20:33 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
Dima T , я вроде не "советовал так делать", просто указал на то, что такое возможно и уже упоминалось. Совет был другой, аналогичный вашему miv32 , человека вгоняет в ступор даже это авторэту строку Код: sql 1.
не понимаю.так что думаю, ваш пример будет восприниматься как китайская грамота с подстрочным переводом на английском - для обитателя острова Пасхи... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 22:33 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
у кого-нибудь есть вообще исходник такого примера который мне нужен. я бы разобралась в этом примере, запомнила ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 22:41 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
ОффНе, народ... Не поленюсь, сохраню треды с участием этих ребят. Похоже, достойные участники Специальной олимпиады. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 22:49 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
Кристинка89Вы меня не так поняли в программе у меня и так путь к таблицам указан так use h:\dbf\pacient и т.д. А мне нужно этот путь h:\dbf\pacient записать в таблице mumc.dbf и потом оттуда уже считывать в программе Кристинка89Это не андрей сказал а шефА кто шеф? Главврач? Или начальник отделения? НЕ ВЕРЮ! Это все-таки курсач/лаба. Кристинка89у кого-нибудь есть вообще исходник такого примера который мне нужен. я бы разобралась в этом примере, запомнилаНапишите на форум "Работа", вам за неделю (максимум) сделают. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2012, 07:49 |
|
пути к таблицам
|
|||
---|---|---|---|
#18+
оффAndreTMэтих ребят ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2012, 08:04 |
|
|
start [/forum/topic.php?all=1&fid=41&tid=1583434]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
others: | 267ms |
total: | 429ms |
0 / 0 |