Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.87/30: Рейтинг темы: голосов - 30, средняя оценка - 4.87
5 / 5 / 0
Регистрация: 21.12.2011
Сообщений: 157

Не могу создать ini файл

15.10.2012, 17:53. Показов 5934. Ответов 47
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем.Нашёл пример как создать ini файл тутhttp://devoid.com.ua/faq/cpp_b... older.htmlДелал всё как написанно.Выдаёт ошибку
C++
1
2
3
4
5
[C++Error]Uint1.ccp(24): E2451 Undefined simbol 'TInifile'
[C++Error]Uint1.ccp(24): E2451 Undefined simbol 'Ini'
[C++Error]Uint1.ccp(24): E2303 Tyre name expected
[C++Error]Uint1.ccp(24): E2379 Statement missing;
[C++Error]Uint1.ccp(26): E2158 Operand of 'delete' must be non-const pointer
.Помогите пожалуйста.
Вложения
Тип файла: rar 111.rar (11.0 Кб, 11 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.10.2012, 17:53
Ответы с готовыми решениями:

Не могу найти файл my.ini
Вопрос конечно немного глупый. Мне нужно подредактировать my.ini а я не могу найти куда у меня установился MysQL Подскажите в какую...

Создать INI файл
Проблема в том как создать INI файл в указанной папке? Т.е например моя прога находится в папке "Proga", и в этой папке надо...

Как создать ini файл?
Как создать ini файл в папке с моей программой(если можно с точными примерами)?

47
5 / 5 / 0
Регистрация: 21.12.2011
Сообщений: 157
02.11.2012, 22:28  [ТС]
Студворк — интернет-сервис помощи студентам
Разобрался надо было в той форме в который переходит удалить
C++
1
#include "Unit1.h"
0
 Аватар для Dr. Who
29 / 29 / 4
Регистрация: 28.08.2012
Сообщений: 154
02.11.2012, 22:32
Теперь вы не сможете из второй формы управлять компонентами первой
0
5 / 5 / 0
Регистрация: 21.12.2011
Сообщений: 157
02.11.2012, 22:33  [ТС]
Спс большое а что делать чтоб можно было
0
 Аватар для Dr. Who
29 / 29 / 4
Регистрация: 28.08.2012
Сообщений: 154
02.11.2012, 22:38
попробуй написать во второй форме extern TIniFile *Ini;
1
5 / 5 / 0
Регистрация: 21.12.2011
Сообщений: 157
02.11.2012, 22:39  [ТС]
Во всё ошибки нет сделал так
C++
1
extern TIniFile *Ini; //=  new TIniFile(Patch+"Klevalka.ini");
Спс большое за совет
0
 Аватар для Dr. Who
29 / 29 / 4
Регистрация: 28.08.2012
Сообщений: 154
02.11.2012, 22:43
Цитата Сообщение от iskatel73 Посмотреть сообщение
extern TIniFile *Ini; //= new TIniFile(Patch+"Klevalka.ini")
А зачем
Цитата Сообщение от iskatel73 Посмотреть сообщение
//= new TIniFile(Patch+"Klevalka.ini");
0
5 / 5 / 0
Регистрация: 21.12.2011
Сообщений: 157
02.11.2012, 22:53  [ТС]
А как во 2 форме будет связь с ini файлом без этого
C++
1
extern TIniFile *Ini; //= new TIniFile(Patch+"Klevalka.ini")
0
 Аватар для Dr. Who
29 / 29 / 4
Регистрация: 28.08.2012
Сообщений: 154
02.11.2012, 22:55
Я имею ввиду, зачем все, что после //?
Оно же заремлено.
0
5 / 5 / 0
Регистрация: 21.12.2011
Сообщений: 157
02.11.2012, 22:59  [ТС]
Это для меня чтоб знать для чего нужно
Цитата Сообщение от iskatel73 Посмотреть сообщение
extern TIniFile *Ini;
1
5 / 5 / 0
Регистрация: 21.12.2011
Сообщений: 157
07.11.2012, 21:14  [ТС]
галочки в CheckListBox сохраняются но после закрытия они не читаются
C++
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
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
 
TIniFile *Ini; //=  new TIniFile(Patch+"test.ini");
 
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
  {
  AnsiString Patch;
  Patch = ExtractFilePath(ParamStr(0)) ; // получаем путь к каталогу программы
  Ini = new TIniFile(Patch+"test.ini");
  for(int i = 0; i < CheckListBox1->Items->Count; i++)
     {
      CheckListBox1->Checked[i] = Ini ->ReadBool("fish",CheckListBox1->Items->Strings[i], false);
     }
}
 
 
//---------------------------------------------------------------------------
 
 void __fastcall TForm1::CheckListBox1Click(TObject *Sender)
{
    for(int i = 0; i < CheckListBox1->Items->Count; i++)
   {
    Ini->WriteBool("fish",CheckListBox1->Items->Strings[i],CheckListBox1->Checked[i]);
   }
 
   
}
//---------------------------------------------------------------------------
 
 
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
delete Ini;
Ini = NULL;
}
//---------------------------------------------------------------------------
и ещё проблемка они идут подряд.
[fish]
Валек=1
Голец арктический=1
Голец Черского=0
Гольян Чекановского=0
Елец Сибирский=0
Карась золотой=0
Карась серебряный=0
Колюшка девятииглая=0
Корюшка=0
Ленок=0
Ленский пескарь=0
Ленский хариус=0
Лещ Восточносибирский=0
Муксун=0
Налим=0
Нельма=0
Окунь=0
но рыбы иногда повторяются.допустим окунь есть на амуре озере и ещё на 5 базах.если я ставлю галочку амур окунь она будет появлятся на волге на окуне.можно как нибудь сделать чтоб сначала прописывалась база с ListBox1 а потом рыбы с этой базы
[амга]
Голец арктический=1
Голец Черского=0
Гольян Чекановского=0
Елец Сибирский=0
Карась золотой=0
Карась серебряный=0
Колюшка девятииглая=0
[амур]
Ленский пескарь=0
Ленский хариус=0
Лещ Восточносибирский=0
Муксун=0
Налим=0
Нельма=0
Окунь=0
0
5 / 5 / 0
Регистрация: 21.12.2011
Сообщений: 157
12.11.2012, 12:22  [ТС]
привет всем.что не у кого нет вариантов что сделать?
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
12.11.2012, 12:44
Цитата Сообщение от iskatel73 Посмотреть сообщение
галочки в CheckListBox сохраняются но после закрытия они не читаются
C++
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
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
 
TIniFile *Ini; //=  new TIniFile(Patch+"test.ini");
 
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
  {
  AnsiString Patch;
  Patch = ExtractFilePath(ParamStr(0)) ; // получаем путь к каталогу программы
  Ini = new TIniFile(Patch+"test.ini");
  for(int i = 0; i < CheckListBox1->Items->Count; i++)
     {
      CheckListBox1->Checked[i] = Ini ->ReadBool("fish",CheckListBox1->Items->Strings[i], false);
     }
}
 
 
//---------------------------------------------------------------------------
 
 void __fastcall TForm1::CheckListBox1Click(TObject *Sender)
{
    for(int i = 0; i < CheckListBox1->Items->Count; i++)
   {
    Ini->WriteBool("fish",CheckListBox1->Items->Strings[i],CheckListBox1->Checked[i]);
   }
 
   
}
//---------------------------------------------------------------------------
 
 
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
delete Ini;
Ini = NULL;
}
//---------------------------------------------------------------------------
и ещё проблемка они идут подряд.
[fish]
Валек=1
Голец арктический=1
Голец Черского=0
Гольян Чекановского=0
Елец Сибирский=0
Карась золотой=0
Карась серебряный=0
Колюшка девятииглая=0
Корюшка=0
Ленок=0
Ленский пескарь=0
Ленский хариус=0
Лещ Восточносибирский=0
Муксун=0
Налим=0
Нельма=0
Окунь=0
но рыбы иногда повторяются.допустим окунь есть на амуре озере и ещё на 5 базах.если я ставлю галочку амур окунь она будет появлятся на волге на окуне.можно как нибудь сделать чтоб сначала прописывалась база с ListBox1 а потом рыбы с этой базы
[амга]
Голец арктический=1
Голец Черского=0
Гольян Чекановского=0
Елец Сибирский=0
Карась золотой=0
Карась серебряный=0
Колюшка девятииглая=0
[амур]
Ленский пескарь=0
Ленский хариус=0
Лещ Восточносибирский=0
Муксун=0
Налим=0
Нельма=0
Окунь=0
Помоему тут у тебя опять накручено с кодом
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
12.11.2012, 13:17
Вообще-то, в ини следует заносить не окуня, а переменную:
C++
1
2
3
4
5
6
7
8
9
10
11
12
AnsiString perch1,perch2,perch3,perch4,perch5;
perch1 = "окунь 1";
perch2 = "окунь 2";
perch3 = "окунь 3";
perch4 = "окунь 4";
perch5 = "окунь 5";
// в ини
perch1 = 0;
perch2 = 0;
perch3 = 1;
perch4 = 1;
perch5 = 0;
0
5 / 5 / 0
Регистрация: 21.12.2011
Сообщений: 157
12.11.2012, 18:55  [ТС]
LK получается если 40 окуней на разных базах .мне надо создать 40 переменных?
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
12.11.2012, 18:59
А зачем ты вообще используешь переменные для рыб?
0
5 / 5 / 0
Регистрация: 21.12.2011
Сообщений: 157
12.11.2012, 19:37  [ТС]
Саня я не использую переменную.В ини у меня так
[fish]
Валек=0
Голец арктический=0
Голец Черского=0
Гольян Чекановского=0
Елец Сибирский=0
Карась золотой=0
Карась серебряный=0
Колюшка девятииглая=0

С галочками разобрался теперь читаютсяпросто надо было на ListBox1 ставить
C++
1
2
for(int i = 0; i < CheckListBox1->Items->Count; i++)
CheckListBox1->Checked[i] = Ini ->ReadBool("fish",CheckListBox1->Items->Strings[i], false);
Добавлено через 2 минуты
Мне теперь бы разобратся как в место [fish] ставилась база.чтоб с рыбами не мудрить
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
12.11.2012, 23:07
Переменные, я так понимаю, для разных видов окуня, сиречь, Окунь Балтийский и Окунь Небалтийский, это раз, и кто мешянет занести в переменную как там ваша база называется и прописать эту переменную как имя секции ини?
0
5 / 5 / 0
Регистрация: 21.12.2011
Сообщений: 157
13.11.2012, 22:04  [ТС]
LK,в том и проблема, что вид окунь один.но он водится на 15 базах.и когда я ставлю галочку на окуне на одной базе,то на 14 тоже стоят галочки.вот и думаю как сделать имя секции,именем базы.PS.базы загружаются у меня в ListBox1.При клике на базу в (ListBox1) загружаются рыбы с этой базы в CheckListBox1.Я так понимаю что при клике на ListBox1 должна создаваться секция с именем базы в ini (по которой был произведён клик)А как вот это сделать не знаю.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
14.11.2012, 11:50
C++
1
2
AnsiString baseName = ListBox->Item;
Ini ->WriteString(baseName,Гольян Чекановского...
1
5 / 5 / 0
Регистрация: 21.12.2011
Сообщений: 157
15.11.2012, 20:27  [ТС]
LK,извини но я не совсем понял.
C++
1
AnsiString baseName = ListBox->Item;
это считывает какая база
C++
1
Ini ->WriteString(baseName,Гольян Чекановского...
а это какая рыба на базе.получается каждую рыбу прописывать?
Сейчас у меня вот такой код
C++
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "trayicon"
#pragma resource "*.dfm"
TForm1 *Form1;
extern TIniFile *Ini; //=  new TIniFile(Patch+"Klevalka.ini");
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
    AnsiString Patch;
  Patch = ExtractFilePath(ParamStr(0)) ; // получаем путь к каталогу программы
   Ini = new TIniFile(Patch+"Klevalka.ini");
 
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
delete Ini;
Ini = NULL;
 
}
//---------------------------------------------------------------------------
 
 
void __fastcall TForm1::ListBox1Click(TObject *Sender)
{
   AnsiString name;
    name+="БЛОКНОТ\\";
    name+=ListBox1->Items->Strings[ListBox1->ItemIndex];
    name+="\\";
    name+="ИНФО";
    name+=".txt";
    ListBox2->Clear();
    ListBox2->Items->LoadFromFile(name);
    name="";
 
    for(int i = 0; i < CheckListBox1->Items->Count; i++)
CheckListBox1->Checked[i] = Ini ->ReadBool("fish",CheckListBox1->Items->Strings[i], false);//чтение галочек
 
}
 
//-загрузка наживок--------------------------------------------------------------------------
 
void __fastcall TForm1::CheckListBox1Click(TObject *Sender)
{
    AnsiString name;
    name+="ИНФО.О РЫБЕ\\";
    name+=CheckListBox1->Items->Strings[CheckListBox1->ItemIndex];
    name+="\\";
    name+="НАЖИВКА";
    name+=".txt";
    Memo2->Clear();
    Memo2->Lines->LoadFromFile(name);
    name="";
 
    for(int i = 0; i < CheckListBox1->Items->Count; i++)
 Ini->WriteBool("fish",CheckListBox1->Items->Strings[i],CheckListBox1->Checked[i]); //СОХРАНЕНИЯ ИНИ
 
//---------------------------------------------------------------------------
и куда твой код вставить?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.11.2012, 20:27
Помогаю со студенческими работами здесь

Как создать ini файл ?
Чего то не компилируется, не создается файл и запись в него. // работа с INI файлом #include &quot;stdafx.h&quot; ...

Как создать ini файл?
У меня просто элементарный вопрос для вас профессионалов:) Просто я только пытаюсь вникнуть в тему:) Суть вопроса: Есть программа,хочу...

Создать ini файл для каждого выбранного объекта и категории теста
Привет! Я делаю тест и возникла проблема . в Delphi с форме1 где поставил два Combobox и кнопку далее. в первым Combobox у меня объекты...

Внести коррективы в системный файл Win.ini, создать новый ключ с любым названием
Доброго времени суток. Можете помочь с кодом для WinAPI: Внести коррективы в системный файл Win.ini, в частности в секцию Compability...

Не могу создать файл
Пишу программу,которая создает некий txt файл в C://programs files. Но возникла проблема, программа не может создать этот файл и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru