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
2020.07.15
- poprawiony blad podczas zpaisu bytestream gdy nie bylo danych (count=0)
2019.05.23
- poprawiony syf w pliku po konwersji strony kodowej (czytał kawałek XMLa a potem go nie czyścił)
2018.11.24
- poprawki zwiazane z konwersjÄ… strony kodowej przy odczycie
2015.04.06
- dodane TpkXMLNode.Exchange
2015.01.02
- wywalone porównania do AnsiChar (miał problemy z czytaniem rosyjskich liter)
2014.09.01
- odczytuje BOOL także jako 1 lub 0
2014.08.19
- prawidłowo zamyka Node jeśli tak zamykający jest pusty ">"
2014.01.28
- dodane TpkXML.InfoNode
2013.08.24
- dodana mo¿lowo¶æ parsowania tylko pierwszego Node (np ¿eby sprawdziæ czy format pliku jest prawid³owy)
- 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 zamkniête w try..except
2013.05.11
- w warto¶ciach Attr i Node Integer zamienione na Int64
2013.04.21
- obs³uga Node bez nazwy (<>zawarto¶æ>)
2013.04.09
- tworzenie katalogu przy zapisie do pliku
2013.03.30
- poprawione czytanie kodowanych znaków z warto¶ci w Attr
2013.03.27
- dodana kompatybilno¶æ ze starszymi Delphi (7)
2012.11.04
- dodawanie znaków KodujZnSpec/DeKodujZnSpec przesuniête do zadawania Value w Attr i w Node
- dodany podzia³ na ValueRAW (czytany/zapisywany z/do pliku) oraz stare Value (string, po dekodowaniu znaków)
- dodane opcje buforowanego zapisywania/czytania do/z pliku (SaveToFile_Buffered/LoadFromFile_Buffered)
(mo¿liwy ogólny wzrost wydajno¶ci przy du¿ej ilo¶ci danych: ~450%)
2012.10.29
- je¶li AddInfoNode=true to dodaje tak¿e informacje o kodowaniu
2012.10.22
- w NodeByName, FindIndex domyslnie NIE sprawdza typu Node przy szukaniu (parametr CheckNodeType)
- rozbudowane BuildConfig ¿eby siê da³o siê przez XMLa nastawy zmieniaæ
2012.10.17
- dodano TpkXMLNode.MoveToIndex - do przesuwania childów pod wskazany index
- NodeByName - uwzglêdnia TYP node przy szukaniu
- FindIndex - uwzglêdnia TYP node przy szukaniu
- dodano FindNode(TpkXMLNode)
- TpkXMLBuildConfig.AddInfoNode - (domy¶lnie true) - dodane informacje o parserze do pliku
2012.09.02
- konfiguracja budowania XMLa wyrzucona do rekordu
- mo¿liwo¶æ dodawania do XMLa samych Nodów (TpkXMLNode.SaveToStream)
- mo¿liwo¶æ parsowania du¿ego XMLa - procedura anonimowa uruchamiana po ka¿dym Node
z mo¿liwo¶ci± usuniêcia Node oraz przerwania parsowania
2011.11.15
- dodana obs³uga atrybutów bez warto¶ci, oraz atrybutów bez nazwy
- warto¶æi atrybutów mog± byæ ograniczone znakami " lub '
- tagi specjalne mog± siê koñczyæ tylko samym '>'
- je¶li przy wieli dzieciach Node ma warto¶ci pomiêdzy tagami (a nie w 1 miejscu)
to warto¶ci s± sumowane w Value
- tag zaczynaj±cy siê od znaku "!" jest tagiem specjalnym, chyba ¿e jest to "!--"
- kodowanie/dekodowanie znacznika "'"
2011.11.09
- poprawiona kompatybilno¶æ z nieunikodowymi Delphi
2011.11.06
- uporz±dowana kwestia stringów (UnicodeString dla unikodowych Delphi, WideString dla reszty)
- ujednolicone stringi i procedury które na nich dzia³aj±
- zapis/odczyt ca³ych obiektów (TpkXMLNode.WriteObject/ReadObject)
- dodana klasa TpkXMLStorageObject, która przy Write/ReadObject daje procedury
SaveTo/ReadFromXMLNode
2011.10.24
- SettingsForSmallOutput w konstruktorze; gdy true ustawia wszystkie parametry
generowania XMLa tak, ¿eby plik wyj¶ciowy by³ mo¿liwie ma³y
2011.10.12
- Node.Clear czy¶ci tak¿e atrybuty
2011.09.28
- kodowanie znaków o kodach 1..31 ¿eby ich nie ucinaæ podczas zapisu
2011.05.14
- dodana metoda NodeByPath (pobranie Node po ¶cie¿ce, np: NodeByPath('Test1\Test2\Test3')
2011.02.20
- poprawiony b³±d z niechcian± konwersj± znaków przez Trim()
(podziêkowania dla WS za znalezienie b³êdu)
2011.02.04
- dodane Append ustawiaj±ce Value (dla Node i Attr)
2011.02.02
- przy zapisywaniu CData zamieniam tekst '[CDATA[' na '_CDATA_' i ']]>' na '__>' ¿eby dzia³a³ 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 dzia³anie AttrValueDf i NodeValueDf
2010.12.01
- dodane NodeValueDf i AttrValueDf
- w Delphi>=XE zapisuje domy¶lnie jako unikod
2010.06.15
- dodane w³a¶ciwo¶ci domy¶lne dla Node i Attr
2009.10.05
- poprawiony b³±d z separatorem dziesiêtnym przy zamianie tekstu na liczbê zmiennoprzecinkow±
2009.07.31
- dodana w³a¶ciwo¶c AllowNoEndTag (przy parsowaniu akceptuje elementy bez tagów koñcowych)
2009.03.03
- dodana w³a¶ciwo¶æ TrimData (obcinanie pustych znaków przy parsowaniu pliku)
2008.12.04
- dodana w³asciwo¶c NewLineStr (ustawianie tekstu dla koñca linii)
2008.11.28
- dodane:
TpkXMLAttrs.Append - dodaje atrybut nie sprawdzaj±c czy taki ju¿ jest
TpkXMLNode.Append - dodaje node nie sprawdzaj±c czy takie ju¿ jest
2008.10.03
- w LoadFromStream czyta do bufora tylko Size-Position a nie ca³o¶æ
- dzmpilacja warunkowa zapewnia dzia³anie w D starszych od 2005
2008.03.19
- UseShortNode (czy zapisywaæ puste node w krótkim formacie)
- znacznie przyspieszony odczyt i zapis plików
2008.01.09
- SaveEmptyAttr (zapisz atrybut gdy jest pusty; domy¶lnie: false)
- SaveEmptyNode (zapisz node nawet gdy jest puste; domy¶lnie: false)
2008.01.07
- dodana metoda DeleteByName i FindIndex w Node i Attr
- poprawione zwlanianie pamiêci przy usuwaniu elementów
- NodeByName mo¿e od razu ustawiaæ NodeTyp przy tworzeniu nowej pozycji
- TpkXMLNode.Clear czy¶ci tak¿e warto¶æ Node
- poprawiono czytanie CDATA jesli by³y inne podklucze
- poprawione formatowanie zapisywanych danych gdy jest CDATA
2007.12.31
- dodana mo¿liwo¶æ zapisania/odczytania warto¶ci Value dla Node i Attr
dla typów Integer, Extended oraz Boolean
(ValueInt, ValueExt, ValueBool)
2007.11.30
- zmiana na funkcje: NodeByName, NodeByIndex, AttrByName, AttByIndex
teraz NodeByName i AttrByName domy¶lnie tworz± brakuj±ce pozycje
i nie ma potrzeby podwania drugiego parametru
- dodana funkcja NodeByAttr
2007.11.29
- dodana obs³uga CData
- poprawiony zapis znaków steruj±cych (<, >, ") w warto¶ciach tagów i atrybutów
2007.11.24
- pierwsza wersja
Copyright 2009-2013 Paweł Konarski