Главная страница
    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.5 MB
Время: 0.011 c
1-1151042414
Shlomo
2006-06-23 10:00
2006.08.06
Delphi 2005 и Quick Report?


15-1152640667
ArtemESC
2006-07-11 21:57
2006.08.06
Где можно заказать/купить пульт...


2-1152870833
rra
2006-07-14 13:53
2006.08.06
Как проверить значение в поле ввода?


9-1132840610
VolanD666
2005-11-24 16:56
2006.08.06
Просто хочу убедиться :-)


15-1152707779
Light
2006-07-12 16:36
2006.08.06
WAV файлы





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский