Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Чтение таблицы из TStringList, Как проще реализовать 
:(
    Опции темы
Volfs
Дата 28.12.2011, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 31.7.2009

Репутация: нет
Всего: нет



Добрый день!
Подскажите, как проще реализовать запись и чтение данных из TStringList. Может быть есть стандартные функции, не хочется заново изобретать паровоз...
Структуру могу менять по своему желанию, так же думаю, какой разделитель лучше взять.. может быть ' 
Код

Записи типа:
123 текст число число число число текст  
124 текст число число число число текст
125 текст число число число число текст


Данные хочу записывать в класс, в массивы.

Принципиально думаю о двух вариантах:
1. Написать функцию (используя Pos, SubString и Length), которая будет искать разделители и брать данные между разделителями.
2. Использовать вывод в поток, но на сколько я понимаю вывод потока используется для ввода и вывода в файл.

Товарищи, как думаете, что лучше и есть ли еще варианты?
Заранее спасибо за помощь.

PM MAIL WWW   Вверх
Данкинг
Дата 28.12.2011, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(Volfs @  28.12.2011,  17:18 Найти цитируемый пост)
Написать функцию (используя Pos, SubString и Length)

Именно. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Alexeis
Дата 28.12.2011, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 26
Всего: 459





--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
artsb
Дата 28.12.2011, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Код

    TStringList *slList, *slTemp;

    slList = new TStringList();

    if(!slList)
    {
        return;
    }
    // якобы читаем данные из файла
    slList->Add(L"123~текст sdfsdg~12445~89~33~65~sdvsdv текст");
    slList->Add(L"124~текст~число~число~число~число~текст");
    slList->Add(L"125~текст~число~число~число~число~текст");
    // выводим содержимое
    ListBox1->Items->Assign(slList);

    slTemp = new TStringList();

    if(!slTemp)
    {
        delete slList;
        return;
    }

    slTemp->StrictDelimiter = true; // если нужно, чтобы "текст" содержал пробелы
    slTemp->Delimiter = L'~'; // разделитель
    slTemp->DelimitedText = slList->Strings[0]; // строка, которую нужно разбить
    // выводим результат
    ListBox2->Items->Assign(slTemp);
    // уборка
    delete slTemp;

    delete slList;



--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
Usper
Дата 29.12.2011, 07:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 13.4.2007

Репутация: 15
Всего: 15



Как вариант использовать функцию ExtractStrings().


--------------------
На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0784 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.