0 / 0 / 0
Регистрация: 23.12.2016
Сообщений: 11
1

Создание объекта класса и запись его в файл при нажатии кнопки

08.05.2018, 11:57. Показов 2867. Ответов 1

Добрый день. Стоит задача: при нажатии на кнопку должен создаваться объект моего класса, затем информация должна записываться в файл с расширением .txt. После при выборе данного файла в combobox информация из файла должна выводиться в поле Information. Не получается создать объект и записать информацию в файл. Помогите пожалуйста.
Вот мой класс
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Cast
{
private:
    AnsiString genre, role, director;
    int views;
public:
    Input(AnsiString, AnsiString, AnsiString, int);
};
 
Cast::Input(AnsiString a, AnsiString b, AnsiString c, int d){
    genre = a;
    role = b;
    director = c;
    views = d;
}
Сама кнопка
C++
1
2
3
4
5
void __fastcall TCinema::Button1Click(TObject *Sender)
{
    //Cast *film1;
    //film1->Input("qqq", "www", "ccc", 100);
}
Весь код
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <string.h>
#include <stdio.h>
#include <io.h>
#include <Types.hpp>
#pragma hdrstop
#include "Unit2.h"
 
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
 
class Cast
{
private:
    AnsiString genre, role, director;
    int views;
public:
    Input(AnsiString, AnsiString, AnsiString, int);
};
 
Cast::Input(AnsiString a, AnsiString b, AnsiString c, int d){
    genre = a;
    role = b;
    director = c;
    views = d;
}
 
 
//---------------------------------------------------------------------------
 
TCinema *Cinema;
//---------------------------------------------------------------------------
__fastcall TCinema::TCinema(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TCinema::FilmSelectionChange(TObject *Sender)
{
if (FilmSelection->ItemIndex==0) {
    Information->Clear();
    Information->Lines->LoadFromFile("film1.txt");
}
if(FilmSelection->ItemIndex==1) {
    Information->Clear();
    Information->Lines->LoadFromFile("film2.txt");
}
if(FilmSelection->ItemIndex==2) {
    Information->Clear();
    Information->Lines->LoadFromFile("film3.txt");
}
if(FilmSelection->ItemIndex==3) {
    Information->Clear();
    Information->Lines->LoadFromFile("film4.txt");
}
if(FilmSelection->ItemIndex==4) {
    Information->Clear();
    Information->Lines->LoadFromFile("film5.txt");
}
}
 
//---------------------------------------------------------------------------
 
 
void __fastcall TCinema::Button1Click(TObject *Sender)
{
    //Cast *film1;
    //film1->Input("qqq", "www", "ccc", 100);
}
//---------------------------------------------------------------------------
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.05.2018, 11:57
Ответы с готовыми решениями:

Создание кнопки, при нажатии которой открывается заданный html файл
Подскажите, пожалуйста, как создать кнопку, при нажатии которой открывается заданный html файл?

GameObject.SetActive(); По нажатию кнопки - появление объекта, при повторном нажатии, исчезание объекта
Привет. Не знаю, как сделать скрипт, который при нажатии кнопки делал GameObject активным , а при...

Запись в файл объекта класса
Добрый вечер,предположим есть подобный класс,с полями : const SIZE = 10; class myClass { ...

Запись объекта класса в файл
Здравствуйте, может кто-нибудь помочь с данным вопросом? Как мне записать в файл строку, которая...

1
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
08.05.2018, 21:57 2
Цитата Сообщение от echoboom1 Посмотреть сообщение
Cast *film1;
Здесь создается указатель на класс. Самого объекта класса нет. Поэтому строка film1->Input("qqq", "www", "ccc", 100); работать не будет. Варианты создания и заполнения:
C++
1
2
3
4
5
6
Cast *film1 = new Cast;
film1->Input("qqq", "www", "ccc", 100);
 
// или:
Cast film1;
film1.Input("qqq", "www", "ccc", 100);
Далее. Не приведен код сохранения объекта класса в файл. Тут надо сказать, что просто взять объект Вашего класса и сохранить его в файл например функцией FileWrite, не получится, так как в классе есть поля типа AnsiString. Надо писать функции класса, сохраняющие значения полей класса в файл и читающие их оттуда.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.05.2018, 21:57
Помогаю со студенческими работами здесь

Запись объекта класса в файл
Доброго времени суток! нужно сохранить объект вот такого класса: class Act { public: ...

Запись в файл объекта класса
class Object { private: int myN; std::vector&lt;std::string&gt; myLines; public: ...

Создание объекта класса и запись элемента в XML
У меня такой вопрос как в XML-документ добавить заранее неизвестное количество елементов. По идее...

Движение объекта на panel. Изменение направления при нажатии кнопки
Дело такое, есть круг, при нажатии кнопки &quot;Старт&quot; он начинает двигаться на право, и при этом у него...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru