База на основе txt файла

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

pominub
Сообщения: 24
Зарегистрирован: 16 ноя 2004, 09:35
Откуда: Spb

Здравствуйте. У меня такая ситуация:
Допустим имеется диалог, на котором несколько EditBoxов
и ListCtrl. Каждая строка, находящаяся в списке имеет свои параметры,
которые высвечиваются в EdiBox`ах при её выборе в списке.
То есть, добустим кликнул на строку, и в EdiBox`ах появились её параметры, и
так для каждой строки.

Например:(данные в текстовом файле)
строка1::параметр1::параметр2::параметр3... и т д.
Понятно, что при выборе строки надо считать её параметры из файла и засунуть в
EdiBox`ы. Только непонятно , как различать вообще данные в текстовом файле,
какие функции для этого есть???Как распознавать разделители(::)???

Заранее благодарен за ответы.
Tima
Сообщения: 43
Зарегистрирован: 23 сен 2004, 11:17
Откуда: Харьков
Контактная информация:

Если ты хош считывать каждый раз из текстового файла какие либо данные, то ты должен понимать - это далеко не оптимальное решение, лучше считать один раз в массив или в вектор. Но влюбом случае тебе прийдется придумать внутренний формат txt файла.
Например каждый параметр отделяется пробелом, каждая строка - с новой строки:
Вася 1990 Москва
Коля 1978 Киев
Для разделения параметров существует огромная куча функций (тут наверное лучше strtok) из библиотеки string.h Читай MSDN или любую книгу по С++.
Absurd
Сообщения: 1228
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

Нафиг, нафиг. Я уже имел дело с такой чудо - программой. Если найду автора - посталю большой синяк.
Юзай лучше XML & XPath.
2B OR NOT(2B) = FF
Hup
Сообщения: 207
Зарегистрирован: 05 мар 2004, 05:31
Откуда: Владивосток
Контактная информация:

pominub.
Absurd говорит дело.... Лучше используй XML(с ним все прозрачно + это его прямое предназначение), благо документации то этой теме полно + выработаешь стиль грамотно строить(разрабатывать) проект =)
Усложнять - легко, упрощать - сложно
Tima
Сообщения: 43
Зарегистрирован: 23 сен 2004, 11:17
Откуда: Харьков
Контактная информация:

так, coder-ы. Никто не говорит, что это оптимальное решение. Понятно что использовать лучше что-то другое. Но человек задал прямой вопрос, на что получил ответ. И судя по всему с XML не знаком. Так что не нужно советовать для тренировки в сях использовать XML.
Kolinus
Сообщения: 449
Зарегистрирован: 23 авг 2004, 14:02
Откуда: Минск

А мот сериализовываться - не так прозрачно зато быстро и красиво.
А по поводу текстовика -придумываешь свой формат - и там уже во что горазд (хоть ручками ищи разделитель свой).
В SAD - все в SAD.
DeeJayC
Сообщения: 497
Зарегистрирован: 17 фев 2004, 11:26
Откуда: Ленинград (который Город на Неве)
Контактная информация:

Absurd писал(а):Нафиг, нафиг. Я уже имел дело с такой чудо - программой. Если найду автора - посталю большой синяк.
Юзай лучше XML & XPath.
Есть ещё вариант - если так уж хочется что-то sql-образное, то можно
использовать sqlite.
"Особое внимание начинающих аквариумистов хотим обратить на то, что рыбки никогда не спят на спинке!" (c)

viel spass, DeeJayC
Hup
Сообщения: 207
Зарегистрирован: 05 мар 2004, 05:31
Откуда: Владивосток
Контактная информация:

Tima, тогда зачем человек задает подобные вопросы?
Конечно можно можно так сделать в txt... А советуют изпользовать XML по его прямому назначению
Усложнять - легко, упрощать - сложно
Аватара пользователя
WinMain
Сообщения: 929
Зарегистрирован: 14 янв 2005, 10:30
Откуда: Москва
Контактная информация:

Есть неплохой вариант использовать файлы CSV (comma-separated variables), где данные в текстовых строках разделены запятыми (в некоторых реализациях используется точка с запятой). Этот формат документирован и поддерживается в Microsoft Excel. Алгоритм чтения здесь даже описывать не нужно, к тому же в сети можно поискать готовые CSV-парсеры. Если уж ничего готового не найдёшь и самому не под силу будет что-нибудь написать, то могу скинуть тебе алгоритм, который мне самому приходилось использовать для чтения и разделения данных из текстового файла. И никакой XML здесь не нужен.
Absurd
Сообщения: 1228
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

Во-первых XPath - это очень мощный язык запросов, во вторых XML парсер обычно бывает встроен в любую винду.
Не нужно никаких циклов, проверок, разборок итп. Просто загружаешь файл в парсер, и с помощью запросов выбираешь из него все нужное.
Программа будет абсолютно статична. Никаких движущихся частей. => Никаких багов.
2B OR NOT(2B) = FF
Ответить