База на основе txt файла
Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain
Здравствуйте. У меня такая ситуация:
Допустим имеется диалог, на котором несколько EditBoxов
и ListCtrl. Каждая строка, находящаяся в списке имеет свои параметры,
которые высвечиваются в EdiBox`ах при её выборе в списке.
То есть, добустим кликнул на строку, и в EdiBox`ах появились её параметры, и
так для каждой строки.
Например:(данные в текстовом файле)
строка1::параметр1::параметр2::параметр3... и т д.
Понятно, что при выборе строки надо считать её параметры из файла и засунуть в
EdiBox`ы. Только непонятно , как различать вообще данные в текстовом файле,
какие функции для этого есть???Как распознавать разделители(::)???
Заранее благодарен за ответы.
Допустим имеется диалог, на котором несколько EditBoxов
и ListCtrl. Каждая строка, находящаяся в списке имеет свои параметры,
которые высвечиваются в EdiBox`ах при её выборе в списке.
То есть, добустим кликнул на строку, и в EdiBox`ах появились её параметры, и
так для каждой строки.
Например:(данные в текстовом файле)
строка1::параметр1::параметр2::параметр3... и т д.
Понятно, что при выборе строки надо считать её параметры из файла и засунуть в
EdiBox`ы. Только непонятно , как различать вообще данные в текстовом файле,
какие функции для этого есть???Как распознавать разделители(::)???
Заранее благодарен за ответы.
Если ты хош считывать каждый раз из текстового файла какие либо данные, то ты должен понимать - это далеко не оптимальное решение, лучше считать один раз в массив или в вектор. Но влюбом случае тебе прийдется придумать внутренний формат txt файла.
Например каждый параметр отделяется пробелом, каждая строка - с новой строки:
Вася 1990 Москва
Коля 1978 Киев
Для разделения параметров существует огромная куча функций (тут наверное лучше strtok) из библиотеки string.h Читай MSDN или любую книгу по С++.
Например каждый параметр отделяется пробелом, каждая строка - с новой строки:
Вася 1990 Москва
Коля 1978 Киев
Для разделения параметров существует огромная куча функций (тут наверное лучше strtok) из библиотеки string.h Читай MSDN или любую книгу по С++.
pominub.
Absurd говорит дело.... Лучше используй XML(с ним все прозрачно + это его прямое предназначение), благо документации то этой теме полно + выработаешь стиль грамотно строить(разрабатывать) проект =)
Absurd говорит дело.... Лучше используй XML(с ним все прозрачно + это его прямое предназначение), благо документации то этой теме полно + выработаешь стиль грамотно строить(разрабатывать) проект =)
Усложнять - легко, упрощать - сложно
так, coder-ы. Никто не говорит, что это оптимальное решение. Понятно что использовать лучше что-то другое. Но человек задал прямой вопрос, на что получил ответ. И судя по всему с XML не знаком. Так что не нужно советовать для тренировки в сях использовать XML.
А мот сериализовываться - не так прозрачно зато быстро и красиво.
А по поводу текстовика -придумываешь свой формат - и там уже во что горазд (хоть ручками ищи разделитель свой).
А по поводу текстовика -придумываешь свой формат - и там уже во что горазд (хоть ручками ищи разделитель свой).
В SAD - все в SAD.
-
- Сообщения: 497
- Зарегистрирован: 17 фев 2004, 11:26
- Откуда: Ленинград (который Город на Неве)
- Контактная информация:
Есть ещё вариант - если так уж хочется что-то sql-образное, то можноAbsurd писал(а):Нафиг, нафиг. Я уже имел дело с такой чудо - программой. Если найду автора - посталю большой синяк.
Юзай лучше XML & XPath.
использовать sqlite.
"Особое внимание начинающих аквариумистов хотим обратить на то, что рыбки никогда не спят на спинке!" (c)
viel spass, DeeJayC
viel spass, DeeJayC
Tima, тогда зачем человек задает подобные вопросы?
Конечно можно можно так сделать в txt... А советуют изпользовать XML по его прямому назначению
Конечно можно можно так сделать в txt... А советуют изпользовать XML по его прямому назначению
Усложнять - легко, упрощать - сложно
Есть неплохой вариант использовать файлы CSV (comma-separated variables), где данные в текстовых строках разделены запятыми (в некоторых реализациях используется точка с запятой). Этот формат документирован и поддерживается в Microsoft Excel. Алгоритм чтения здесь даже описывать не нужно, к тому же в сети можно поискать готовые CSV-парсеры. Если уж ничего готового не найдёшь и самому не под силу будет что-нибудь написать, то могу скинуть тебе алгоритм, который мне самому приходилось использовать для чтения и разделения данных из текстового файла. И никакой XML здесь не нужен.
-
- Сообщения: 1228
- Зарегистрирован: 26 фев 2004, 13:24
- Откуда: Pietari, Venäjä
- Контактная информация:
Во-первых XPath - это очень мощный язык запросов, во вторых XML парсер обычно бывает встроен в любую винду.
Не нужно никаких циклов, проверок, разборок итп. Просто загружаешь файл в парсер, и с помощью запросов выбираешь из него все нужное.
Программа будет абсолютно статична. Никаких движущихся частей. => Никаких багов.
Не нужно никаких циклов, проверок, разборок итп. Просто загружаешь файл в парсер, и с помощью запросов выбираешь из него все нужное.
Программа будет абсолютно статична. Никаких движущихся частей. => Никаких багов.
2B OR NOT(2B) = FF