Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.06;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.036 c
2-1153463121
Levin_610
2006-07-21 10:25
2006.08.06
Проблема при создании Сервиса c StartServiceCtrlDispatcher.


6-1143141281
Суслик
2006-03-23 22:14
2006.08.06
Просмотр HTTP трафика.


6-1143250745
Setor
2006-03-25 04:39
2006.08.06
Как завершить работу сетевого приложения?


3-1149245155
Still Swamp
2006-06-02 14:45
2006.08.06
Как через TADOConnection подцепиться к FB Embeded.


2-1152892178
yon
2006-07-14 19:49
2006.08.06
Binary