Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.08.2015, 19:57   #1
sergei92
Пользователь
 
Регистрация: 17.07.2015
Сообщений: 51
По умолчанию Работа с ini файлом

Подскажите пожалуйста как занести в ini файл значения из одного компонента Edit чтобы они повторялись в секторах ini файла.
sergei92 вне форума Ответить с цитированием
Старый 26.08.2015, 20:05   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Пример такого файла показать можешь? Как он выглядеть должен?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.08.2015, 20:19   #3
sergei92
Пользователь
 
Регистрация: 17.07.2015
Сообщений: 51
По умолчанию

При условии ,что значения (a и b) вводятся с одного компонента Edit1
Изображения
Тип файла: jpg пример ini файла.jpg (39.2 Кб, 159 просмотров)
sergei92 вне форума Ответить с цитированием
Старый 26.08.2015, 21:18   #4
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Цитата:
Сообщение от sergei92 Посмотреть сообщение
Подскажите пожалуйста как занести в ini файл значения из одного компонента Edit чтобы они повторялись в секторах ini файла.
Читаем и записываем так
Код:
#include "Unit1.h"
#include <IniFiles.hpp> // подключаем
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
TIniFile *ini; // объявляем
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
	: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  ini = new TIniFile(ExtractFilePath(Application->ExeName)+"save.ini");
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormShow(TObject *Sender)
{
// Читаем
 Edit1->Text = ini->ReadString("Edits","Edit", "");
 Edit2->Text = ini->ReadString("Edits2","Edit", "");
 ini->Free();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   // запись значений
   ini = new TIniFile(ExtractFilePath(Application->ExeName)+"save.ini");
   ini->WriteString("Edits","Edit", Edit1->Text) ;
  ini->WriteString("Edits2","Edit", Edit2->Text) ;
  ini->Free();
}
//---------------------------------------------------------------------------
Какой условия тебя надо если не секрет https://yadi.sk/d/NTOT_xX6igKJA
xxbesoxx вне форума Ответить с цитированием
Старый 26.08.2015, 22:14   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
вводятся с одного компонента Edit1
Последовательно? Хм...
Тогда (украду код у товарисча из солнечной Грузии)
Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   string s="Edit"+IntToStr(this->Tag);
     ini->WriteString(s,"Edit", Edit1->Text) ;
  this->Tag++;
}
Идею понял надеюсь? Увеличиваем счетчик, который будет определять имя секции. В данном примере счетчиком выступит this->Tag
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 31.08.2015, 13:47   #6
sergei92
Пользователь
 
Регистрация: 17.07.2015
Сообщений: 51
По умолчанию

Всем большое спасибо за помощь.И ещё вопрос как сохранить количество введенных секций после закрытия программы?
sergei92 вне форума Ответить с цитированием
Старый 31.08.2015, 14:10   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Освобождение переменной, работающей с ИНИ файлом сохраняет изменения.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 31.08.2015, 14:39   #8
sergei92
Пользователь
 
Регистрация: 17.07.2015
Сообщений: 51
По умолчанию

Виталь подскажите пожалуйста! Вы имеете ввиду команду ini->Free()
sergei92 вне форума Ответить с цитированием
Старый 31.08.2015, 15:01   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Именно ее )
ну или delete ini
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 31.08.2015, 15:10   #10
sergei92
Пользователь
 
Регистрация: 17.07.2015
Сообщений: 51
По умолчанию

Снова возник вопрос. Почему после закрытии программы запись в ИНИ файл начинается с верхней секции , а не создается новая?
sergei92 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с ini файлом Aleksandr Общие вопросы Delphi 8 21.06.2013 17:15
Проблема с ini файлом. Menmo Общие вопросы Delphi 1 04.11.2012 18:19
Работа с ini файлом workres Общие вопросы C/C++ 5 24.04.2011 22:25
Работа с INI-файлом iskurt Помощь студентам 3 03.02.2010 08:08
Работа с ini-файлом..? Mishechka Общие вопросы Delphi 5 24.06.2009 16:32