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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.02.2013, 12:11   #1
1Павел1
 
Регистрация: 15.12.2011
Сообщений: 3
Печаль Как исправить ошибку

Выдает ошибку [C++Error] DB.cpp(99): E2268 Call to undefined function 'GetLine'
Подскажите пожалуйста в чем проблема. В этом деле новичок.

Код:
void __fastcall TForm1::FormActivate(TObject *Sender)
{
  int Getline (int f, AnsiString *st);
  int f; 
  AnsiString st;
  bool fl = true;
 
   if ((f = FileOpen("tabl.grd",fmOpenRead))== -1)
        return;
   
 
   while(GetLine(f, &st)!= 0)/*<-- ошибка здесь*/
   {
     
     if (fl)
        {
          StringGrid1->Rows[StringGrid1->Rows]->DelimitedText = st;
          fl = false;
        }
     else
        {
          StringGrid1->RowCount++;
          StringGrid1->Row = StringGrid1->RowCount -1;
          StringGrid1->Rows[StringGrid1->Row]->DelimitedText = st;
        }
   }
   FileClose(f);
}
 
 
 int GetLine(int f,Ansistring *st)
{
 unsigned char buf[256]; 
 unsigned char *p = buf; 
 
 int n; 
 int len = 0;
 
 n = FileRead(p, f, 1);
 while (n != 0)
 {
  if (*p == '\r')
  {
   n = FileRead (f, p, 1);
   break;
  }
  len++;
  p++;
  n = FileRead(f, p, 1)
 }
 *p = '\0';
 if (len != 0)
   st->printf("%s", buf);
   return len;
}

Последний раз редактировалось 1Павел1; 28.02.2013 в 12:17.
1Павел1 вне форума Ответить с цитированием
Старый 28.02.2013, 12:37   #2
FataLL
Форумчанин
 
Аватар для FataLL
 
Регистрация: 29.01.2013
Сообщений: 319
По умолчанию

Код:
void __fastcall TForm1::FormActivate(TObject *Sender)
{
  int Getline (int f, AnsiString *st);
...

int GetLine(int f,Ansistring *st)
Есть разница?
FataLL вне форума Ответить с цитированием
Старый 28.02.2013, 14:02   #3
1Павел1
 
Регистрация: 15.12.2011
Сообщений: 3
По умолчанию

Да есть, первое не нужно я забыл его убрать. Это пример из книги по этому я не могу понять в чем ошибка.
1Павел1 вне форума Ответить с цитированием
Старый 28.02.2013, 16:45   #4
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,378
По умолчанию

Компилятор не видит функцию гетЛайн. Нужно ее перед функцией FormActivate писать. Или же перед функцией написать заголовок

Код:
int GetLine(int f,Ansistring *st);
void __fastcall TForm1::FormActivate(TObject *Sender)
{ ... }
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Старый 28.02.2013, 20:46   #5
FataLL
Форумчанин
 
Аватар для FataLL
 
Регистрация: 29.01.2013
Сообщений: 319
По умолчанию

Цитата:
Сообщение от 1Павел1 Посмотреть сообщение
Да есть, первое не нужно я забыл его убрать. Это пример из книги по этому я не могу понять в чем ошибка.
Это пипецц! AnsiString пишется именно так и никак иначе. И ничего не нужно убирать.

Урок №1: Регистр имеет значение
FataLL вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как исправить ошибку? Gtnz8 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 23.12.2012 12:19
Как исправить ошибку Lotles Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 22.02.2012 20:11
как исправить ошибку? phasha Помощь студентам 0 11.01.2012 21:32
как исправить ошибку Katrina* Паскаль, Turbo Pascal, PascalABC.NET 9 21.12.2011 00:17
Как исправить ошибку? True_girl Помощь студентам 0 19.04.2010 22:47