![]() |
|
![]() ![]() ![]() |
|
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
Пишу следующее:
Файл создается. И даже данные из него читаются в форму. Но если файл открыть - он пуст! Почему?! |
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
FILE *create = fopen( iniF.c_str(), "a+" );
fclose( create ); Этого не нужно. TIniFile сам все создаст, если надо. Что значит данные из него читаются в форму? Правильные данные? Из пустого файла? |
|||
|
||||
mr.Anderson |
|
||||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
Выписка из учебника Архангельского:
Насчет второго - да, в чем и суть-то! Файл пуст, его размер = 0 байт, но все параметры, которые в нем должны быть, считываются верно! А файл пуст! Почему так, не пойму. Оно, конечно, не мешает, но почему так? |
||||
|
|||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 7 Всего: 67 |
=) может ты просто не тот файл открываешь? )
ибо не может в файле размером 0 байт храниться какаянибудь инфа... -------------------- СУВ, Partizan. |
|||
|
||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
В чем и интересность-то, что тот файл! Я просто пробую его удалить (т.к. вышеприведенный код файл создает заново), запускаю программу - файл system.ini создается в папке, откуда я его удалил. Программа запускается - и все настройки из INI применяются. Но если файл открыть - он пуст. Офигеть.
|
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 7 Всего: 67 |
так не бывает....
-------------------- СУВ, Partizan. |
|||
|
||||
586 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
Если путь неполный - ini-файл бкудет создан в папке Windows
|
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
Я с TIniFile работаю уже Бог знает сколько времени - если файла нет он его создаст (по крайней мере у меня создает без всяких проблем).
Чтобы не путаться - попробуй задай полное имя файла. Мне кажется он действительно создается или в каталоге Windows или в текущем каталоге (не факт, что он совпадает с каталогом проекта). Убери ручное создание файла (именно эта строчка создает пустой файл), задай полный путь - и все будет ок. Я пользуюсь конструкциями смены расширения файла: Application->ExeName, ChangeFileExt, ExtractFileName, EctractFilePath и т.д. (за опечатки, елси есть извините) |
|||
|
||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
Блин, а ведь и точно в каталоге Windows... С ума сойти. Он в системный файл system.ini дописывал еще и мои параметры. Во блин. Будем править...
Добавлено @ 17:57 Хм. А как задать полный путь к файлу, если неизвестно, где будет находиться программа? Надо чтоб этот файл создавался там, где находится екзешник программы. |
|||
|
||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
Да что ты будешь делать. Написал:
Через отладчик глянул - путь верный. Но ini все равно создается в Windows. ПОЧЕМУ! |
|||
|
||||
586 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
попробуй так
|
|||
|
||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
Все равно создает в Windows.
|
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 7 Всего: 67 |
приведи весь код...особенно тоот где устанавлявается iniF
-------------------- СУВ, Partizan. |
|||
|
||||
586 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
||||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
Ну тогда пропиши константой, неужели тоже не создаст?
TIniFile *IniFile = new TIniFile("c:\\MyIni.ini"); Чудеса какие-то! |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |