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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.09.2018, 14:01   #1
mib2005
 
Регистрация: 20.09.2018
Сообщений: 3
По умолчанию Чтение из файла CSV в StringGrid [C++ Builder]

Доброго дня.

На форме компоненты StringGrid, OpenDialog, Button.
Стоит задача считать инфу из файла в StringGrid. С MEMo проблем нет.Работает.
использую С++Builder6
Файл типа CSV

<Шапка1>,< Шапка2>,<Шапка3>,< Шапка4>
111111,12222,13333,14444
211111,22222,23333,24444
311111,32222,33333,34444
------------------------------------
n11111,n2222,n3333,n4444

Последний раз редактировалось mib2005; 20.09.2018 в 14:04. Причина: *
mib2005 вне форума Ответить с цитированием
Старый 20.09.2018, 14:12   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от mib2005 Посмотреть сообщение
Стоит задача считать инфу из файла в StringGrid.
так, а в чём проблема прочитать в стринггрид?
читайте построчно и разбивайте строку по разделителю ","
вроде у Вас никаких заковырок в исходных данных не видно.

на stackoverflow предложен такой код:
Код:
//---------------------------------------------------------------------------
void __fastcall TForm1::bOpenClick(TObject *Sender)
{
if(OpenDialog1->Execute())
    {
        TStringList *pStrings = new TStringList;
        pStrings->LoadFromFile(OpenDialog1->FileName);
        StringGrid1->RowCount = pStrings->Count+1;
        StringGrid1->ColCount=4;
        for(int i=0; i < pStrings->Count; i++)
        {
            StringGrid1->Rows[i+1]->Delimiter = ',';
            StringGrid1->Rows[i+1]->DelimitedText = pStrings->Strings[i];
        }
        delete pStrings;
    }
}

Последний раз редактировалось Serge_Bliznykov; 20.09.2018 в 14:31.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.09.2018, 15:45   #3
mib2005
 
Регистрация: 20.09.2018
Сообщений: 3
По умолчанию

Сергей спасибо.
Изменил
Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
StringGrid1->Rows[i]->Delimiter = ',';
StringGrid1->Rows[i]->DelimitedText = pStrings->Strings[i];
иначе получалось смешение сверху на одну строку,те. первая строка файла
Цитата:
Сообщение от mib2005 Посмотреть сообщение
<Шапка1>,< Шапка2>,<Шапка3>,< Шапка4>
выводилась не на шапке компонента.
А как сделать смешение на один столбец в право?
mib2005 вне форума Ответить с цитированием
Старый 20.09.2018, 16:20   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Цитата:
А как сделать смешение на один столбец в право?
добавить один разделитель перед строкой (КАК бы добавить колонку в исходный)
Код:
.. .DelimitedText = ',' +pStrings->Strings[i];
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 20.09.2018 в 16:22.
evg_m вне форума Ответить с цитированием
Старый 20.09.2018, 16:21   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от mib2005 Посмотреть сообщение
А как сделать смешение на один столбец в право?
можно попробовать так (вставить в первый столбец пустое значение):
Код:
StringGrid1->Rows[i]->DelimitedText = " ,"+pStrings->Strings[i];
либо можно вставлять значения по одному (в цикле по столбцам)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.09.2018, 08:54   #6
mib2005
 
Регистрация: 20.09.2018
Сообщений: 3
По умолчанию

Спасибо. Буду пробовать
mib2005 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение файла в Builder. серофим Общие вопросы C/C++ 2 21.11.2012 22:22
Непростая загрузка из CSV файла в StringGrid, а затем в БД artemavd БД в Delphi 17 06.10.2011 09:10
чтение StringGrid из файла emirk1 Общие вопросы Delphi 8 05.01.2011 22:56
Чтение файла в StringGrid Greenoren Помощь студентам 0 10.12.2009 17:34
С++ Builder - Чтение файла :( Davlet M Помощь студентам 7 27.08.2009 23:53