Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запись и чтение из файла, Хочу сделать cfg файл, но, не могу! 
:(
    Опции темы
Masdai
Дата 18.9.2006, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 8.9.2006

Репутация: -2
Всего: -1



Здравствуйте все те, кто хочет мне помочь!
Заранее благодарен за помощь!
    

Вопрос мой таков:
=====================Вопрос================================================

Допустим имеется у меня программка, написанная мной на Билдере (пока ее нет, но все же как будто б 

есть  smile )...
Хочу чтоб все настройки сохранялись в файле (допустим "CFG.ini")
Каким образом мне это сделать?

И потом надо считать эти данные, поместив их в переменные для каждого отдельно.

Разъясняю.........................

Например, есть у меня 2 Edit'a в токорые я вписываю 10 и 500. При нажатии кнопки "Применить" эти данные 

должны записаться в файл, а потом считать, из того же файла (допустим при сл запуске программы),
присвоив занчения переменной "а" 10, а переменной "b" 500  


============================================================================

плз хелп!!!
Кому не трудно напишите, пожалуйста, подробный пример этих (вышеописанных) действии.  smile 
еще раз большое спасибо (Заранее!)

Это сообщение отредактировал(а) Masdai - 18.9.2006, 16:23
PM MAIL   Вверх
Rodman
Дата 18.9.2006, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 7
Всего: 122



Используй TStringList
Восстановление
Код

{ TstringList TST;
  TST=TStringList->Create(Null);
  TST->LoadFromFile('\\count.txt');
  Edit1->Text=TST->Strings[0];
  Edit2->Text=TST->Strings[1];
}

Сохранение
Код

{ TstringList TST;
  TST=TStringList->Create(Null);
  TST->Add(Edit1->Text);
  TST->Add(Edit2->Text);
  TST->SaveToFile('\\count.txt');
  
}

PM MAIL WWW Skype GTalk YIM MSN   Вверх
Masdai
Дата 18.9.2006, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 8.9.2006

Репутация: -2
Всего: -1



Цитата(Rodman @  18.9.2006,  16:30 Найти цитируемый пост)
Используй TStringList


Придложеный вариант не хочет работать....

Я помучился немного и вот что получилось, оно работает, тока незнаю правильно ли это
Код

 TStringList* TST = new TStringList();
 TST->LoadFromFile(ExtractFilePath(Application->ExeName) + "\\cfg.ini");
 a = StrToInt(TST->Strings[0]);
 b = StrToInt(TST->Strings[1]);
 Edit1->Text=a;
 Edit2->Text=b;
 delete TST;


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


Опытный
**


Профиль
Группа: Участник
Сообщений: 343
Регистрация: 13.3.2004
Где: влг

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



А что мешает работать с TIniFile??

Код

TIniFile *ConfigFile = new TIniFile("Config.ini");
ConfigFile->ReadString // - для чтения строковой переменной
ConfigFile->ReadDate // - для чтения даты
ConfigFile->ReadFloat // - дробное число
ConfigFile->ReadInteger // - целое

// то же самое только вместо Read писать Write для записи в IniFile




Все очень просто и описано в документации по Билдеру

Пример из справки:
Код

  TIniFile *pIniFile = new TIniFile("\\usr\\MyApp.ini");
  if (pIniFile->ReadBool("AutoLoad", "FormProperties", false) == true)
  {
    Visible = pIniFile->ReadBool("FormOptions", "Visible", true);
    Color = (Graphics::TColor)pIniFile->ReadInteger("FormOptions", "Color", clNormalBackground);
    Caption = pIniFile->ReadString("FormOptions", "Caption", "Main");
  }



Еще один

Код

TIniFile *GameIni = new TIniFile ("fungame.ini");

GameIni->WriteBool("Options", "Sound", true);
GameIni->WriteInteger("Options", "Level", 3);
GameIni->WriteBool("Configuration", "ShowToolBar", false);
delete GameIni;


Если нужно записать значение EditBox, то что то типа этого
Код

ConfigFile->WriteString("Config" , "Edit1" , Edit1->Text);


Это сообщение отредактировал(а) stmamont - 18.9.2006, 21:53


--------------------
user posted image
PM MAIL ICQ   Вверх
stmamont
Дата 18.9.2006, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 343
Регистрация: 13.3.2004
Где: влг

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



Пишем значения в INI файл
Код

TIniFile *GameIni = new TIniFile ("fungame.ini");
GameIni->WriteInteger("Config" , "a" , 10);
GameIni->WriteInteger("Config" , "b" , 500);
delete GameIni;


Читаем значения из INI файла
Код

TIniFile *GameIni = new TIniFile ("fungame.ini");
a = GameIni->ReadInteger("Config" , "a" , 10);
b = GameIni->ReadInteger("Config" , "b" , 500);
delete GameIni;


В случае если хочешь что бы числа были из edit'ов

Код

TIniFile *GameIni = new TIniFile ("fungame.ini");
GameIni->WriteInteger("Config" , "a" , Edit1->Text.ToDouble());
GameIni->WriteInteger("Config" , "b" , Edit->Text.ToDouble());
delete GameIni;


Читаем значения из INI файла
Код

TIniFile *GameIni = new TIniFile ("fungame.ini");
Edit1->Text = GameIni->ReadInteger("Config" , "a" , 10);
Edit1->Text = GameIni->ReadInteger("Config" , "b" , 500);
delete GameIni;


ну или еще как нибудь, вариантов много.


--------------------
user posted image
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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