powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Пути к программе и базам данных
25 сообщений из 50, страница 2 из 2
Пути к программе и базам данных
    #35998140
К. Александр
И USE ... IN 0 - Сработал! Почему без IN 0 не работает!? Что за параметр?А в хелпе не написано?
Мне необходимо чтобы из текстового файла пути брались!И что об этом есть в первом сообщении? Может, наконец-то изложим всю задачу полностью?
Вот такой кусочек прокатит для забора путей из файла?:
FHnd = fopen('path.cfg',10)А кто будет делать проверку успешности открытия? Пушкин?
vDBPk = FGETS(FHnd)
vDBPr1 = FGETS(FHnd)
vDBPr2 = FGETS(FHnd)
vDBPz = FGETS(FHnd)


В path.cfg:
c:\Gorenie\ZP\IN\kadr.dbf
c:\Gorenie\ZP\IN\ls.dbf
c:\Gorenie\ZP\IN\lsg.dbf
c:\Gorenie\ZP\OUT\zpl.dbf

Что то не катит)Это такое сообщение об шибке?
И не катит при поиске переменной! А ее тоже надо найти? Сами не знаете, какие переменные создаете?В головной программе описываю переменные в паблик, а в коде кнопки идёт забор в USE,Что такоре забор в USE? И какой там забор, деревянный, железный? но появляется ошибка! переменная не найдена. Или переменные паблик в Фоксе отсутствуют?Переменные паблик в фоксе присутствуют. Хотя ими и не рекомендуется пользоваться.

ps: называть понятным текст, вызывающий такое количество вопросов - верх самонадеянности.
...
Рейтинг: 0 / 0
Пути к программе и базам данных
    #35998155
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пока потерпим нервотрепку

будем надеяться, что автор
действительно новичек в фокспро
...
Рейтинг: 0 / 0
Пути к программе и базам данных
    #35998166
проходящий.
Иди на форум для филологов! Там разглагольствуй!
Ипааа.... Один хлеще другого! Мне не нужно мой код разбирать! Мне нужен кусочек кода для забора путей из текстового файла и последующее использование в USE! ВСЁ!
...
Рейтинг: 0 / 0
Пути к программе и базам данных
    #35998181
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторМне нужен кусочек кода для забора путей из текстового файла
http://sql.ru/forum/actualthread.aspx?tid=446516&hl=ini+%f4%e0%e9%eb

автор и последующее использование в USE

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
local lcFile1Path,lcFile2Path,lcFile3Path
lcFile1Path="...."
lcFile2Path="...."
lcFile3Path="...."

set exclusive off
try
    use (lcFile1Path) in  0  alias "ddddd"
catch
    messagebox("Не шмог открыть тттт")
endtry
try
    use (lcFile2Path) in  0  alias "вууу"
catch
    messagebox("Не шмог открыть ввввт")
endtry
try
    use (lcFile3Path) in  0  alias "ррррр"
catch
    messagebox("Не шмог открыть тт444тт")
endtry
...
Рейтинг: 0 / 0
Пути к программе и базам данных
    #35998213
new_bie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К. Александр,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
local lcPath, loFile, lcPer
create cursor MyCur (cPath c( 100 ))

lcPath = 'c:\Пути к таблицам.txt'
if File(lcPath)
    loFile = Fopen(lcPath)
    if loFile <  0 
        Fclose(loFile)
        MessageBox('Файл уже открыт.')
        close all
        return
    endif
else
    MessageBox('Файл не существует!' + Chr( 13 ) + 'Закрываю приложение.')
    return
endif

do while !Feof(loFile)
	insert into MyCur (cPath) values (Fgets(loFile))
enddo

Fclose(loFile) && закрываем файл

select MyCur
scan
    lcPer = Rtrim(cPath)
    MessageBox(lcPer)
    if !Used('&lcPer')
        use &lcPer in  0 
    endif
endscan

use in MyCur
...
Рейтинг: 0 / 0
Пути к программе и базам данных
    #35998222
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
Set Exclusive off
Set DEFAULT to c:\forum\sample1\

Local lcText, lnHandleFile
Text to lcText NOSHOW PRETEXT  7 
	C:\tttt\gggg.dbf
	C:\pppp\rrrr.dbf
	C:\eeee\wwww.dbf
EndText

StrToFile(lcText,"setup.txt")

lnHandleFile = Fopen("setup.txt")
If lnHandleFile> 0 
	
	local laFiles[ 3 ]
	laFiles[ 1 ] = Fgets(lnHandleFile)
	laFiles[ 2 ] = Fgets(lnHandleFile)
	laFiles[ 3 ] = Fgets(lnHandleFile)
	Fclose(lnHandleFile)

	If !OpenAllFiles(@laFiles)
		MessageBox("Не шмог открыть таблички!")
	Else
	
		* что душе угодно
		
	EndIf 	

Else
	MessageBox("Не шмог прочитать файл настроек")
EndIf 
Return 


Procedure OpenAllFiles
Lparameters taFiles
Local lcFileName, llSuccess
For lnArr= 1  to Alen(taFiles)
	lcFileName = taFiles[lnArr]
	If !Empty(lcFileName)
		try
			Use taFiles[lnArr] In  0 
			llSuccess = .t.
		Catch 
			llSuccess = .f.
			MessageBox("Не шмог открыть " + lcFileName)			
		EndTry
		If !llSuccess 
			Return .f.
		EndIf 
	Else
		MessageBox("Ошибка в файле настроек")
	EndIf 	
EndFor 
Return .t.



Код: plaintext
use &lcPer in  0 

это - зло!!! руки отобью!!!
...
Рейтинг: 0 / 0
Пути к программе и базам данных
    #35998225
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
опИчатался
Код: plaintext
Use (taFiles[lnArr]) In  0 
...
Рейтинг: 0 / 0
Пути к программе и базам данных
    #35998226
new_bie if !Used('&lcPer')
use &lcPer in 0
Не надо давать вредных советов. Не пробовали сей код на длинных путях с пробелами?
Код: plaintext
1.
    if !Used(lcPer)
       use (lcPer) in  0 
...
Рейтинг: 0 / 0
Пути к программе и базам данных
    #35998229
new_bie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
прошелмимо
Код: plaintext
use &lcPer in  0 

это - зло!!! руки отобью!!!

Чем грозит подобное открытие таблиц?
...
Рейтинг: 0 / 0
Пути к программе и базам данных
    #35998234
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЧем грозит подобное открытие таблиц?
Код: plaintext
1.
2.
3.
lcFileName="c:\Мой каталог\tt.dbf"
use &lcFileName
use (lcFileName)

создайте каталог "Мой каталог"
выполните код
результат сообщите нам
...
Рейтинг: 0 / 0
Пути к программе и базам данных
    #35998235
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К. Александр
reware
И USE ... IN 0 - Сработал! Почему без IN 0 не работает!? Что за параметр?

Кто-тут жалился, что уже и так из штатного хелпа не вылазит. ОК, берем руками хелп :

USE [[DatabaseName!] TableName | SQLViewName | ?]
[IN nWorkArea | cTableAlias] [ONLINE] [ADMIN] [AGAIN]
[NOREQUERY [nDataSessionNumber]] [NODATA]
[INDEX IndexFileList | ? [ORDER [nIndexNumber | IDXFileName
| [TAG] TagName [OF CDXFileName] [ASCENDING | DESCENDING]]]]
[ALIAS cTableAlias] [EXCLUSIVE] [SHARED] [NOUPDATE]
[CONNSTRING cConnectionString | nStatementHandle ]

IN nWorkArea
Specifies the work area in which to open the table. To close a table in a specific work area, call USE without the table name but include the IN clause and the work area number.
The IN clause supports 0 as a work area. Including 0 opens a table in the lowest available work area.

Берем англо-русский словарь, переводим. Из чего явствует, что IN указывает рабочую область, в которой открывается таблица. И если номером области указать 0, таблица откроется в _первой свободной_ области (вам домашнее задание - найдите в хелпе, сколько их там всего может быть). Если упрямо писать

Код: plaintext
1.
2.
USE table1
USE table2
USE table3
то все они тупо будут одна за одной открываться в одной и той-же свободной области и в результате мы получим открытой только table3. Посему, если нам желательно их открыть одновременно все, а не только последнюю, надо написать

Код: plaintext
1.
2.
USE table1 IN  0 
USE table2 IN  0 
USE table3 IN  0 
Каждая таблица откроется в своей свободной области и они прекрасно будут доступны посредством их алиасов :

Код: plaintext
1.
2.
3.
SELECT table1
* поработали с table1
SELECT table2
* поработали с table2
К. Александр
Мне необходимо чтобы из текстового файла пути брались!
Вот такой кусочек прокатит для забора путей из файла?:
FHnd = fopen('path.cfg',10)
vDBPk = FGETS(FHnd)
vDBPr1 = FGETS(FHnd)
vDBPr2 = FGETS(FHnd)
vDBPz = FGETS(FHnd)
В path.cfg:
c:\Gorenie\ZP\IN\kadr.dbf
c:\Gorenie\ZP\IN\ls.dbf
c:\Gorenie\ZP\IN\lsg.dbf
c:\Gorenie\ZP\OUT\zpl.dbf

Что то не катит)
И не катит при поиске переменной! В головной программе описываю переменные в паблик, а в коде кнопки идёт забор в USE, но появляется ошибка! переменная не найдена.

Вот до этого момента ну просто все "катит". А не катит в том месте, где вы что-то делаете (что ?) с этими переменными. Грубо говоря, продемонстрируйте здесь всем 1) как вы обьявили PUBLIC-переменные и 2) как вы делаете "забор в USE". Только не словесно, а строчками кода. Есть подозрение, что это сделано с элементарной синтаксической ошибкой.
К. Александр
Или переменные паблик в Фоксе отсутствуют?
Да, батенька, совсем вы в дельфях заелись. Вокруг себя ничего не знаете. Уж прежде, чем заниматься открытием таблиц, вам следует хоть что-то почитать про переменные PUBLIC, LOCAL. У вас сложилось (до знакомства с фоксом) ложное впечатление, что правильно работает программа, которая "катит", а не которая _написана_ правильно. Это есть следствие современных "удобных" средств программирования (особенно визуальных). Иногда бывает недостаточно умения правильно пользоваться Copy и Paste :)
...
Рейтинг: 0 / 0
Пути к программе и базам данных
    #35998246
прошелмимо
ВЕрИ ГУТ ) Спасибо! Всё Прокатило!
...
Рейтинг: 0 / 0
Пути к программе и базам данных
    #35998265
new_bie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторсоздайте каталог "Мой каталог"
выполните код
результат сообщите нам

свою ошибку осознал, обещаю исправиться :)

хотя сей проблем можно обойти, путем добавления одинарных кавычек )

Код: plaintext
1.
2.
lcFileName="'c:\Мой каталог\tt.dbf'"
use &lcFileName
...
Рейтинг: 0 / 0
Пути к программе и базам данных
    #35998267
reware
С переменными прабла синтаксиса была!
Входить в курс дела, в Фоксе это как откатиться на 10 лет назад ).
Всё разобрался, всем кто помогал СПАСИБО за терпение! Топик можно закрыть!
...
Рейтинг: 0 / 0
Пути к программе и базам данных
    #35998269
new_bieавторсоздайте каталог "Мой каталог"
выполните код
результат сообщите нам

свою ошибку осознал, обещаю исправиться :)

хотя сей проблем можно обойти, путем добавления одинарных кавычек )

Код: plaintext
1.
2.
lcFileName="'c:\Мой каталог\tt.dbf'"
use &lcFileName
А может лучше пролемы не обходить, а просто их не создавать?
...
Рейтинг: 0 / 0
Пути к программе и базам данных
    #35998285
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВходить в курс дела, в Фоксе это как откатиться на 10 лет назад ).

не нужно мучить себя и других,
с Вашими прг будут работать люди.

вернитесь в делфи.
...
Рейтинг: 0 / 0
Пути к программе и базам данных
    #35998287
new_bie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проходящий
А может лучше проблемы не обходить, а просто их не создавать?
Очень сложно отвечать на риторические вопросы :)
...
Рейтинг: 0 / 0
Пути к программе и базам данных
    #35998364
К. АлександрВходить в курс дела, в Фоксе это как откатиться на 10 лет назад ).
К такому выводу приходит каждый, изучающий новый для себя язык. Дело не в фоксе, а в привычках изучающего.
...
Рейтинг: 0 / 0
Пути к программе и базам данных
    #35998572
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К. АлександрВладимирМ
Без проблем:
"Разумеется, есть ситуации, когда простого указания путей доступа оказывается недостаточно. Например, когда Вы одновременно работаете с несколькими одноименными таблицами принадлежащими разным базам данных. В таких случаях используются различные приемы принудительного указания абсолютных путей доступа (здесь я их рассматривать не буду)."
Но сути это не меняет! Всё равно ни чего по теме нет!
Читаем по "буквам"

"Вы одновременно работаете с несколькими одноименными таблицами"

Обращаю внимание на слово "одноименными". Это предполагает, что у вас в двух директориях есть таблицы с одним и тем же именем. Например,

C:\In\kadr.dbf
C:\Out\kadr.dbf

И вы должны ОДНОВРЕМЕННО выполнять поиск в этих двух директориях. Т.е. идентификация файла по имени оказывается не достаточной, поскольку не понятно в какой именно директории это имя надо брать.

У вас ТАКАЯ ситуация? Судя по описанию - нет. Да, вы работаете с разными директориями, но одинаковых имен таблиц нет.

В этом случае указание абсолютных путей доступа не нужно. Достаточно корректно настроить SET PATH. А это можно сделать и в файле конфигурации CONFIG.FPW, который является обычным текствым файлом.

Значит, просто редактируете CONFIG.FPW у клиента и все. Никакого программного кода нигде писать не надо.
...
Рейтинг: 0 / 0
Пути к программе и базам данных
    #35998839
valeryka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Александр, путь да и прочие настройки можно брать и не из текстового файла, а из локальной таблицы
...
Рейтинг: 0 / 0
Пути к программе и базам данных
    #35998857
pitermax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так же есть еще и реестр
...
Рейтинг: 0 / 0
Пути к программе и базам данных
    #35999363
f
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К. Александр
Всю жизнь сидел в Delphi, из за смены работы пришлось работать на ФОКСЕ, очень сожалею об этом.

А как тебя на работу-то взяли?
...
Рейтинг: 0 / 0
Пути к программе и базам данных
    #35999478
Как!? Показал готовые проекты, всем понравилось, предложили з.п. больше и взяли на работу. Это пол беды! Потом проект оказалось нужно было привязать к MRP, а она реализована на фоксе. Вот теперь переквалифицируюсь...( Пока в голове каша ( от кучи фоксовских ограничений (относительно программирования) :(
Пока страдаю, надеюсь потом легче будет!
Мне бы нормальную документацию по фоксу!
По больше информации о свойствах объектов, формах, структуре программ.
что есть кидайте на gorenie собака inbox.ru
...
Рейтинг: 0 / 0
Пути к программе и базам данных
    #35999492
К. АлександрКак!? Показал готовые проекты, всем понравилось, предложили з.п. больше и взяли на работу. Это пол беды! Потом проект оказалось нужно было привязать к MRP, а она реализована на фоксе. Вот теперь переквалифицируюсь...( Пока в голове каша ( от кучи фоксовских ограничений (относительно программирования) :(
Пока страдаю, надеюсь потом легче будет!
Мне бы нормальную документацию по фоксу!
По больше информации о свойствах объектов, формах, структуре программ.
что есть кидайте на gorenie собака inbox.ruЯ Вам уже давал ссылку на Forum.foxclub.ru
Там и народу больше, и статьи есть, и FAQ большой, и большой раздел с готовыми решениями. Но Вы опять невнимательны. :)
...
Рейтинг: 0 / 0
Пути к программе и базам данных
    #36000416
Ffffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К. АлександрКак!? Показал готовые проекты, всем понравилось, предложили з.п. больше и взяли на работу.

Дельфи - первое средство разработки? Других что-ли не было?
...
Рейтинг: 0 / 0
25 сообщений из 50, страница 2 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Пути к программе и базам данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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