Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблема с *.ini 
V
    Опции темы
artsb
  Дата 22.11.2007, 01:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Подскажите в чём ошибка:

TIniFile *fl;
int a=0;
fl=new TIniFile(ChangeFileExt("nastr",".ini"));
if(fl!=NULL)
        {
        a=fl->ReadInteger("gen","lng",a);
        lng=a;
        }
else
        {
        fl->WriteInteger("gen","lng",1);
        lng=1;
        }
delete fl;

Почему не считывает значение? Уже по-всякому пробовал.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
Fazil6
Дата 22.11.2007, 02:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

Репутация: 11
Всего: 60



а зачем ты вот это делашь?
Код

ChangeFileExt("nastr",".ini")


PM MAIL   Вверх
artsb
Дата 22.11.2007, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Fazil6 так в книге написано.

Расскажите как правильно создавать ini файлы, проверять существует ли уже файл с таким именем, как записывать и считывать данные.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
artsb
Дата 22.11.2007, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Как записывать и считывать разобрался. 
А вот как проверить существует ли файл с таким именем. Если да, то считать параметры. Если нет, создать файл, и записать туда настройки по-умолчанию. 
Как создать файл в текущей директории. Если просто пишу имя файла он создаётся непонятно где. Если пишу полный путь то всё нормально. Может можно как-то определить путь к экзешнику, потом + имя ini файла.



ЗЫ мы прошли!!! smile

Добавлено через 10 минут и 7 секунд
Как получить текущую директорию разобрался:
Код

TIniFile *fl=new TIniFile(GetCurrentDir()+"/nastr.ini");


Осталось узнать как проверить наличие файла.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
Fazil6
Дата 22.11.2007, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

Репутация: 11
Всего: 60



Цитата

Unit

SysUtils

Category

file management routines

extern PACKAGE bool __fastcall FileExists(const AnsiString FileName);


Добавлено через 3 минуты и 30 секунд
Цитата(artsb @  22.11.2007,  11:17 Найти цитируемый пост)
как-то определить путь к экзешнику, потом + имя ini файла.

путь к ехешнику и текущий каталог в общем случае не одно и тоже.
Каталог ехешника
Код

AnsiString exeFilePath = ExtractFilePath(Application->ExeName);


PM MAIL   Вверх
artsb
Дата 22.11.2007, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Fazil6 на счёт пути понял. А вот по поводу существования файла нет. :( Объясни по-подробнее плиз. И примерчик, если можно.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
Fazil6
Дата 22.11.2007, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

Репутация: 11
Всего: 60



Цитата(artsb @  22.11.2007,  16:55 Найти цитируемый пост)
А вот по поводу существования файла нет. :( Объясни по-подробнее плиз. И примерчик, если можно.

что непонятно?
Не знаешь как функцию вызвать?
Код

if(FileExists("C:\\TEST.TXT"))
{
     ShowMessage("file exist");
}

PM MAIL   Вверх
artsb
Дата 22.11.2007, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Цитата(Fazil6 @  22.11.2007,  17:03 Найти цитируемый пост)
что непонятно?


Всё понятно. Спасибо.



--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.1481 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.