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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2012, 22:51   #1
Zuba
Пользователь
 
Регистрация: 09.04.2012
Сообщений: 21
Сообщение Проблема с ini

Доброго времени суток. Только начал разбираться с ini файлами и столкнулся с проблемой, на форме вместо содержимого ini файла выводит "error", вроде всё написано верно, но хоть убей верно работать не хочет, помогите, кому не в падлу.
#include <vcl.h>
#pragma hdrstop

#include "Unit2.h"
#include "IniFiles.hpp"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
TIniFile *GameMil = new TIniFile("Testlist.ini");
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm2::Button1Click(TObject *Sender)
{
nPassTests=1;
String GameM = ("Test" + IntToStr(nPassTests));
Memo1->Lines->Add(GameMil->ReadString(GameM,"Quations","Error "));
Label1->Caption = GameMil->ReadString(GameM,"Answer0","Error" );
Label2->Caption = GameMil->ReadString(GameM,"Answer1","Error" );
Label3->Caption = GameMil->ReadString(GameM,"Answer2","Error" );
Label4->Caption = GameMil->ReadString(GameM,"Answer3","Error" );
nPassTests++;
}
Секции в ini файле называются Test0, Test1, Test2 и т.д. Идетификаторы Quations, Answer0, Answer1, Answer2, Answer3.
На счёт отсутствия цикла вопросов задавать не нужно, я хочу разобраться сначала с простым выводом информации.
Zuba вне форума Ответить с цитированием
Старый 26.04.2012, 00:32   #2
nick42
Форумчанин
 
Аватар для nick42
 
Регистрация: 14.10.2011
Сообщений: 267
По умолчанию

Насчет цикла спрашивать не стану, а вот файл Testlist.ini интересует; хотя бы самое начало (первые два параграфа).
А вообще я, кажется, понял..., - не так нужно писать имя файла ини: не "Testlist.ini", а ".\\Testlist.ini" - мелочь, а влияет... .

Последний раз редактировалось nick42; 26.04.2012 в 00:41.
nick42 вне форума Ответить с цитированием
Старый 26.04.2012, 00:40   #3
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

Зачем вам ини он устарели им уже никто не пользуется.
Используйте xml, в дальнейшем пригодится всяко.
=master= вне форума Ответить с цитированием
Старый 26.04.2012, 07:11   #4
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Лови правильный ответ:

Код:
TIniFile *GameMil = new TIniFile(ExpandFileName("Testlist.ini"));
int nPassTests=0;
AnsiString GameM = ("Test" + IntToStr(nPassTests));
Memo1->Lines->Add(GameMil->ReadString(GameM,"Quations","Error"));
Label1->Caption = GameMil->ReadString(GameM,"Answer0","Error" );
Label2->Caption = GameMil->ReadString(GameM,"Answer1","Error" );
Label3->Caption = GameMil->ReadString(GameM,"Answer2","Error" );
Label4->Caption = GameMil->ReadString(GameM,"Answer3","Error" );
delete GameMil;
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 26.04.2012, 10:28   #5
Zuba
Пользователь
 
Регистрация: 09.04.2012
Сообщений: 21
Радость

Цитата:
Сообщение от Smitt&Wesson Посмотреть сообщение
Лови правильный ответ:

Код:
TIniFile *GameMil = new TIniFile(ExpandFileName("Testlist.ini"));
int nPassTests=0;
AnsiString GameM = ("Test" + IntToStr(nPassTests));
Memo1->Lines->Add(GameMil->ReadString(GameM,"Quations","Error"));
Label1->Caption = GameMil->ReadString(GameM,"Answer0","Error" );
Label2->Caption = GameMil->ReadString(GameM,"Answer1","Error" );
Label3->Caption = GameMil->ReadString(GameM,"Answer2","Error" );
Label4->Caption = GameMil->ReadString(GameM,"Answer3","Error" );
delete GameMil;
Спасибо, вся проблема была в объявлении файла, нужно было написать TIniFile *GameMil = new TIniFile(ExpandFileName("Testlist.i ni"));
Я бы ещё голову ломал пару суток так точно)
Zuba вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с записью в ini файл WinMen Общие вопросы Delphi 3 20.12.2010 08:04
Проблема с файлами ini WinMen Общие вопросы Delphi 3 08.11.2010 10:43
Проблема при работе с ini dolphin705 Общие вопросы Delphi 4 12.08.2009 20:59
Проблема с чтением из INI файла JustKurt Общие вопросы Delphi 3 04.08.2009 20:47