powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Путь к базе с помощью ini
22 сообщений из 22, страница 1 из 1
Путь к базе с помощью ini
    #38456336
Claymore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть база, находиться она "E:\MAINSCREEN\DATA\data1.dbc" там же находятся и таблицы "E:\MAINSCREEN\DATA\table1.dbf", "E:\MAINSCREEN\DATA\table2.dbf", "E:\MAINSCREEN\DATA\table3.dbf", "E:\MAINSCREEN\DATA\table4.dbf", "E:\MAINSCREEN\DATA\table5.dbf", "E:\MAINSCREEN\DATA\table6.dbf" нужно чтобы приложения находила базу, есть файл "proj1.ini", допустим на "Е:\" диске находится приложение "proj1.exe" и "proj1.ini". В "proj1.ini" прописано "E:\MAINSCREEN\DATA\". я закинул пару рисунков, я не пойму почему у меня не работает, на рисунках всё расписано.
...
Рейтинг: 0 / 0
Путь к базе с помощью ini
    #38456338
Claymore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Путь к базе с помощью ini
    #38456449
alextashk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Claymore,

А где сам ini?
...
Рейтинг: 0 / 0
Путь к базе с помощью ini
    #38456516
Claymore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alextashk, на второй картинке он находиться рядом с приложение "proj1.exe" увидел?
...
Рейтинг: 0 / 0
Путь к базе с помощью ini
    #38456548
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Claymore,

а меседжбокс, что перед опен датабейс, какой путь показывает? правильный?
...
Рейтинг: 0 / 0
Путь к базе с помощью ini
    #38456561
Claymore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir,

Да, он показывает верный путь вот картинка
...
Рейтинг: 0 / 0
Путь к базе с помощью ini
    #38456586
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Claymore,

хм, а что за "курсор обжект" на предыдущей картинке? небось визардом чего-то создавали? если да, то /*далее следует универсальный совет по поводу всего, что создаётся визардами :)*/ посмотрите, как сделано, найдите привязку к пути, после чего выкиньте каку и создайте вручную то же самое, но с правильным определением пути.
...
Рейтинг: 0 / 0
Путь к базе с помощью ini
    #38457336
Claymore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir,

Я визардом ничего не создавал, а насчет остального не понял немного, я с foxpro работаю всего один месяц и может кое где не правильно сделано, я сброшу вам свой проект, пожалуйста посмотрите, может вы поймете в чем проблема.
...
Рейтинг: 0 / 0
Путь к базе с помощью ini
    #38457424
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Claymore,

В DE формы что-нибудь есть?
...
Рейтинг: 0 / 0
Путь к базе с помощью ini
    #38457443
Claymore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IgorNG,

Да, конечно! Вот рисунок, первой формы:
...
Рейтинг: 0 / 0
Путь к базе с помощью ini
    #38457445
Claymore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IgorNG,
...
Рейтинг: 0 / 0
Путь к базе с помощью ini
    #38457447
Claymore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IgorNG,

Я думаю, что где то в коде главной программы ошибся, хотя, может и не так....
...
Рейтинг: 0 / 0
Путь к базе с помощью ini
    #38457525
Fffffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поставь в начале главной программы set step on и посмотри в отладчике, какая директория по умолчанию у тебя получается и что там открывается.
...
Рейтинг: 0 / 0
Путь к базе с помощью ini
    #38457548
Claymore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Fffffffffffffffff,

Прописал команду в главной программе:
...
Рейтинг: 0 / 0
Путь к базе с помощью ini
    #38457551
Claymore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Fffffffffffffffff,

Скомпилировал, переместил "proj1.exe" в папку где находиться ini запускаю, ошибка:
...
Рейтинг: 0 / 0
Путь к базе с помощью ini
    #38457557
Ffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Отладчик это программа для поиска ошибок на том компьютере, где программа разрабатывается.
Запусти свой главный файл из-под FoxPro и иди по шагам. Подноси курсор к переменным и смотри их значение.
...
Рейтинг: 0 / 0
Путь к базе с помощью ini
    #38457565
Claymore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ffffffffffffff,

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

А вот эти таблицы, которые в DE, они из нужной базы или нет?
...
Рейтинг: 0 / 0
Путь к базе с помощью ini
    #38457632
Claymore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IgorNG,

Да.
...
Рейтинг: 0 / 0
Путь к базе с помощью ini
    #38457651
кладешь ini-файл рядом с экзешником
в процедуре запуска пишешь
cFileIni = FULLPATH("") + "мойфайл.ini"
IF FILE(cFileIni)
НужноеЗначение = ReadIni(cFileIni,'НУЖНАЯСЕКЦИЯ','НужныйКлюч')
ENDIF

ini-файл должен иметь следующую структуру
[НУЖНАЯСЕКЦИЯ]
НужныйКлюч= 1000000000000000000000000

функция, читающая ini-файл
Код: sql
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.
****************************
* Функция чтения INI-файла *
* Структура файла:         *
* [Секция]                 *
* Ключ = Значение         *
****************************
FUNCTION ReadIni(cFileName, cSection, cKey)
	cError = "INI_FILE_ERROR"
	cSection = '[' + UPPER(cSection) + ']'
	cKey = UPPER(ALLTRIM(cKey))
	lSectFound = .F.
	IF FILE(cFileName)
		hFile = FOPEN(cFileName, 12)
		IF hFile < 0
			MESSAGEBOX('Не удалось открыть файл!')
			RETURN cError
		ELSE
			DO WHILE NOT FEOF(hFile)
				cBuff = FGETS(hFile, 2048)
				IF ALLTRIM(cBuff) = cSection OR lSectFound
					lSectFound = .T.
					nPos = AT('=', cBuff)
					IF nPos > 0
						cCurKey = UPPER(ALLTRIM(SUBSTR(cBuff, 1, nPos - 1)))
						IF cCurKey == cKey
							FCLOSE(hFile)
							RETURN SUBSTR(cBuff, nPos + 1)
						ENDIF
					ENDIF
					nPos = AT('[', cBuff)
					IF nPos > 0 AND ALLTRIM(cBuff) <> cSection
						FCLOSE(hFile)
						RETURN cError
					ENDIF
				ENDIF
			ENDDO
			FCLOSE(hFile)
			RETURN cError	
		ENDIF
	ELSE
		MESSAGEBOX('INI - файл не найден!')
		RETURN cError
	ENDIF	
ENDFUNC	
...
Рейтинг: 0 / 0
Путь к базе с помощью ini
    #38457742
Claymore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем огромное спасибо!!!!!!!!, что уделили время моему вопросу и помогли, благодаря вам я нашел проблему, проблема была в том, что таблицы у меня хранились в DE, я их оттуда убрал и в формах прописал (object "form1" procedure "init")
use table1 in 0 shared
use table3 in 0 shared
use table4 in 0 shared
use table2 in 0 shared
и всё заработало)))
Кое где еще правда внёс корректировки благодаря отладчику)
...
Рейтинг: 0 / 0
Путь к базе с помощью ini
    #38457745
Claymore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВСЕМ РЕСПЕКТ, ВЫ ЛУЧШИЕ!!!
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Путь к базе с помощью ini
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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