ПредишенСледващото

Добави в проекта на новия модул File-> новообза-> звено. Тук ще опиша процедурите и функциите, които не са свързани с интерфейса и глобални променливи. Първият е функция за изтегляне на данни новини. Всички новини ще се съхранява в XML формат.

функция LoadXMLBase (собственик. TComponent). булева;
започвам
Резултат: = неверни;
XMLDoc: = TXMLDocument.Create (собственик);
ако FileExists ( "news.xml"), след което да започне
XMLDoc.FileName: = 'news.xml;
Резултат: = вярно;
сложи край на друг MessageDLG ( "Не можах да намеря новини файла на базата данни", mtError, [mbOK], 0);
приключи;

Запазете файла в папката на програмата. За първи път това е достатъчно в процеса на писане на програмата ще се промени структурата.

Сега трябва да се научат как да заредите данни от файл в новините едно дърво. За тази цел ние напише следната процедура:

процедура LoadTree (дърво TTreeView.);
Var
аз. Цяло число;
Възел. IXMLNode;
започвам
xmlDoc.Active:=true;
защото: = 0 до XMLDoc.DocumentElement.ChildNodes.Count - 1 започвайте
Възел: = XMLDoc.DocumentElement.ChildNodes [I]; AddTreeNode (дърво, Node.ChildNodes [ "група"] .Text, Node.ChildNodes [ 'Име'] .Text);
приключи;
xmldoc.Active:=false;
приключи;

Процедура като параметър, за да ни дърво и добавя възли. Loops през детските възли на документ, номерът се съхранява в съобщението-съм XMLDoc.DocumentElement.ChildNodes.Count Както се вижда AddTreeNode втората процедура използва процедура, която се извършва по два параметъра низ Node.ChildNodes [ 'Група']. Текст и Node.ChildNodes [ ' Name ']. Текст и ги добавя към възлите на дървото съответно. Защо този код се поставя в отделна процедура - Ще говорим по-късно. В същото време, гледам текста на процедурата:

процедура AddTreeNode (дърво TTreeView ;. sGroup, SNAME низ.);
Var
к. цяло число;
TND. TTreeNode;
намери. булева;
започвам
ако sGroup = '' след това TND: = нула
друг да започне
намерите: = неверни;
за к: = 0 до tree.Items.Count-1 се започне
ако tree.Items.Item [й] .Text = sGroup след това започва
TND: = tree.Items.Item [й];
намерите: = вярно;
прекъсване;
приключи;
приключи;
ако не се намери след това TND: = tree.Items.AddChild (нула, sGroup);
приключи;
tree.Items.AddChild (TND, SNAME);
приключи;

процедура AddTreeNode е много проста: тук ние проверяваме стойността на sGroup на параметъра. Ако е празно, след това добавете възел до нулево ниво. Ако тази опция е настроена, търсейки домакин отговаря както на ниво нула и добавете към него, ако сте дете. Ако един възел с тази стойност не е налице, създайте го. По този начин реализира група Външни новини.

Сега се създаде OnCreate събитие манипулатор на основната форма. Тя изглежда по следния начин:

процедура TRSSReaderV2.FormCreate (Sender: TObject);
започвам
ако LoadXMLBase (самостоятелно), след това започнете
LoadTree (NewsList);
приключи;
приключи;

Стартирайте програмата (F9). Ето какво трябва да има.

ние използваме txmldocument

Свързани статии

Подкрепете проекта - споделете линка, благодаря!