0 / 0 / 0
Регистрация: 24.03.2019
Сообщений: 22
1
Builder 6

[C++ Error] Unit1.cpp(77): E2285 Could not find a match for 'istream::getline(const AnsiString)'

11.03.2020, 09:28. Показов 3265. Ответов 3
Метки нет (Все метки)

Добрый день, помогите чайнику. Было всё нормально пока не добавил пункт Name в OpenClic. После этого выскакивает ошибка [C++ Error] Unit1.cpp(77): E2285 Could not find a match for 'istream::getline(const AnsiString)' в рядке Elementsfile_i.getline(Name);
Помогите, что это такое и как его починить.
Так же если будет удобно, закрепил ТХТ документ с кодом


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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
#include "fstream.h"
#include "string.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
ofstream Elementsfile_o;
ifstream Elementsfile_i;
char Name[100];
char Pitoma_vaga[100];
char Shilnist[100];
char Vaga[100];
 
//---------------------------------------------------------------------------
 
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
 
//---------------------------------------------------------------------------
 
 void ClearTable()
      {
         int i;
         for (i=1; i<Form1->StringGrid1->RowCount; i++)
          Form1->StringGrid1->Rows[i]->Clear();
           Form1->StringGrid1->RowCount=1;
      }
 
//---------------------------------------------------------------------------
 
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  StringGrid1 -> Cells[0][0] = "№";
  StringGrid1 -> Cells[1][0] = "Назва";
  StringGrid1 -> Cells[2][0] = "Питома вага";
  StringGrid1 -> Cells[3][0] = "Щільність";
  StringGrid1 -> Cells[4][0] = "вага";
  StringGrid1 -> RowCount = 1;
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::NewClick(TObject *Sender)
{
     ClearTable();
      Elementsfile_o.open("Elements.dat");
       if ( !Elementsfile_o )
        ShowMessage("Файл не можна відкрити");
       else
          {
            SaveDialog1 -> FileName = "Elements.dat";
            Elementsfile_o.close();
          }
}
 
//---------------------------------------------------------------------------
 
void __fastcall TForm1::OpenClick(TObject *Sender)
{
    if(OpenDialog1->Execute())
           {
             ClearTable();
             Elementsfile_i.open((OpenDialog1->FileName).c_str());
             if (!Elementsfile_i)
                 ShowMessage("Файл не можна відкрити");
             else
                  {
                   while (!Elementsfile_i.eof())
                   {
                     Elementsfile_i.getline(Name, 100);
                     Elementsfile_i.getline(Pitoma_vaga,100);
                     Elementsfile_i.getline(Shilnist,100);
                     Elementsfile_i.getline(Vaga,100);
                    StringGrid1->RowCount=StringGrid1->RowCount+1;
                    StringGrid1->Cells[0][StringGrid1->RowCount-1]=IntToStr(StringGrid1->RowCount-1);
                    StringGrid1->Cells[1][StringGrid1->RowCount-1]=Name;
                    StringGrid1->Cells[2][StringGrid1->RowCount-1]=Pitoma_vaga;
                    StringGrid1->Cells[3][StringGrid1->RowCount-1]=Shilnist;
                    StringGrid1->Cells[4][StringGrid1->RowCount-1]=Vaga;
                  }
                   Elementsfile_i.close();
           }
}
}
//---------------------------------------------------------------------------
 
 
void __fastcall TForm1::SaveClick(TObject *Sender)
{
  int i;
   if(SaveDialog1->Execute())
    {
      Elementsfile_o.open((SaveDialog1->FileName).c_str());
      if(!Elementsfile_o)
         ShowMessage("Файл не можна відкрити");
      else
      {
        for(i=1; i<=StringGrid1->RowCount-1; i++)
            if(i!=StringGrid1 -> RowCount-1)
            Elementsfile_o<<(StringGrid1->Cells[1][i]).c_str()<<endl
                          <<(StringGrid1->Cells[2][i]).c_str()<<endl
                          <<(StringGrid1->Cells[3][i]).c_str()<<endl
                          <<(StringGrid1->Cells[4][i]).c_str()<<endl;
            else
            Elementsfile_o<<(StringGrid1->Cells[1][i]).c_str()<<endl
                          <<(StringGrid1->Cells[2][i]).c_str()<<endl
                          <<(StringGrid1->Cells[3][i]).c_str()<<endl
                          <<(StringGrid1->Cells[4][i]).c_str();
            Elementsfile_o.close();
      }
}
}
 
//---------------------------------------------------------------------------
 
void __fastcall TForm1::ExitClick(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Clear_tablClick(TObject *Sender)
{
ClearTable();
}
 
//---------------------------------------------------------------------------
 
 
void __fastcall TForm1::AddCountClick(TObject *Sender)
{
    StringGrid1 -> RowCount = StringGrid1 -> RowCount+1;
    StringGrid1 -> Cells[0][StringGrid1 -> RowCount-1] = IntToStr(StringGrid1->RowCount-1);
}
 
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Dell_last_countClick(TObject *Sender)
{
   StringGrid1 -> Rows[StringGrid1 -> RowCount-1] -> Clear();
   StringGrid1 -> RowCount = StringGrid1 -> RowCount-1;  
}
 
//---------------------------------------------------------------------------
Вложения
Тип файла: txt Новый текстовый документ.txt (4.9 Кб, 7 просмотров)
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.03.2020, 09:28
Ответы с готовыми решениями:

[C++ Error] Unit1.cpp(50): E2034 Cannot convert 'AnsiString' to 'int'
помогите пожалуйста void __fastcall TForm1::J() { int m=StringGrid2-&gt;Cells.d]; int...

[C++ Error] Unit1.cpp(14): E2251 Cannot find default constructor to initialize base class 'TForm'
Подскажите как исправить ошибку, см рисунок.

Ошибка E2285 Could not find a match for 'ifstream::basic_ifstream(UnicodeString)'
Здравствуйте. Объясните чайнику, из-за чего не работает этот код? Точнее как исправить... E2285...

Как исправить ошибку - Could not find a match for 'operator AnsiString::=(TDateTime)'
Организовать хранение данных в файле в следущую структуру, фио, дата, время 1) Написать процедуру...

3
Практикантроп
4773 / 2673 / 517
Регистрация: 23.09.2011
Сообщений: 5,725
11.03.2020, 10:58 2
Лучший ответ Сообщение было отмечено Андрей Ильченко как решение

Решение

Цитата Сообщение от Андрей Ильченко Посмотреть сообщение
и как его починить
Переименуйте переменную. Ну, скажем, не Name, а iName..., у вас в программе только три вхождения этой переменной, так что не сложно.
1
0 / 0 / 0
Регистрация: 24.03.2019
Сообщений: 22
11.03.2020, 11:06  [ТС] 3
Спасибо большое получается что Name зарезервированное слово?
0
Практикантроп
4773 / 2673 / 517
Регистрация: 23.09.2011
Сообщений: 5,725
11.03.2020, 11:15 4
Скорее всего. Лучше такие общеупотребительные в названиях своих переменных не использовать. Или снабжать индексом.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.03.2020, 11:15
Помогаю со студенческими работами здесь

Устранить ошибку !! [C++ Error] Unit1.cpp(26): E2141 Declaration syntax error
//--------------------------------------------------------------------------- #include &lt;vcl.h&gt;...

[C++ Error] Unit1.cpp(25): E2141 Declaration syntax error
Борланд ругается на неправильный синтаксис в этом куске программы void __fastcall...

[C++ Error] Unit1.cpp(12): E2141 Declaration syntax error
Здравствуйте! Это моя первая тема, поэтому простите за ошибки и неточности. Суть вопроса в том,...

[BCC32 Error] Unit1.cpp(15): E2285 Could not find a match for 'Poly::Poly(int)'
TForm1 *Form1; const unsigned int i = 5, j = 2; int mass; int choice_f = 0, counter = 0; Poly...


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

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

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