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

Expression syntax

11.06.2019, 22:55. Показов 1412. Ответов 5

Здравствуйте товарищи программисты, не могли бы вы мне помочь и сказать что тут не так с синтаксом, код кнопки, нажав на которую данные с базы данных сохраняются в файл.

Вот код самой кнопки, снизу исправлял ошибки с AddNewElement, возможно проблемы с ним, прикреплю ниже еще код AddNewElement

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
void __fastcall TForm1::Button6Click(TObject *Sender)    //çàãðóçèòü ôàéë
{
 string line;
 std::ifstream in(Edit5->Text.c_str());
 if (in.is_open())
 {
  //_vl.Clear();
  ShowMessage(IntToStr(_vl.getCount()));
  int counter = 0;
  int id;
  string name, familia, nomer, yslyga;
  while(getline(in, line))
  {
        Edit5->Text.c_str();
        switch(counter)
        {
         case 0 : {id=StrToInt(line.c_str()); break;}
         case 1 : {name=line.c_str();break;}
         case 2 : {familia=line.c_str();break;}
         case 3 : {nomer=line.c_str();break;}
         case 4 : {yslyga=line.c_str();break;}
        }
        counter++;
        if(counter==0)
        {
         counter=0;
         _vl.AddNewElement(bool readFromFile,int index,true, _vl.getCount(),/*id,*/name,familia,nomer,yslyga);
        }
  }
  ShowMessage("Ôàéë çàãðóæåí");
 }
 in.close();
}
//---------------------------------------------------------------------------


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void __fastcall TForm1::Button2Click(TObject *Sender)   //Äîáàâèòü
{
     _vl.AddNewElement
(false, _vl.getCount(),
StrToInt(Edit1->Text),
Edit2->Text.c_str(),
Edit3->Text.c_str(),
Edit4->Text.c_str(),
ComboBox1->Text.c_str()
);
     ListBox1->Items->Clear();
     for(int i=0;i<_vl.getCount();i++)
     ListBox1->Items->Add(_vl.GetShortInfo(i).c_str());
     ShowMessage("Äîáàâëåí íîâûé êëèåíò!");
}
Ну и объявление AddNewElement:
C++
1
2
3
4
5
6
7
8
9
10
11
12
    void Lechebnica::AddNewElement(bool readFromFile, int index, int id, string name, string familia, string nomer, string yslyga)
    {
    
        _ID.insert(_ID.begin() + index,id);
        _Name.insert(_Name.begin() + index,name);
        _Familia.insert(_Familia.begin() + index,familia);
        _Nomer.insert(_Nomer.begin() + index,nomer);
        _Yslyga.insert(_Yslyga.begin() + index,yslyga);
        if(readFromFile) SaveData(getCount()-1,3);
        else SaveData(getCount()-1,0);
        
    }
Добавлено через 6 минут
Строчку доделал, ошибка осталась
C++
1
_vl.AddNewElement(bool readFromFile,int index,/*true, _vl.getCount()*/,int id,string name,string familia,string nomer,string yslyga);
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.06.2019, 22:55
Ответы с готовыми решениями:

Ошибка Expression syntax
Доброго времени суток, товарищи. Создавал я значит БД на Builder c++. Завершающий штрих! Поиск по...

Ошибка 2188 Expression syntax
void __fastcall TForm1::Button2Click(TObject *Sender) { students *A=new students ;...

C++ Builder RAD Studio 10 E2188 Expression syntax
Здравствуйте. Только недавно начала программировать и столкнулась с проблемой. Запускала программу,...

[BCC32 Error] Unit1.cpp(45): E2188 Expression syntax
float f (float x) { // Stack: TStack2; TStack *p; int i; char ch; float d, d1, d2; { ...

5
Практикантроп
4753 / 2658 / 512
Регистрация: 23.09.2011
Сообщений: 5,689
12.06.2019, 12:51 2
Что-то мне подсказывает, что string в параметрах, написанное с заглавной буквы, уменьшит уровень капризности компилятора.
0
0 / 0 / 0
Регистрация: 23.05.2019
Сообщений: 28
12.06.2019, 13:42  [ТС] 3
в параметрах с маленькой всё объявляется
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32238 / 20878 / 8085
Регистрация: 22.10.2011
Сообщений: 36,114
Записей в блоге: 7
12.06.2019, 17:27 4
Цитата Сообщение от lavalik Посмотреть сообщение
Строчку доделал
Что доделал? Почему типы переменных при вызове функции-то не убрал? На кой там bool, на кой int, string? Просто список фактических параметров нужен, а не еще одно описание формальных параметров, как в заголовке.
0
0 / 0 / 0
Регистрация: 23.05.2019
Сообщений: 28
13.06.2019, 14:50  [ТС] 5
Переделал, получилась так(readFromFile я переименовал) теперь пишет undefined symbol index

C++
1
 _vl.AddNewElement(ReadFile,index,/* true, _vl.getCount(),*/ id, name, familia, nomer, yslyga);
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32238 / 20878 / 8085
Регистрация: 22.10.2011
Сообщений: 36,114
Записей в блоге: 7
13.06.2019, 15:59 6
Ну, значит там, откуда ты вызываешь _vl.AddNewElement, нет переменной под именем index (либо ее совсем нет, либо она там невидима). Разбираться в твоих нагромождениях кусков кода нет никакого желания, все равно что-то да будет не так (ты ж не показываешь реальный код, причем, полностью и в виде проекта, чтобы не надо было извращаться, а можно было взять и просто откомпилировать, а показываешь то, что ты считаешь важным для решения задачи - вот и решай проблемы сам. Направление, куда копать, ты получил).
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.06.2019, 15:59
Помогаю со студенческими работами здесь

Ошибка E2396 Template argument must be a constant expression
Нужна помощь профессионала. Есть такой код class TMySet { public: TMySet(const int &amp;AMin,...

Comparison of a boolean expression with an integer other than 0 or 1
Всем привет. Есть задача - реализовать сравнение чисел в виде a &lt; b &lt; c. Количество &lt;...

E2188 Expression syntax в при указании опции loCaseInsensitive в функции Locate
Пытаюсь сделать поиск, но в данной строке кода ругается на Unit1.cpp(21): E2188 Expression...

Expression syntax in function bh()
x=(d++ y+ + -2*c+777)/ 7; ошибку выдает после квадратных скобками ; подскажите что делать ?


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

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

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