UWAGA! Ta strona korzysta z cookies!!!!!!!!!111jedenjeden I HTMLa! I TCP! I z PC!
Widzisz ten komunikat, ponieważ nasza wspaniała Unia Europejska nakazała naszemu niezależnemu rządowi w niepodległym kraju nakazać wszystkim, pod groźbą kary do 3% rocznych dochodów, wyświetlać ten debilny komunikat.
Więc teraz czytasz te bzdury z któych zapewne i tak nic nie zrozumiesz i które do niczego Ci się nie przydadzą, bo stado bezmyślnych kretynów z Unii Europejskiej kazało bezmyślnym kretynom z Rządu RP wprowadzić taki oto przepis. Żeby było bezpieczniej. Bo to UE i tu musi być bezpiecznie!
Jeśli chcesz ukryć tą ramkę i przejść dalej, kliknij TU , a strona zapiszę (tak, w ciastkach - od tego one są) stosowną informację. Jeśli nie lubisz lub nie chcesz moich ciastków, opuść tę stronę.
Dziękuje za uwagę.
pkXML
 
Historia zmian
		    
2013.08.24
 - dodana molowo parsowania tylko pierwszego Node (np eby sprawdzi czy format pliku jest prawidowy)
 - dodane:
   function TpkXML.LoadInfoFromFile(FileName: String): TpkXMLNode;
   function TpkXML.LoadInfoFromStream(AStream : TStream): TpkXMLNode;
   function TpkXML.LoadInfoFromString(AString: String): TpkXMLNode;


2013.06.29
 - poprawiony problem z zapisem unicode w SaveToString


2013.05.22
 - ForceDirectories zamknite w try..except


2013.05.11
 - w wartociach Attr i Node Integer zamienione na Int64


2013.04.21
 - obsuga Node bez nazwy (<>zawarto)


2013.04.09
 - tworzenie katalogu przy zapisie do pliku


2013.03.30
 - poprawione czytanie kodowanych znakw z wartoci w Attr


2013.03.27
 - dodana kompatybilno ze starszymi Delphi (7)

2012.11.04
 - dodawanie znakw KodujZnSpec/DeKodujZnSpec przesunite do zadawania Value w Attr i w Node
 - dodany podzia na ValueRAW (czytany/zapisywany z/do pliku) oraz stare Value (string, po dekodowaniu znakw)
 - dodane opcje buforowanego zapisywania/czytania do/z pliku (SaveToFile_Buffered/LoadFromFile_Buffered)
 (moliwy oglny wzrost wydajnoci przy duej iloci danych: ~450%)


2012.10.29
 - jeli AddInfoNode=true to dodaje take informacje o kodowaniu


2012.10.22
 - w NodeByName, FindIndex domyslnie NIE sprawdza typu Node przy szukaniu (parametr CheckNodeType)
 - rozbudowane BuildConfig eby si dao si przez XMLa nastawy zmienia

2012.10.17
 - dodano TpkXMLNode.MoveToIndex - do przesuwania childw pod wskazany index
 - NodeByName - uwzgldnia TYP node przy szukaniu
 - FindIndex - uwzgldnia TYP node przy szukaniu
 - dodano FindNode(TpkXMLNode)
 - TpkXMLBuildConfig.AddInfoNode - (domylnie true) - dodane informacje o parserze do pliku

2012.09.02
 - konfiguracja budowania XMLa wyrzucona do rekordu
 - moliwo dodawania do XMLa samych Nodw (TpkXMLNode.SaveToStream)
 - moliwo parsowania duego XMLa - procedura anonimowa uruchamiana po kadym Node
   z moliwoci usunicia Node oraz przerwania parsowania

2011.11.15
 - dodana obsuga atrybutw bez wartoci, oraz atrybutw bez nazwy
 - wartoi atrybutw mog by ograniczone znakami " lub '
 - tagi specjalne mog si koczy tylko samym '>'
 - jeli przy wieli dzieciach Node ma wartoci pomidzy tagami (a nie w 1 miejscu)
   to wartoci s sumowane w Value
 - tag zaczynajcy si od znaku "!" jest tagiem specjalnym, chyba e jest to "!--"
 - kodowanie/dekodowanie znacznika "'"

2011.11.09
 - poprawiona kompatybilno z nieunikodowymi Delphi

2011.11.06
 - uporzdowana kwestia stringw (UnicodeString dla unikodowych Delphi, WideString dla reszty)
 - ujednolicone stringi i procedury ktre na nich dziaaj
 - zapis/odczyt caych obiektw (TpkXMLNode.WriteObject/ReadObject)
 - dodana klasa TpkXMLStorageObject, ktra przy Write/ReadObject daje procedury
   SaveTo/ReadFromXMLNode


2011.10.24
 - SettingsForSmallOutput w konstruktorze; gdy true ustawia wszystkie parametry
   generowania XMLa tak, eby plik wyjciowy by moliwie may


2011.10.12
 - Node.Clear czyci take atrybuty


2011.09.28
 - kodowanie znakw o kodach 1..31 eby ich nie ucina podczas zapisu


2011.05.14
 - dodana metoda NodeByPath (pobranie Node po ciece, np: NodeByPath('Test1\Test2\Test3')


2011.02.20
 - poprawiony bd z niechcian konwersj znakw przez Trim()
   (podzikowania dla WS za znalezienie bdu)


2011.02.04
 - dodane Append ustawiajce Value (dla Node i Attr)


2011.02.02
 - przy zapisywaniu CData zamieniam tekst '[CDATA[' na '_CDATA_' i ']]>' na '__>' eby dziaa odczyt


2011.01.27
 - parametr ForceUnicodeWithoutID w Parse
 - parametr BuildWithoutUnicodeID w Build
 - SaveToString/LoadFromString


2011.01.03
 - dodany odczyt/zapis danych binarnych
 - w node i attr dodane ValueDf
 - poprawione dziaanie AttrValueDf i NodeValueDf


2010.12.01
 - dodane NodeValueDf i AttrValueDf
 - w Delphi>=XE zapisuje domylnie jako unikod


2010.06.15
 - dodane waciwoci domylne dla Node i Attr


2009.10.05
 - poprawiony bd z separatorem dziesitnym przy zamianie tekstu na liczb zmiennoprzecinkow


2009.07.31
 - dodana waciwoc AllowNoEndTag (przy parsowaniu akceptuje elementy bez tagw kocowych)

 
2009.03.03
 - dodana waciwo TrimData (obcinanie pustych znakw przy parsowaniu pliku)
 

2008.12.04
 - dodana wasciwoc NewLineStr (ustawianie tekstu dla koca linii)


2008.11.28
 - dodane:
   TpkXMLAttrs.Append - dodaje atrybut nie sprawdzajc czy taki ju jest
   TpkXMLNode.Append  - dodaje node nie sprawdzajc czy takie ju jest


2008.10.03
 - w LoadFromStream czyta do bufora tylko Size-Position a nie cao
 - dzmpilacja warunkowa zapewnia dziaanie w D starszych od 2005


2008.03.19
 - UseShortNode (czy zapisywa puste node w krtkim formacie)
 - znacznie przyspieszony odczyt i zapis plikw


2008.01.09
 - SaveEmptyAttr (zapisz atrybut gdy jest pusty; domylnie: false)
 - SaveEmptyNode (zapisz node nawet gdy jest puste; domylnie: false)


2008.01.07
 - dodana metoda DeleteByName i FindIndex w Node i Attr
 - poprawione zwlanianie pamici przy usuwaniu elementw
 - NodeByName moe od razu ustawia NodeTyp przy tworzeniu nowej pozycji
 - TpkXMLNode.Clear czyci take warto Node
 - poprawiono czytanie CDATA jesli byy inne podklucze
 - poprawione formatowanie zapisywanych danych gdy jest CDATA


2007.12.31
 - dodana moliwo zapisania/odczytania wartoci Value dla Node i Attr
   dla typw Integer, Extended oraz Boolean
   (ValueInt, ValueExt, ValueBool)


2007.11.30
 - zmiana na funkcje: NodeByName, NodeByIndex, AttrByName, AttByIndex
   teraz NodeByName i AttrByName domylnie tworz brakujce pozycje
   i nie ma potrzeby podwania drugiego parametru
 - dodana funkcja NodeByAttr


2007.11.29
 - dodana obsuga CData
 - poprawiony zapis znakw sterujcych (<, >, ") w wartociach tagw i atrybutw


2007.11.24
 - pierwsza wersja

		
Copyright 2009-2013 Paweł Konarski