Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.08.06;
Скачать: [xml.tar.bz2];

Вниз

Хранение древовидных структур   Найти похожие ветки 

 
BFG9k ©   (2006-07-20 18:28) [0]

Есть ли компонент ,который позволяет хранить древовидные структуры любой степени вложенности вроде реестра, но не реестр ? Или хотя бы алгоритм ...


 
Reindeer Moss Eater ©   (2006-07-20 18:30) [1]

TTreeView

Или хотя бы алгоритм
Алгоритм чего, хранения?
Алгоритм такой - храни долго и надежно.


 
BFG9k ©   (2006-07-20 18:37) [2]

Ну не алгоритм - метод. Есть один метод - хранить все в одном файле. Сначала пишется информация о структуре (количество подструктур например), затем сама структура. И так до конкретных значений. Но этот метод не надежен - если добавить или убрать какой-нибудь параметр, весь файл становится нечитабельным, так как все "съезжает".

Можно хранить в INI-файлах. Но там всего 2 уровня вложенности: секции и параметры, так что не подходит ...


 
atruhin ©   (2006-07-20 18:39) [3]

XML - тебя спасет


 
Reindeer Moss Eater ©   (2006-07-20 18:40) [4]

Ты сначала определись, что ты хочешь.
Компонент или файл определенного формата.


 
BFG9k ©   (2006-07-20 18:41) [5]

Файл. А можно поподробнее про XML ? Желательно ссылку на пример ...


 
Reindeer Moss Eater ©   (2006-07-20 18:42) [6]

Вот тебе ссылка на пример
http://www.cbr.ru/scripts/XML_daily.asp


 
BFG9k ©   (2006-07-20 18:44) [7]

Я знаю, что такое XML. Просто наверняка есть компоненты, которые его разбирают. Мне нужен такого рода пример ...


 
Reindeer Moss Eater ©   (2006-07-20 18:47) [8]

Пример чего?


 
BFG9k ©   (2006-07-20 18:49) [9]

Например, пример работы с XMLDocument со страницы Internet. Или документация на русском


 
Reindeer Moss Eater ©   (2006-07-20 18:54) [10]

Ну вот пример:
XMLDocument1.FileName := "http://www.cbr.ru/scripts/XML_daily.asp
";
XMLDocument1.Active := True;


 
BFG9k ©   (2006-07-20 19:17) [11]

Вот пример из вышеприведенной ссылки.

- <ValCurs Date="21.07.2006" name="Foreign Currency Market">
 - <Valute ID="R01010">
   <NumCode>036</NumCode>
   <CharCode>AUD</CharCode>
   <Nominal>1</Nominal>
   <Name>Австралийский доллар</Name>
   <Value>20,2229</Value>
   </Valute>

ValCurs, Valute - это ноды разного уровня. Их можно добавлять с помощью AddChild и просматривать с помощью ChildNodes. У ValCurs есть параметры Date и Name. Как мне получить их текстовые значения ?  Как добавлять параметры ?


 
BFG9k ©   (2006-07-20 19:38) [12]

Нашел пример использования компонента IXMLDOMDocument. Где его можно скачать ?


 
Reindeer Moss Eater ©   (2006-07-20 20:08) [13]

Date и Name это атрибуты нода.
Получить их значение можно через индексирванное свойство нода attributes[<имя атрибута>]


 
BFG9k ©   (2006-07-20 20:17) [14]

Но как добавлять новые аттрибуты ? Знаю, что это можно сделать в IXMLDOMDocument, но не нашел где его скачать :(


 
Reindeer Moss Eater ©   (2006-07-20 20:20) [15]

Как добавлять новые атрибуты?
Например через индексированное свойство "attributes"


 
atruhin ©   (2006-07-20 20:20) [16]

> [12] BFG9k ©   (20.07.06 19:38)

Он у тебя уже есть


 
PSPF2003 ©   (2006-07-20 21:00) [17]

Да интересная тема. Я тут кое-что своял но получилось несколько кривовато. У меня каждый элемент TreeView.Data указывает на подобную структуру:
type
 TDescription=class
  Name : String[255];
  Login : String[255];
  Password : String[255];
  Link : String[255];
  ShortDescrip : TStringList;
  constructor Create;
  destructor Destroy; override;
 end;
Пытался по поисковикам искать но ничего путного не нашел. Если у кого есть примерчик поделитесь ссылкой.


 
atruhin ©   (2006-07-20 23:10) [18]

> Пытался по поисковикам искать но ничего путного не нашел.
> Если у кого есть примерчик поделитесь ссылкой.

Не нашел что ? Примерчик чего?


 
PSPF2003 ©   (2006-07-21 08:16) [19]


> Не нашел что ? Примерчик чего?

Реализации подобного примера на XML


 
jack128 ©   (2006-07-21 10:49) [20]

BFG9k ©   (20.07.06 18:28)
Есть ли компонент ,который позволяет хранить древовидные структуры любой степени вложенности вроде реестра, но не реестр ? Или хотя бы алгоритм

а чем TComponent не подходит?


 
GrayFace ©   (2006-07-21 14:29) [21]

Для INI: Можно, например, каждому ноду присвоить ид (можно использовать его адрес), использовать его в имени секции (в секции будут уже параметры нода), а где-то сделать строку структуры типа id1(дите1()дите2(доддите1())).
Вариантов много.


 
PSPF2003 ©   (2006-07-21 14:49) [22]


> GrayFace ©

Гиморно. С XML можно без всяких Id/



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.08.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.095 c
2-1151856821
МишаК
2006-07-02 20:13
2006.08.06
программирование


2-1152715492
Denissoft
2006-07-12 18:44
2006.08.06
WinAPI


15-1152504283
oleg_v
2006-07-10 08:04
2006.08.06
Сохранения списка файлов в формате *.nri (Nero)


15-1152632236
lookin
2006-07-11 19:37
2006.08.06
Тоже хотелось бы написать чего полезного... Посоветуйте...


4-1145215733
cerber
2006-04-16 23:28
2006.08.06
Открыть порт "DOT4_001"





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский