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


Много Delphi програмисти, запис на настройките, свързани с използването на INI файлове в своите програми. Прилагането на този метод, в рамките на по-малко сериозни проекти, трябва да се избягва, тъй като това ограничава гъвкавостта, която предотвратява по-нататъшното разширяване на програмата. Тя се казва, че този подход е доста популярен благодарение на своята лекота на използване и наличието на вграден среда за разработка.

Независимо от това, идеалният вариант за съхранение на настройките на програмата са структурирани XML файлове. Тяхното предимство се състои в това, че броят на параметри, които не може да се поправи. За да разберем това по-добре, нека разгледаме конкретен пример.

В програмата USearch. когато щракнете върху влизането, се появява контекстно меню. която показва списък с предмети. Тези елементи са команди, които от своя страна са заредени от конфигурационния файл. В случай, ако настройките са били съхранявани във файла INI, програмата може да спаси и да заредите определен брой отбори, като например 10 или 50. Веднага след като необходимостта от по-голямо значение ще трябва да пренапише кода и го прекомпилирате съответно.

Използване на XML в Delphi (msxml_tlb)

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


За да се свържете MSXML. ние трябва да се създаде интерфейс файл със списък на всички функции, като го внасят от COM-сървъра. Как да внасят интерфейс е писано доста подробни статии, ви предлагам да изтеглите файл MSXML2_TLB.PAS вече готови за употреба. След като файлът бъде изтеглен, поставете го в близост до вашия проект, или разочарова в папката ИЪ Delphi среда. По този начин, всички създадени от програмата ще бъде в състояние да използвате модула MSXML. Той трябва само да добавите към употреби линия MSXML2_TLB.

За яснота разгледаме следния пример на прилагане на тази библиотека:

На първо място, тя създава инстанция на DOMDocument клас. и след това се зарежда в съдържанието на файла на паметта settings.xml. Тъй като всеки стандартен XML файл трябва да съдържа корен етикет (в този случай конфигурацията), а след това ние трябва да го получите с помощта на функцията DocumentElement. След това съдържанието на изход между маркерите . които от своя страна са между тагове . По този начин от файла settings.xml. Нашият метод показва текст "100px" в MessageBox.

Има метод SelectSingleNode използва. който взема като параметър низ XPath а. Аз препоръчвам да се научат заявки език XPath, тъй като те могат да се усвои, за да се създаде един наистина невероятни неща.

Често се придвижват в града с нетбук, и така имам нужда от мобилна интернет връзка. Въпреки това, използването на 3G модем, в този случай, не е най-добрият вариант, тъй като скоростта на връзката не винаги е стабилна. Можем да се надяваме само за появата на евтини WiMAX доставчиците в нашия град. Тази технология може да обхване целия град и в същото време да осигури високоскоростен мобилен интернет.

Лош пример.
За всеки брой елементи може да направи INI-файл на формата:

[MenuItems]
ItemsCount = 100,500 <— Количество пунктов меню
Item1Name = Ping
Item1Command = пинг 10.0.0.1
Item2Name = Treysrout
Item2Command = Tracert 10.0.0.1
...
Item100500Name = ARP маса
Item100500Command = ARP -а

По този начин е възможно да се използва някое от списъците, включително вложените:

[Главна]
subSectionCount = 5
...
[Main.1]
...
[Main.2]
...
...
[Main.5]
...
INI-формат е много по-лесно и много по-бързо бъде анализирана. Като има предвид, има един куп XML синтактичен анализ на различни производители с различни степени на скорост и glyuchnosti документ обработка.

Аз в моите проекти винаги достатъчно INI. А XML се опита да използва само когато е абсолютно необходимо.

Item2Name = Treysrout
Item2Command = Tracert 10.0.0.1
...
Item100500Name = ARP маса
Item100500Command = ARP -а

Добре. Например, имате 1000 опции. Трябва между 47 и 48, за да добавите друг отбор (позицията е важно). Как да си тук? Преименуване на 950 елементи?

Пример с 100500 номерирани позиции и подраздели - пример, съжалявам, govnokodiga. За първокурсника студенти идват, но не повече.

Съдейки от гледна точка на файл IO (тясното място на изпълнение) на, тогава няма разлика - подаде тук и там след 47-ия елемент е напълно пренаписана.

както и серийните номера се съхраняват отделно в паметта не е необходимо (и така те се съхраняват в серийни номера масив / списъчен елемент). Те са там, просто да не се наруши споразумението .ini формат

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