Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Путь к базе с помощью ini / 22 сообщений из 22, страница 1 из 1
07.11.2013, 15:22
    #38456336
Claymore
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Путь к базе с помощью ini
есть база, находиться она "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
07.11.2013, 15:23
    #38456338
Claymore
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Путь к базе с помощью ini
...
Рейтинг: 0 / 0
07.11.2013, 16:19
    #38456449
alextashk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Путь к базе с помощью ini
Claymore,

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

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

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

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

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

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

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

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

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

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

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

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

Да.
...
Рейтинг: 0 / 0
08.11.2013, 12:20
    #38457651
Путь к базе с помощью ini
кладешь 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
08.11.2013, 13:02
    #38457742
Claymore
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Путь к базе с помощью ini
Всем огромное спасибо!!!!!!!!, что уделили время моему вопросу и помогли, благодаря вам я нашел проблему, проблема была в том, что таблицы у меня хранились в 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
08.11.2013, 13:03
    #38457745
Claymore
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Путь к базе с помощью ini
ВСЕМ РЕСПЕКТ, ВЫ ЛУЧШИЕ!!!
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Путь к базе с помощью ini / 22 сообщений из 22, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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