C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Построчно прочитать *.txt и записать его в DBGrid
AntonGib
Отправлено: 04.08.2005, 10:52


Ученик-кочегар

Группа: Участник
Сообщений: 25



Задача:
Имеется текстовый файл:
Наименование
123456 123 123 123 122 рльтьбтбьтьтбьб
-----------------------------------------------
Наименование
123456 123 123 123 122 рльтьбтбьтьтбьб
-----------------------------------------------
VovaN
Отправлено: 04.08.2005, 10:58


Дежурный стрелочник

Группа: Участник
Сообщений: 72



По идее надо записать в СтрингГрид. (ДБГрид — для баз).
Считываеш свой файлец поэлементно. Присваивание значения полю грида — так:
CODE

StringGrid1->Cells[1][1]="text";


Отредактировано VovaN — 04/08/2005, 10:59
Dima
Отправлено: 04.08.2005, 13:06


Дежурный стрелочник

Группа: Участник
Сообщений: 61



CODE

  std::fstream logfile(FileName);
  std::string buffer;
  buffer.reserve(bufferlength);

   while (std::getline(logfile, buffer))
   {
       StringGrid1->Cells[1][1]=buffer.c_str();
   }
VovaN
Отправлено: 04.08.2005, 13:51


Дежурный стрелочник

Группа: Участник
Сообщений: 72



QUOTE (Dima @ 04/08/2005, 13:06)
CODE

std::fstream logfile(FileName);
std::string buffer;
buffer.reserve(bufferlength);

while (std::getline(logfile, buffer))
{
StringGrid1->Cells[1][1]=buffer.c_str();
}

Что,всё время в [1][1]?
CODE

while (std::getline(logfile, buffer))
   {
       StringGrid1->Cells[1][1]=buffer.c_str();
   }
AntonGib
Отправлено: 04.08.2005, 13:56


Ученик-кочегар

Группа: Участник
Сообщений: 25



Может я задаю ттупой вопрос, но я попробою. Как мне прочитать сам файл!!! Я пробую через:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TDBGrid *grd = StringGrid1;
TStringList *lst = new TStringList();
lst->Sorted = false;
try
{
OpenDialog1->Execute();
lst->LoadFromFile("1.txt");
grd->ColCount = 2;
grd->RowCount = lst->Count-2;
for (int i=0; i < lst->Count; i++)
grd->Cells[0][i+1] = lst->Strings[i];
}
// try new TStringsList;
__finally { delete lst;
}

}

У меня записывается файл типа:
123
1233
56521
532332
Dima
Отправлено: 05.08.2005, 10:43


Дежурный стрелочник

Группа: Участник
Сообщений: 61



2VovaN
если ты не знаешь как изменить индексы, то лучше записывай в [1][1]

Вернуться в Вопросы программирования в C++Builder