Az XML dokumentumobjektum modell használata. Internetes útmutató - Az összes legérdekesebb online Hogyan hozzunk létre XML fájlt Delphi

Az XML nyelvet egyre inkább az információk tárolására használják, az alkalmazások és a webcsomlások között. Számos alkalmazásban ezt a nyelvet az adatok alapvető tárolásaként használják másokban - az XML-adatok exportálása és importálása. Ebből következik, hogy itt az ideje, hogy a fejlesztők gondolkodjanak arról, hogyan használhatják az XML-adatokat saját alkalmazásokban.

Ebben a cikkben megnézzük XML dokumentum Objektummodell (DOM) és annak megvalósítása a Microsoft által - Microsoft XML Dom.

Az XML DOM egy objektummodell, amely lehetővé teszi a fejlesztői objektumokat az XML fájlok letöltéséhez és feldolgozásához. Az objektummodell a következő fő tárgyakból áll: XmldomDocument, Xmldomnodelist, Xmldomnode, Xmldomnamnodemap és XmldomparseError. Mindegyik tárgyat (kivéve xmldomparseError) tartalmaz tulajdonságokat és módszereket az objektumra vonatkozó információk beszerzéséhez, manipulálva az objektum értékeit és szerkezetét, valamint az XML dokumentumszerkezet mentén mozoghat.

Tekintsük az XML DOM főbb tárgyait, és adjunk több példát a Borland Delphi használatára.

XML DOM-ot használva Borland Delphiben

A Microsoft XML DOM A DELPHI alkalmazások használatához csatlakoztatnia kell a megfelelő típusú könyvtárat a projekthez. Ehhez végrehajtjuk a projektet Import típusú könyvtár és az Import típusú könyvtár párbeszédpanelen válassza ki a Microsoft XML verzió 2.0 könyvtár (2.0 verzió), amely rendszerint a Windows \\ System \\ msxml.dll fájlban található

Megnyomása után egységek kialakítása gombot, a MSXML_TLB interfész modul jön létre, amely lehetővé teszi számunkra, hogy használja az XML DOM objektumokat: DomDocument, XmlDocument, XMLHttpRequest és számos más végrehajtott Msxml.dll könyvtárban. Az MSXML_TLB modulhoz kapcsolódó linket fel kell tüntetni a felhasználási listák listájában.

XML DOM eszköz

A dokumentum objektum modellje XML-dokumentumot jelent az ágakból álló fa szerkezet formájában. Az XML DOM szoftver interfészek lehetővé teszik az alkalmazások számára, hogy navigáljanak a dokumentumfát és manipulálják ágakat. Minden ágnak van egy adott típusú (domnodetype), amely szerint a szülő és leányvállalatok meghatározása szerint. A legtöbb XML-dokumentumban megtalálható az elem, az attribútum és a szöveg ágak ágai. Az attribútumok (attribútum) egy speciális típusú ág, és nem kiegészítő ágak. Az attribútum menedzsment használata különleges módszerekaz XML DOM objektumok által biztosított.

Amellett, hogy alkalmazza a javasolt World Wide Web Consortium (W3C) interfész, a Microsoft XML DOM módszereket tartalmaz, hogy a támogatás XSL XSL Patterns, névterek és adattípusok. Például a SelectNodes módszer lehetővé teszi, hogy az XSL sablonok szintaxis (XSL Pattern Syntax) keresni ágak egy adott kontextusban, és az TRANSFORMNODE módszer támogatja a XSL elvégzésére transzformációk.

Teszt XML dokumentum

Az XML-dokumentum példájaként vegye be a zenei CD-ROM katalógusát, amely a következő struktúrával rendelkezik:

Empire Burlesque Bob Dylan. USA. Kolumbia. 10.90 1985 Elrejti a szívedet. Bonnie Tylor. Egyesült Királyság. CBS rekordok. 9.90 1988 ... Engedd szabadjára a szívem. Joe Cocker. USA. EMI 8.20 1987

Most már készen áll tekintve objektum modell XML DOM ismerete, amely indul a XMLDOMDocument objektumot.

XML dokumentum - XmldomDocument objektum

Az XML-dokumentummal való együttműködés a letöltéssel kezdődik. Ehhez a terhelési módszert használjuk, amelynek csak egy paramétere van, amely jelzi a letöltött dokumentum URL-jét. A fájlok helyi lemezről történő letöltésekor csak a teljes fájlnév van megadva (fájl: /// protokoll ebben az esetben elhagyható). Ha az XML-dokumentumot karakterláncként tárolják, a LOADXML-módszert egy ilyen dokumentum letöltésére kell használni.

A dokumentum letöltésének módjának (szinkron vagy aszinkron) módosításához az async tulajdonságot használják. Alapértelmezés szerint ez a tulajdonság igaz, jelezve, hogy a dokumentum betöltése aszinkron vezérlés visszakerül az alkalmazás egészen addig, amíg a dokumentum teljesen betöltve. Ellenkező esetben a dokumentum betöltése szinkronban, és akkor lehet ellenőrizni az érték a readyState ingatlan megtudja, a dokumentum betöltve, vagy sem. Hozzon létre egy OnreadyStatechange eseménykezelőt is, amely a ReeanTate tulajdonság értékének megváltoztatásakor irányítást kap.

Az alábbiakban látható, hogyan kell letölteni egy XML dokumentumot a terhelési módszerrel:

Felhasználók ... MSXML_TLB ... Eljárás TFORM1.Button1 Click (Sender: Togshect); Var xmldoc: ixmldomdokumentum; Kezdődik az xmldoc: \u003d codomdocument.create; Xmldoc.async: \u003d hamis; Xmldoc.load ("c: \\ data \\ data.xml); // // Itt van az a kód, amely manipulálja a // XML-dokumentumot és ágait // xmldoc: \u003d nulla; vége;

A dokumentum betöltése után a tulajdonságaira utalunk. Így a nodeName ingatlan tartalmazni fogja a #Document érték, NodeTypeString ingatlan egy dokumentum értékű, az URL-t a tulajdonság az file: /// C: /Data/Data.xml értéket.

A feldolgozás hiba

Különös érdeklődés a dokumentum feldolgozásához kapcsolódó tulajdonságok, amikor betöltötték. Így a ParsEerror tulajdonság visszaadja egy XMLDOMPARSEERROrror objektumot tartalmazó hibainformációkat alatt bekövetkezett a feldolgozási folyamatot.

Hibakezelő írásához hozzáadhatja a következő kódot:

VAR XMLError: IxmldomparseError; ... xmldoc.load (c: \\ data \\ data.xml); XmlError: \u003d xmldoc.parseError; Ha xmlerror.errorcode.<> 0, majd // // Itt feldolgozzuk a hibát // más memo1.lines.add (xmldoc.xml); ... xmldoc: \u003d nil;

Ha meg szeretné tudni, hogy mely információkat visszaküldi hiba esetén, módosítsa a következő könyvtárat:

Empire Burlesque Bob Dylan. USA. Kolumbia. 10.90 1985

a záróelem eltávolítása A második sorban:</p><p> <CD> <TITLE>Empire Burlesque <ARTIST>Bob Dylan.</ARTIST> <COUNTRY>USA.</COUNTRY> <COMPANY>Kolumbia.</COMPANY> <PRICE>10.90</PRICE> <YEAR>1985</YEAR> </CD> </p><p>Most írja be a kódot, amely visszaadja az XmldomparseError objektum tulajdonságait:</p><p>XmlError: \u003d xmldoc.parseError; Ha xmlerror.errorcode.<> 0 Ezután az XMLError, a memo1.lines megkezdi a hozzáadást ('fájl:' + URL); Add ('kód:' + inttoststr (errorcode)); Add ("hiba:" + ok); Add ("szöveg:" + skrctext); Add ('sor:' + inttostr (sor)); Add ('Pozíció:' + inttoststr (LinePos)); Vége más memo1.lines.add (xmldoc.xml); Vége;</p><p>És teljesítse alkalmazásunkat. Ennek eredményeként a következő hibainformációkat kapjuk.</p> <p>Mint látható a fenti példában a visszaadott információ a XMLDomparseerror tárgy is elég, hogy lokalizálja a hibát, és megérteni az oka annak előfordulása.</p> <p>Most állítsa vissza a záróelemet <TITLE> A dokumentumunkban és folytassa az XML DOM vitáját.</p> <table border="0" width="100%"><tr><td width="50%"> </td> <td width="50%"> </td> </tr></table><h2> Hozzáférés a dokumentumfához</h2> <p>A dokumentumfa eléréséhez a gyökérelemet kaphatja, majd átmegy a leányvállalataiban, vagy találhat egy bizonyos fióktelepet. Az első esetben a gyökérelemet a Dokumentelem tulajdonságon keresztül kapjuk meg, amely visszaadja az XMldomnode típusú objektumot. Az alábbiakban bemutatjuk, hogyan kell használni a Dokumentelem tulajdonságot az egyes gyermekek tartalmának megszerzéséhez:</p><p>VAR csomópont: ixmldomnode; Gyökér: ixmldomelement; I: egész szám; ... gyökér: \u003d xmldoc.documentelement; Az i: \u003d 0 a root.childnodes.lengnoD-1 do kezdőcsomópont: \u003d root.childnodes.item [i]; Memo1.lines.add (csomópont.text); Vége;</p><p>Az XML dokumentumunkhoz a következő szöveget kapjuk.</p> <p>Ha érdekli valamilyen adott ágra vagy ágazati szinten éri el az első leányvállalat, akkor használd a NodeFromid módszer vagy getElementByTagName módja XMLDOMDocument objektumot.</p> <p>A nodefromid módszer megköveteli megadásával egy egyedi azonosítót meghatározott XML Schema vagy Document Type Definition (DTD), és visszaad egy ágat ilyen azonosítóval.</p> <p>A GetElembyTagname módszer egy adott elemgel (címkével) jelzést igényel, és az összes fiókot ezzel az elemgel visszaadja. Az alábbiakban bemutatjuk, hogyan kell használni ezt a módszert, hogy megtalálja az összes előadóművet a CD-ROM-könyvtárban:</p><p>Csomópontok: ixmldomnodelist; Csomópont: ixmldomnode; ... csomópontok: \u003d xmldoc.getElementsbytagname ("művész"); Az i: \u003d 0 a csomópontokhoz.Length-1 megkezdi a csomópontot: \u003d csomópontok.item [i]; Memo1.lines.add (csomópont.text); Vége;</p><p>Az XML dokumentumunkhoz a következő szöveget kapjuk.</p> <p>Ne feledje, hogy az Xmldomnode SelectNodes módszer rugalmasabb módja a dokumentum ágai eléréséhez. De arról, hogy ez valamivel alacsonyabb.</p> <table border="0" width="100%"><tr><td width="50%"> </td> <td width="50%"> </td> </tr></table><h2> Dokumentumág - Xmldomnode objektum</h2> <p>Az Xmldomnode objektum egy dokumentum ág. Már találkoztunk ezzel az objektummal, amikor a dokumentum gyökérelemét kaptuk:</p><p>Gyökér: \u003d xmldoc.documentelement;</p><p>Az XML-dokumentum fióktelepére vonatkozó információk beszerzése az xmldomnode objektum tulajdonságait (1. táblázat) használhatja.</p> <p>Az ágban tárolt adatok eléréséhez általában a NodeMalue tulajdonságot használja (elérhető attribútumokhoz, szöveges fiókokhoz, feldolgozáshoz, feldolgozáshoz és CDATA szakaszokhoz), vagy a fióktelep szövegtartalmát, vagy a NodeTypedValue tulajdonságot visszaadja. Az utóbbi azonban csak gépelt elemekkel rendelkező ágakra használható.</p> <table border="0" width="100%"><tr><td width="50%"> </td> <td width="50%"> </td> </tr></table><h3> A dokumentumfa mozgatása</h3> <p>Az Xmldomnode objektum számos módot kínál a dokumentumfa áthelyezésére. Például, hogy hozzáférjen a szülő ág, a ParentNode tulajdonság, hozzáférés gyermek ágak révén hajtják végre a Childnodes ingatlanok (XMLDCHILD típus), FirstChild és Lastchild (típus XMLDOMNODE), stb A tulajdonosok ingatlanja visszaadja az XML dokumentumot, amely azonosítja az XML-dokumentumot. A fenti tulajdonságok megkönnyítik a dokumentumfát.</p> <p>Most leküzdöm az XML dokumentum összes ágát:</p><p>Gyökér: \u003d xmldoc.documentelement; Az i: \u003d 0 a root.childnodes.lengnoD-1 do kezdőcsomópont: \u003d root.childnodes.item [i]; Ha node.has.haschildmes, akkor getchilds (csomópont, 0); Vége;</p><p>Amint azt fentebb említettük, a SelectNodes object Xmldomnode rugalmasabb módja a dokumentum ágai eléréséhez. Ezenkívül van egy SelectsingLende módszer, amely csak a dokumentum első ágát adja vissza. Mindkét módszer lehetővé teszi az XSL sablonok megadását az ágak kereséséhez.</p> <p>Tekintsük a folyamat, amelynek során a SELECTNODES módszer kivonat minden ága, amely egy CD ág és az infláció.</p><p>Gyökér: \u003d xmldoc.documentelement; Csomópontok: \u003d root.Selectnodes ("CD / ár");</p><p>A csomópontok gyűjteménye az összes Switter ár CD ágát helyezi el. Az XSL sablonok megvitatása egy kicsit később visszatér.</p> <table border="0" width="100%"><tr><td width="50%"> </td> <td width="50%"> </td> </tr></table><h3> A lánya ágak manipulálása</h3> <p>A leányvállalatok manipulálásához használhatjuk az Xmldomnode objektum módszereit (2. táblázat).</p> <p>Az első lemez rekordjának teljes törléséhez a következő kódot kell végrehajtania:</p><p>Var xmldoc: ixmldomdokumentum; Gyökér: ixmldomnode; Csomópont: ixmldomnode; Xmldoc: \u003d codomdocument.Create; Xmldoc.async: \u003d hamis; Xmldoc.load ("c: \\ data \\ data.xml); // kapja meg a gyökérelem gyökerét: \u003d xmldoc.documentelement; Csomópont: \u003d gyökér; // eltávolítja az első leányvállalat node.removechild (csomópont.firstchild);</p><p>Kérjük, vegye figyelembe, hogy ebben a példában eltávolítjuk az első leányvállalatot. Az első leányvállalat első elemének eltávolítása az alábbiakban látható:</p><p>Var xmldoc: ixmldomdokumentum; Gyökér: ixmldomnode; Csomópont: ixmldomnode; Xmldoc: \u003d codomdocument.Create; Xmldoc.async: \u003d hamis; Xmldoc.load ("c: \\ data \\ data.xml); // kapja meg a gyökérelem gyökerét: \u003d xmldoc.documentelement; // és az első leányvállalat csomópont: \u003d root.firstchild; // eltávolítja az első leányvállalat node.removechild (csomópont.firstchild);</p><p>A fenti példában nem távolítottuk el az első ágat. <CD>…</CD>, és az ág első eleme - <TITLE>….

Most adjon hozzá egy új fióktelepet. Az alábbiakban egy kód, amely bemutatja a zenei CD-ROM-ot:

Var newnode: ixmldomnode; Gyermek: ixmldomnode; ... // létrehozhat egy új fióktelepet - Newnode: \u003d xmldoc.createnode (1, 'CD', ''); // add elem hozzáadása Gyermek: \u003d xmldoc.Createnode (1, ',', ','); // hozzáad egy újnode.appendchild (gyermek) elemet; //, és állítsa be a gyermek értékét.Text: \u003d 'Pink Floyd'; // add elem hozzáadása <ARTIST> Gyermek: \u003d xmldoc.Createnode (1, 'művész', ''); // hozzáad egy újnode.appendchild (gyermek) elemet; // és a gyermek értékének megállapítása: \u003d 'Division Bell'; // add elem hozzáadása <COUNTRY> Gyermek: \u003d xmldoc.Createnode (1, 'ország', ''); // hozzáad egy újnode.appendchild (gyermek) elemet; // és állítsa be a gyermek értékét.Text: \u003d 'UK'; // add elem hozzáadása <COMPANY> Gyermek: \u003d xmldoc.Createnode (1, 'Társaság', ''); // hozzáad egy újnode.appendchild (gyermek) elemet; //, és állítsa be az értéket a Child.Text: \u003d 'EMI Records Ltd.'; // add elem hozzáadása <PRICE>Gyermek: \u003d xmldoc.createnode (1, 'ár', ''); // hozzáad egy újnode.appendchild (gyermek) elemet; // és a gyermek értékének megteremtése: \u003d '11 .99 "; // Adjon hozzá egy elemet <YEAR> Gyermek: \u003d xmldoc.Createnode (1, 'Év', ''); // hozzáad egy újnode.appendchild (gyermek) elemet; // és a gyermek értékének megállapítása: \u003d '1994'; //, és adja hozzá a root.appendchild ág (Newnode); ...</p><p>A fenti kód a következő műveletek sorozatát mutatja új fiók hozzáadásához:</p> <ul><li>Új fiók létrehozása a Createnode használatával: <ul><li>elem létrehozása a CreatEnode módszerrel;</li> <li>egy elem hozzáadása az ághoz az AppendChild módszerrel;</li> <li>az elem értékének beállítása a szöveges tulajdonságon keresztül;</li> <li>... Ismételje meg az összes elemet.</li> </ul></li> <li>Új fiók hozzáadása a dokumentumhoz az AppendChild segítségével.</li> </ul><p>Emlékezzünk vissza, hogy az appendchild módszer egy ágat ad egy fa végén. Ha egy ágat szeretne hozzáadni a fa adott helyére, akkor a beillesztési módot kell használnia.</p> <h2> Ágazatok készlete - Xmldomnodelista objektum</h2> <p>A XMLNodelist objektum tartalmaz egy listát ágak építhető a SelectNodes vagy getElementsByTagName módszerekkel, és szintén nyert Childnodes tulajdon.</p> <p>Már figyelembe vesszük az objektum használatát a "Document Tree" szakaszban megadott példában. Itt adunk néhány elméleti megjegyzéseket is.</p> <p>A listán szereplő ágak száma a hosszúságú tulajdonság értéke. Az ágak indexei 0-tól hossz-1, és minden egyes ág elérhető keresztül Tétel tömb eleme a megfelelő index.</p> <p>Áttérve Az ágak listáját is elvégezhető a NEXTNODE módszer visszatérő a következő ág a listán, vagy Nil, ha az aktuális ág az utóbbi. A lista tetejére való visszatéréshez hívja a visszaállítási módszert.</p> <table border="0" width="100%"><tr><td width="50%"> </td> <td width="50%"> </td> </tr></table><h2> Dokumentumok létrehozása és mentése</h2> <p>Tehát megnéztük, hogyan lehet hozzáadni ágakat és elemeket a meglévő XML dokumentumokhoz. Most hozzon létre egy XML-dokumentumot "a repülésen". Először is emlékeztetünk arra, hogy a dokumentum nem csak az URL-ről, hanem a szokásos karakterláncból is betölthető. Az alábbiakban bemutatjuk, hogyan kell létrehozni egy root elemet, amelyet ezután felhasználhatunk a fennmaradó elemek dinamálására (amelyeket már figyelembe vettünk a "leányvállalatok manipulációja" szakaszában):</p><p>Var xmldoc: ixmldomdokumentum; Gyökér: ixmldomnode; Csomópont: ixmldomnode; S: széleskörű; ... s: \u003d ' <CATALOG></CATALOG>"; Xmldoc: \u003d codomdocument.Create; Xmldoc.async: \u003d hamis; Xmldoc.loadxml (ek); Gyökér: \u003d xmldoc.documentelement; Csomópont: \u003d xmldoc.Createnode (1, 'CD', ''); Root.appendchild (csomópont); Memo1.lines.add (xmldoc.xml); ... xmldoc: \u003d nil;</p><p>Az XML dokumentum megteremtése után mentse el a fájlt a mentési módszer segítségével. Például:</p> <p>Xmldoc.save ('c: \\ data \\ newcd.xml);</p> <p>A fájl mentése mellett a mentési mód lehetővé teszi, hogy az XML-dokumentumot egy új XmldomDocument objektumban mentse el. Ebben az esetben a dokumentum teljes feldolgozás, és ennek következtében ellenőrzi struktúráját és szintaxisát. Az alábbiakban bemutatjuk, hogyan lehet egy dokumentumot menteni egy másik objektumban:</p><p>Eljárás TFLEX1.Button2Click (Feladó: Togrect); Var xmldoc2: ixmldomdokumentum; Kezdődik xmldoc2: \u003d codomdocument.Create; Xmldoc.save (xmldoc2); Memo2.lines.add (xmldoc2.xml); ... xmldoc2: \u003d nulla; vége;</p><p>Összefoglalva, megjegyezzük, hogy a mentési módszer lehetővé teszi, hogy mentse el az XML-dokumentumot más COM objektumokba, amelyek támogatják az Istream, az IsetStream vagy az iPescistStreaminit interfészeket.</p> <table border="0" width="100%"><tr><td width="50%"> </td> <td width="50%"> </td> </tr></table><h2> Az XSL sablonok használata</h2> <p>Az Xmldomnode Object Selectmes módszerrel való megvitatás, megemlítettük, hogy rugalmasabb módja a dokumentum ágai eléréséhez. A rugalmasság abban rejlik, hogy az ágak kiválasztásához kritériumként megadhat egy XSL sablont. Az ilyen sablonok erőteljes mechanizmust biztosítanak az XML dokumentumok információinak kereséséhez. Például annak érdekében, hogy a zenei CD-ROM nevét a könyvtárunkban megjelenik, követheti a következő lekérdezést:</p><p>Annak megállapításához, hogy az előadók felszabadulnak-e az Egyesült Államokban, a kérés a következőképpen alakul ki:</p><p>Csomópontok: \u003d root.Selectnodes ('CD / Artist');</p><p>Az alábbiakban látható, hogyan kell megtalálni az első lemezt a könyvtárban:</p><p>Csomópontok: \u003d root.Selectnodes ('CD / title');</p><p>És utoljára:</p><p>Csomópontok: \u003d root.Selectnodes ('CD / title');</p><p>A Bob Dilan lemezek megtalálásához a következő lekérdezést hajthatja végre:</p><p>Csomópontok: \u003d root.Selectnodes ('CD [$ bármilyen $ arsten \u003d "bob diyan"] / cím ");</p><p>És az 1985 után kiadott lemezek listáját, a következő lekérdezést végezzük:</p><p>Csomópontok: \u003d root.Selectnodes ('CD / title');</p><p>Az XSL Syntax részletesebb megvitatása külön kiadást igényel. Az olvasók intrika és további kutatás, csak egy kis példát adok az XSL lehetséges használatára. Tegyük fel, hogy a könyvtárat a szokásos HTML asztalra kell átalakítani. Kihasználva a hagyományos módszereket, ki kell rendezni az összes fa ágakat, és minden egyes elemet a megfelelő címkék létrehozásához <TD>…</TD>.</p> <p>Az XSL használatával egyszerűen létrehozunk egy sablont (vagy stílusos táblát), amelyben jelezzük, hogy mit és hogyan lehet átalakítani. Ezután ezt a sablont a katalógusunkhoz - és kész: előttünk az XSL sablon szövege, amely átalakítja a könyvtárat a táblázatban (2. lista).</p> <p>Az XSL sablon átfedése a katalógusunkhoz így néz ki:</p><p>Eljárás TFLEX1.Button2Click (Feladó: Togrect); Var xsldoc: ixmldomdokumentum; Kezdődik az xsldoc: \u003d codomdocument.Create; Xsldoc.load ('c: \\ data \\ data.xsl); Memo2.text: \u003d xmldoc.transformnode (xsldoc); Xsldoc: \u003d nulla; vége;</p><p>Az XSL megvitatásának befejezésével azt kell mondani, hogy jelenleg ez a nyelv aktívan alkalmazható a különböző XML-dokumentumok közötti átalakításhoz, valamint a dokumentumok formázásához.</p> <table border="0" width="100%"><tr><td width="50%"> </td> <td width="50%"> </td> </tr></table><h2> Következtetés</h2> <p>Elég érthető okokból, egy cikkben lehetetlen figyelembe venni az összes Microsoft XML DOM objektumot, és példákat használhatjuk. Itt csak az XML DOM használatának fő kérdéseire érkeztünk az alkalmazásokban. A lapon. A 3. ábra a Microsoft XML DOM-ban végrehajtott összes objektumot mutatja.</p> <p>Computerpress 12 "2000</p> <p>Megrendelés megoldása feladatok a Delphi-on <br> Delphi a második programozási nyelv, amellyel a diákok leggyakrabban megismerkednek a tanulási folyamatban. Ez az objektumorientált programozás kezdete. Én, mint egy diák, azt a következtetést, hogy nincs könnyebb módszer a nyelv elsajátítására, mint egy számológép írásához. Még akkor is, ha két szám hozzáadása elemi funkcióját észleli, ez már sok fényben van.</p> <p>Codegaear, Delphi 7, Lazarus különböző fordítói, olyan programok, amelyek átkerülnek az Ön által írt gépkódra, átalakítva Zoliki és egy. Ezek minden program a programok létrehozására, és nem külön programozási nyelvek. Ezek a fordítók a Delphi nyelv alapjául szolgáló objektum programozási nyelvet használják, amely hasonló a szokásos Pascalhoz hasonló szintaxishoz, de funkcionális jelentősen eltérő. <br></p> <h2>Mi a programozási nyelv szintaxis?</h2> <p>Ez a különböző operátorok írására szolgáló formátum. Például a Pascal "for" ciklusának a következő formátuma van: "N: \u003d 1-re k-re", stb.</p><p>A C ++ programozási nyelvben ugyanazt a ciklust másképp írják le: a (n \u003d 1, n számológépet írunk</p><p>Ezzel megérti Önnek, hogy a programkóddal rendelkező tárgyak hogyan kapcsolódnak egymáshoz, mi a "változók", hogyan működik a matematikai funkciók. Minden esetben mindenképpen számítás lesz. A játék olyan program is, amely folyamatosan úgy véli, hogy valami, számokkal és numerikus funkciókkal működik. A programozás elválaszthatatlan a matematikától.</p> <p>A Lazarus fejlesztési környezetét írjuk. A funkcionalitás nem olyan gazdag, mint, mondjuk, kódszed, de szabad hozzáférés, és úgy tervezték, hogy tanulmányozzák.</p><p>A fejlesztési környezet megnyitása, az elemek alakját és panelét látjuk. Itt van egy űrlap.</p> <p><img src='https://i2.wp.com/reshatel.org/wp-content/uploads/2018/09/Bez-imeni-24.jpg' width="100%" loading=lazy loading=lazy></p><p>Itt van az elem panel.</p><p>Az első dolog, amit meg fog tenni, hogy adjunk a három elem meg kell végrehajtani hozzáadása funkció két szám. Szükségünk van: "Tedit" a három darab és a "tbutton". Az alábbi képen látható a nyilak panelen. Kattints rájuk egyszer, majd egyszer, és megjelennek rajta.</p><p>Ezek a szöveges mezők a bemenethez és a rendszeres gombhoz. Ezekkel az elemekkel szinte minden Windows program segítségével találkozik. Nézd meg.</p><p><img src='https://i1.wp.com/reshatel.org/wp-content/uploads/2018/09/Bez-imeni-27.jpg' width="100%" loading=lazy loading=lazy><br></p> <p>Most tisztítsa meg ezeket a feliratokat. Kattintson a Nézet fülre. És kattintson az "Objektumok felügyelőjére. Ez az ablak jelenik meg.</p><p><img src='https://i0.wp.com/reshatel.org/wp-content/uploads/2018/09/Bez-imeni-28.jpg' width="100%" loading=lazy loading=lazy></p><p>Kattintson egyszerre a "Gomb" gombunkon, és módosítsa a "felirat" értéket az Inspector ablakban bármely másra. Például az "ok" szóban. Kattintson az Enter gombra. Az űrlapon látjuk, mivel az elem megváltoztatta a nevet.</p><p>Csak tedd a szerkesztést, csak ne nevezzük át, de tartalom nélkül meg fogjuk tenni őket. Kiemeljük őket viszont, és tisztítsa meg a szöveg értékét az ellenőrben. Ne felejtse el megnyomni az Enter billentyűt.</p><p><img src='https://i2.wp.com/reshatel.org/wp-content/uploads/2018/09/Bez-imeni-29.jpg' width="100%" loading=lazy loading=lazy></p><p>Az eredmény szerint az űrlapunk így néz ki.</p><p><img src='https://i2.wp.com/reshatel.org/wp-content/uploads/2018/09/Bez-imeni-30.jpg' width="100%" loading=lazy loading=lazy><br></p> <p>Most, hogy a számológépünk megszerzett, regisztrálnia kell a szükséges szoftverkódot a gombunkhoz. Kattintson kétszer a gomb elemre, és nyissa meg a forrásszerkesztőt.</p><p><img src='https://i2.wp.com/reshatel.org/wp-content/uploads/2018/09/Bez-imeni-31.jpg' width="100%" loading=lazy loading=lazy></p><p>Lát? Button1 Click eljárás. Ez egy olyan eljárás, amely felelős azért, hogy mi történik, ha egyszer kattintunk a gombra. És a következőnek kell előfordulni: A program szükséges a harmadik szerkesztésben, hogy az első két mezőben bevezetett számok összegét hozza meg. Írjuk be a kódot.</p><p><img src='https://i1.wp.com/reshatel.org/wp-content/uploads/2018/09/Bez-imeni-32.jpg' width="100%" loading=lazy loading=lazy></p><p>Ilyen egyszerű 5 soros kódot kell írnunk. A fenti képen látható megjegyzések és magyarázatok láthatóak. Ezt követően kattintson erre a gombra.</p> <p>A projektünk összeállítását össze kell állítani. A programban összeszerelhető. A számokat az első két mezőbe adjuk meg, kattintson a gombra, és kapja meg az összeg értékét.</p><p><img src='https://i2.wp.com/reshatel.org/wp-content/uploads/2018/09/Bez-imeni-34-2.jpg' width="100%" loading=lazy loading=lazy></p> <h2>Következtetés</h2> <p>Akkor kattintson a „File” gombra, majd a „Mentés mindent”, válassza ki a mappát, hogy mentse, és akkor lesz egy teljes értékű program kezdete, amely lehet tenni az asztalra. Most próbálja meg kitalálni önmagában, hogy újra kell írnia ezt a kódot, hogy a programot két számmal kell osztani, és nem hajtogatva. Tipp: Meg kell változtatnia az adattípust. Az alábbi videó hasonló példát mutat, de a Delphi 7-ben, nem Lazarusban.</p><p><span class="6qR5tjJKK3g"></span></p> <p>Sok Delphi programozó, a mentési beállítások társulnak <i>Ini.</i> A programokban szereplő fájlok. Ennek a módszernek a használata, kevésbé komoly projektekben kell elkerülni, mivel a rugalmasság korlátozása, amely megakadályozza a program további bővülését. Érdemes megmondani, hogy egy ilyen megközelítés meglehetősen népszerű, az egyszerű használat és a beépített pénzeszközök jelenléte miatt a fejlesztési környezetben. <br><br> Azonban a programbeállítások tárolására szolgáló ideális lehetőség <i>XML</i> Fájlok. Előnyük az, hogy a paraméterek száma nem rögzíthető. Ahhoz, hogy jobban megértsük, fontolja meg egy konkrét példát.</p><p>Az Usearch programban, amikor a felvételre kattint, megjelenik egy helyi menü, amely megjeleníti a pontok listáját. Ezek az elemek parancsok, amelyek bekapcsolódnak a Beállítások fájlból. Abban az esetben, ha a beállításokat tárolták <i>Ini.</i> A fájl, a program képes menteni és betölteni bizonyos számú parancsok, például 10 vagy 50 Amint szükség van még fontosabb, meg kell átírni a kódot, és ennek megfelelően újra fordítsuk le.</p><p><img src='https://i1.wp.com/zoo-mania.ru/wp-content/uploads/2011/08/settings.ini_.jpg' height="145" width="247" loading=lazy loading=lazy><br> Megközelítés alkalmazása <i>XML</i> Fájlok, mi lesz képes letölteni a szakasz összes paramétereit dinamikusan. Mindezek esetében a konfigurációs fájl elegánsabb lesz, anélkül, hogy a paraméterek túlzott számozása lenne. Azonban a szabványos eszközök a munkához <i>XML</i> A Delphi számos hátránya van, ezért javaslom a szabványos könyvtár használatával <b>Msxml</b>. Általában ez a Windows családi rendszerek alapértelmezett része.</p><p><img src='https://i2.wp.com/zoo-mania.ru/wp-content/uploads/2011/08/settings.xml_.jpg' align="center" width="100%" loading=lazy loading=lazy><br> Csatlakozáshoz <b>Msxml</b>Interfészfájlt kell létrehoznunk az összes funkció listájával, importálva a COM szerverről. Az interfész importálása nem elegendő részletes cikk, azt javaslom, hogy töltse le a fájlt <b>Msxml2_tlb.pas.</b> Már készen áll a használatra. A fájl letöltése után helyezze el a projekt mellett, vagy dobja a Delphi lib lib mappába. Így minden létrehozott program képes lesz a modul használatára. <b>Msxml</b>, Elegendő az MSXML2_TLB hozzáadása a felhasználásokhoz.</p><p>Az egyértelműség érdekében vegye figyelembe a következő példát a könyvtár alkalmazására:</p><p>Eljárás loaddata; Var xmldoc: domdocument; Gyökér: ixmldomelement; Kezdődik az xmldoc: \u003d codomdocument.create; Xmldoc.load ("settins.xml"); Gyökér: \u003d xmldoc.documentelement; Showmessage ("Méret / szélesség"). Szöveg); Gyökér: \u003d nulla; Xmldoc: \u003d nulla; vége;</p><p>Először is létrejött a domdocument osztály példánya, amely után a beállítások tartalma a memóriába van betöltve. A szabvány szerint <i>XML</i> A fájlnak tartalmaznia kell a gyökércímkét (ebben az esetben) <i>config</i>), akkor meg kell kapnunk a funkció használatával <i>Dokumentáció</i>. Ezután a tartalom tartalma a címkék között <width></width> ami viszont a címkék között van <size></size> . Így a Settings.xml fájlból a módszerünk szöveges üzenetet telepít <i>"100px"</i>.</p><p> <?xml version="1.0" encoding="utf-8"?> <config> <size> <height>500px</height> <width>100px</width> </size> </config> </p><p>Itt van a SelectSingLende módszer, amely a karakterláncot paraméterként veszi át.</p> <p>Üdvözöljük! Ez a blog az internetre és a számítógépekre vonatkozik, és pontosabban elkötelezettek őket.</p> <p>Valószínűleg azonnal látható, hogy sok éve nem jelent meg sok éven át a helyszínen. Igen, ez a legtöbb blog sorsa. Miután ez a projekt ambiciózus vállalkozás volt, és a szerző, mint sokan mások, akik azt írta akkoriban voltak nagyszabású terveket, hogy az egyik legjobb orosz bloggerek. Nos, ha megnézi őt, akkor azoktól a blogok, hogy jött létre azzal egyidejűleg az enyém, a legtöbb már oldjuk örökkévalóságban. És tritely lett hiányzó idő blog. Tehát igen, ez már nem frissül. Bár egyszer nyertem ezen az oldalon a 2011-es blogversenyen.</p> <p>Még az ötletem is eltávolítottam ezt, de aztán átdolgoztam a régi anyagokat, és rájöttem, hogy még mindig hasznosak lehetnek az olvasók számára. Igen, egyes cikkek elavultak (ha elég erővel rendelkezem, megkapják a megfelelő jeleket), de a webhely például hasznos lehet a kezdőknek - itt olvashat az internet alapfogalmáról, megtanulhatja, hogy testreszabhatja a testreszabást Internet, ablakok, vagy akár úgy döntenek, hogy Linuxra mennek. Tehát nézd meg a fejezeteket, és válassza ki azt, amely alkalmas az Ön számára.</p> <p>És végül is remélem, hogy több, mint egy blog, hanem egy igazi internetes útmutató. A webhely megtalálható a könyvtár módban, ahol az összes rendelkezésre álló cikk kategóriák szerint strukturálható. És ki tudja, hogy az új minőségi cikkek itt jelennek meg.</p> <p><i>Csiszoló</i></p> <p>A Picodi.ru a nemzetközi kuponok kedvezményes portálja, a lengyel szakértő és az olcsó vásárlások. A lengyelek a világ egyik leggazdagabb nemzetének tekinthetők, ezért nem meglepő, hogy ez a fajta projekt a lengyel indító Kodyrabatowe.pl-ről nőtt. Mi lehet hasznos ez a portál egy rendes internet-felhasználó Oroszországban?</p> <p>A modern Android telefonok több mint telefonok. Szoksz a telepített programok sorához, a hívások és szöveges üzenetek, fotók gyűjteményeihez és sokat. De az idő megy, és a teljesen elrendezett eszköz lelassul, hiba, vagy egyszerűen elveszti a bemutatható nézetet, mert a forgácsolás a testen vagy karcolások a képernyőn. Van egy kérdés, hogy megválasztja az új telefont és megváltoztatja az Android-telefont. És ha a választás kérdése, akkor most bypass a párt most, majd a „mozgó” egy új telefont továbbra is komoly probléma - Én egyáltalán nem akar kezdeni az összes adatot a semmiből. Itt beszélünk erről ma.</p> <p>A blog olvasói többsége, valószínűleg soha nem szembesült a verzióvezérlés verziói, és nem jön fel a közeljövőben. És sajnálom. Ezt a rendkívül felhasználóbarát találmányt széles körben használják a programozók, de véleményem szerint nagyon hasznos lehet, és azok számára, akik aktívan dolgoznak a szövegekkel. De valószínűleg nincs olyan verzióvezérlő rendszer, amelyet könnyen kezelhet az "Office" (Microsoft Office) használatához. Mindazonáltal úgy vélem, hogy a cikkben meghatározott anyag érdekes lehet minden olvasó számára.</p> <p>Ha gondoltál arról, hogy a TV-hez filmjei a hálózaton keresztül, és hozzáférj az internethez, ez a cikk az Ön számára. Nem, tudom, hogy néhány televízió rendelkezik az intelligens TV funkcióval, de soha nem láttam jól működik. Úgy tűnik, ezért a Google nemrégiben teljesen lenyűgöző eszközt mutatott, azonnal véget ért az érzéssel. A Media Streamer Chromecast (Chromkast), a tavalyi kedvelt játékosok Q.</p> <p>Szakadék Chromkast, amelynek mérete nem haladja meg a 2 inches, csatlakozik a HDMI port a TV és lehetővé teszi, hogy élvezheti a streaming webes tartalmat. A Streamer vezérléséhez bármely eszköz (tabletta, PC, okostelefon) az iOS, Windows, Android vagy Mac OS operációs platform alapján használható.</p> <p>Ez a cikk az Android-rendszer memóriaeszközre, a hiánya miatt felmerülő problémákra kerülnek, és hogyan oldják meg őket. Én magam nem volt olyan régen, hogy az Android-telefonom rendszeresen kiadja az üzeneteket a memóriahiányról, amikor egy adott alkalmazást próbál létrehozni. Ami nagyon furcsa volt számomra annak ellenére, hogy a piacon található leírásban körülbelül 16 GB-os, és ezt a kötetet további memóriakártyával is növeltem. Azonban a probléma az volt, és alaposan meg kellett ragadanom, mielőtt megtaláltam a megfelelő megoldást, amely nem igényel a gyökér hozzáférést vagy a telefon teljes visszanyerését a gyári állapotba.</p> <p>Nemrégiben nagy figyelmet fordítanak az e-üzleti rendszerek építésére, vagy ahogyan azt is - B2B (üzleti üzleti tevékenység) is nevezik. Tekintettel a testület internetes technológiáinak koordinálására szolgáló csere streaming rendszerek építésére vonatkozó ajánlásokra: a hangsúly az XML technológiák és az XML dokumentumcsere-rendszerek építésére szolgál.</p> <p>Az XML-ben az e-üzletágban az előnye a B2B rendszerek nagy hatékonysága alacsony költséggel a strukturált információk világos és vizuális ábrázolása miatt, a modern hálózati protokollok használatának képessége és valós idejű üzleti rendszerek létrehozása.</p> <p>Az információ bemutatása XML-dokumentumok formájában történő bemutatásának függetlensége lehetővé teszi az elektronikus üzleti tevékenységben való részvételt, hogy egymástól független legyen.</p> <p>Minden rendszerben a csere általában ugyanazon a rendszer által épített HTTP-kérésekkel. Az SSL protokollt SSL protokollként alkalmazzák (de ez egy külön téma).</p> <p>Az XML-üzenetek feldolgozásának egyik lehetséges lehetősége a bin / cgi (isapi) -news vagy a com (kiszolgáló) komponensek létrehozása, amelyek XML dokumentumokat alkotnak vagy feldolgoznak.</p> <p>Egyrészt az alkalmazás ügyfélként működik, amely post módban http lekérdezést tesz lehetővé, másrészt egy webszerver, amelynek oldalán a lekérdezés feldolgozása és a válasz feldolgozása. Az információcsere XML dokumentumokat használ.</p> <p>Az egyik leghatékonyabb megvalósítási lehetőség a DOM modellt támogató meglévő XML-parser használata. Az ilyen elemző a WIN`98 és az IE 4,7 és annál magasabb szerves részét képezi (a Win`95), és az MSXML.DLL könyvtárban található COM szerver.</p> <p>A Component Object Model (COM) van beágyazott adatokat és módszereket egyetlen lényeg, és olyan módon, hogy érheti el őket az interfész rendszer. A Delphi egyszerűen megközelíthető a COM objektumosztályokhoz való hozzáféréshez (több osztály is szerepelhet egy COM-kiszolgálóban). Az objektumokhoz való hozzáférést az osztálypéldány inicializálásával végezzük az interfészrendszeren keresztül. Az interfészek leírását az Interface Definition Language (IDL) végzi, amely automatikusan végrehajthatja a közeg eszközeit.</p> <p>A Delphi azt jelenti, hogy behozatal a COM szerverről <i>msxml.dll.</i>Az IDL interfész leírása fájlok épülnek, és a könyvtár típusának bináris leírási fájlja a TLB. Ez a művelet a Rendszer menüben történik: <b>Projekt | Típus Könyvtár importálása:</b>(1. kép). Megjelenik a következő párbeszédpanel (2. ábra), amelyben kiválasztani kívánt COM objektumot (a mi esetünkben az objektum "Microsoft.xmldom (2.0 verzió)") regisztrálva van, és hozzon létre egy TLB fájlt (gomb) <b>Hozzon létre egységet.</b>). A TLB fájl használatával a környezet generál "Passalevsky" fájl leírását a COM Server - MSXML_TLB.PAS</p> <p>Az msxml_tlb.pas fájl leírja az összes interfészt, konstansot és a COM szervereket.</p> <p>A COM elem tárgyához való hozzáféréshez az irányelvben szükséges <b>Használ.</b>adja hozzá a könyvtár leírási fájljának nevét (MSXML_TLB.PAS). Az alábbiakban a legegyszerűbb program, amely a DOM szabvány msxml.dll analizátort használja, amely letölti az XML dokumentumot, és megjeleníti azt a Memo1 szövegmezőelemben.</p> <b>használ.</b> Windows, üzenetek, sysutils, osztályok, grafikák, vezérlők, űrlapok, párbeszédek, oleserver, msxml_tlb, stdctrls; <b>típus</b> Tform1 \u003d. <b>osztály</b>(Tform) gomb1: tbutton; MEMO1: tmemo; <b>eljárás.</b> BUTTONT1CLICK (SENDER: SUBDECT); <b> vége;</b> <b>var.</b> Űrlap: tform1; <b>végrehajtás</b> ($ R * .dfm) <b>Eljárás.</b>Tform1.button1click (küldő: átszámolása); <span> // Soklass objektum Domdocument nyilatkozata;</span> <b>var.</b>cODOC: CodomDocument; <span> // osztály, összhangban az idomdocument interfésszel;</span> <b>var.</b>Doc: ixmldokumentum; <b>kezdődik.</b> <span> // a domdocument objektum példányának létrehozása;</span> Doc: \u003d codoc.Create; <span> // hívja a Domdocument objektum példányának módját;</span> Doc.load ("data.xml"); <span> // hozzáférés a domdocument objektum XML tulajdonság példányához;</span> Memo1.text: \u003d doc.xml; <b>vége;</b> <b>vége.</b> <h2>Dom Concept - Objektum-dokumentum modell</h2> <p>Minden XML-dokumentumot számos objektum (osztály) állapítanak meg, amelyekkel az egyes elemekhez való hozzáférés (objektummezők) lehetséges. A DOM - interfész írja le az egyszerű DOMSTRING vagy CHARTYDATA objektumok és alkatrészek vagy különálló XML elemeihez való hozzáférést: DOMFRAMMENTELEMENT, DOMNODE, DOMELEMENT.</p> <p>Az XmldomDocument, az Xmldomnode, az Xmldomnodelist legfontosabb tulajdonságai és módszerei. Meg kell jegyezni, hogy az msxml.dll xml analizátor modell, az alábbiakban bemutatott msxml.dll xml analizátor, az MSXML.DLL XML analizátor használja, mint a W3C modell által jóváhagyott DOM konzorcium.</p> <p>A DOM objektumok teljesebb leírása megtalálható</p> <table cellspacing="0" cellpadding="4" width="500" border="1"><tbody><tr><td valign="top" colspan="2"> Xmldomdocument objektum</td> </tr><tr><td valign="top" colspan="2">Az objektum hierarchiájának felső szintjét képviseli, és tartalmaz egy dokumentummal való együttműködés módszereit: letöltése, elemzése, elemek, attribútumok, megjegyzések stb. .</td> </tr><tr><td valign="top" colspan="2"><b>Tulajdonságok</b> </td> </tr><tr><td valign="top" width="39%"><b>Async.</b> </td> <td valign="top" width="61%">Az aktuális feldolgozási mód azonosítója</td> </tr><tr><td valign="top" width="39%" height="19"><b>ParseError</b> </td> <td valign="top" width="61%" height="19">Visszaadja az XMldomparseError hibafeldolgozó objektumra való hivatkozást</td> </tr><tr><td valign="top" width="39%"><b>Engedélyezés - Dokumentumellenőrzés letiltása.</b> </td> <td> </td> </tr><tr><td valign="top" width="39%"><b>url</b> </td> <td valign="top" width="61%">Visszaadja a dokumentum URL-jét</td> </tr><tr><td valign="top" width="39%"><b>dokumentáció</b> </td> <td valign="top" width="61%">Tartalmaz egy hivatkozást a dokumentum gyökérelemére Xmldomemememement objektumként.</td> </tr><tr><td valign="top" colspan="2"><b>Mód</b> </td> </tr><tr><td valign="top" width="39%"><b>terhelés (URL) <br>loadxml (XMLString)</b> </td> <td valign="top" width="61%">Betölti az XML dokumentumot</td> </tr><tr><td valign="top" width="39%"><b>mentés (objtarget)</b> </td> <td valign="top" width="61%">Elmenti az XML dokumentumot a fájlban</td> </tr><tr><td valign="top" width="39%"><b>eLVETÉL.</b> </td> <td valign="top" width="61%">Megszakítja a dokumentum letöltésének és feldolgozásának folyamatát.</td> </tr><tr><td valign="top" width="39%"><b>creatEattribute (név)</b> </td> <td valign="top" width="61%">Új attribútum létrehozása az aktuális elem megadott nevével.</td> </tr><tr><td valign="top" width="39%"><b>createnode (Típus, név, névpappauri)</b> </td> <td valign="top" width="61%">A megadott típus és cím csomópontja</td> </tr><tr><td valign="top" width="39%"><b>createelement (TagName)</b> </td> <td valign="top" width="61%">Dokumentumelemet hoz létre a megadott névvel.</td> </tr><tr><td valign="top" width="39%"><b>createTextNode (adatok)</b> </td> <td valign="top" width="61%">Szöveget hoz létre a dokumentum belsejében</td> </tr><tr><td valign="top" width="39%"><b>getElemsbytagname (TagName)</b> </td> <td valign="top" width="61%">Visszaad egy linket a dokumentumelemek gyűjteményéhez a megadott névvel</td> </tr><tr><td valign="top" width="39%"><b>nodeFromid (idstring)</b> </td> <td valign="top" width="61%">Keresési elem azonosítóval</td> </tr></tbody></table><br><table cellspacing="0" cellpadding="4" width="500" border="1"><tbody><tr><td valign="top" colspan="2"> <b>Xmldomnode objektum</b> </td> </tr><tr><td valign="top" colspan="2">Xmldomnode objektum, amely végrehajtja az alap Dom felületet <b>Csomópont.</b>, Úgy tervezték, hogy egy dokumentumfa külön csomójával manipuláljon. Tulajdonságok és módszerek lehetővé teszik, hogy megkapja és módosítsa az aktuális csomópontról - típusát, nevét, teljes nevét, tartalmát, a gyermekelemek listáját stb.</td> </tr><tr><td valign="top" colspan="2"><b>Tulajdonságok</b> </td> </tr><tr><td valign="top" width=" "><b>nodename, Basename.</b> </td> <td valign="top" width="65%">Visszaadja az aktuális csomópont nevét.</td> </tr><tr><td valign="top" width="35%"><b>előtag.</b> </td> <td valign="top" width="65%">Visszaadja a névtér előtagot.</td> </tr><tr><td valign="top" width="35%"><b>adattípus</b> </td> <td valign="top" width="65%">Meghatározza az aktuális csomópont tartalmi típusát</td> </tr><tr><td valign="top" width="35%"><b>nodetype, nodetypestring</b> </td> <td valign="top" width="65%">Visszaadja az aktuális csomópont típusát:</td> </tr><tr><td valign="top" width="35%"><b>attribútumok.</b> </td> <td valign="top" width="65%">Visszaadja az aktuális csomópont attribútumainak listáját, mint XmldomnamnamnamDemap gyűjtemény.</td> </tr><tr><td valign="top" width="35%"><b>sZÖVEG.</b> </td> <td valign="top" width="65%">Visszaadja az aktuális támogatás tartalmát szöveg formájában.</td> </tr><tr><td valign="top" width="35%"><b>xML</b> </td> <td valign="top" width="65%">Visszaadja az aktuális támogatás XML ábrázolását.</td> </tr><tr><td valign="top" width="35%"><b>nodeMalue.</b> </td> <td valign="top" width="65%">Visszaadja az aktuális csomópont tartalmát.</td> </tr><tr><td valign="top" width="35%"><b>gyermeknevek.</b> </td> <td valign="top" width="65%">Visszaadja a gyermekelemek listáját Xmldomnodelistként.</td> </tr><tr><td valign="top" width="35%"><b>fIRDILD, LASTCHLILD.</b> </td> <td valign="top" width="65%">Visszaadja az első / utolsó gyermek elemet</td> </tr><tr><td valign="top" width="35%"><b>előző, Nextsling</b> </td> <td valign="top" width="65%">Visszaadja az előző / következő ápoló elemet.</td> </tr><tr><td valign="top" width="35%"><b>parentnode.</b> </td> <td valign="top" width="65%">Tartalmaz egy hivatkozást a szülőelemre.</td> </tr><tr><td valign="top" width="35%"><b>tulajdonos</b> </td> <td valign="top" width="65%">Visszaadja a mutatót a dokumentumhoz, amelyben az aktuális csomópont található.</td> </tr><tr><td valign="top" colspan="2"><b>Mód</b> </td> </tr><tr><td valign="top" width="35%"><b>appendchild (newchild)</b> </td> <td valign="top" width="65%">Új gyermekelemet ad hozzá az aktuális csomóponthoz.</td> </tr><tr><td valign="top" width="35%"><b>beilleszteni (newchild, refchild)</b> </td> <td valign="top" width="65%">Helyezzen be egy gyermekcsomópontot, amelynek a REFCHILD paraméter által megadott csomópont "bal oldali" jelenlegi alterében van.</td> </tr><tr><td valign="top" width="35%"><b>clonenode (mély)</b> </td> <td valign="top" width="65%">Hozzon létre egy példányt az aktuális elemről.</td> </tr><tr><td valign="top" width="35%"><b>getattribute.</b><b>(Név) <br> </b><b>getattributenode.</b><b><span> (Név) <br>setattribute (név, érték) <br>setattributenode (xmldomattribute)</span> </b> </td> <td valign="top" width="65%">Hozzáférés az attribútumokhoz (létrehozás, olvasás, írás) objektum. Név - attribútumnév, érték - annak értéke. Visszaadja az xmldomattribute objektum értékét.</td> </tr><tr><td valign="top" width="35%"><b>cserélje ki (Newchild, Oldchild) RemoveChild (Oldchild)</b> </td> <td valign="top" width="65%">A leányvállalatok jelenlegi listájának öregedő objektumának helyettesítése a NewChild-on. Az Oldchild objektum eltávolítása</td> </tr><tr><td valign="top" width="35%"><b>selectNodes SelectSingLende (PatternString)</b> </td> <td valign="top" width="65%">Visszaadja a keresési minta vagy az első csomópont által kiválasztott xmldomnodelista objektumot</td> </tr><tr><td valign="top" width="35%"><b>transzformnode (styesheet) <br>transzformnodetobject (stylesheet, outputobject)</b> </td> <td valign="top" width="65%">Olyan stílusú táblát rendelünk az aktuális csomópont támogatásához, és visszaadja a karakterláncot - a feldolgozás eredményét. A domdocument objektumra való hivatkozást paraméterként továbbítják, amelyben az XSL utasítások találhatók.</td> </tr></tbody></table><br><h2>XML-t használva az üzleti életben.</h2> <p>A világosabb képhez egy magyarázat szükséges, és miért szükséges mindez, hogy mit kell értenie, hogyan működik:</p> <p>Amikor az épület egy B2B vagy a vállalati ERP rendszer megszervezése során az információcsere az XML dokumentumok között a vállalkozások vagy ágai Prom-én, hatékonyan bevált információs rendszert alkalmazunk alapján rendelkezésre álló webszerverek HTTP protokollt.</p> <p>Egyrészt az alkalmazás ügyfélként működik, amely post módban http lekérdezést tesz lehetővé, másrészt a webszerver azon oldalán van, amelyen a kérés feldolgozása és a válasz. Az XML dokumentumokat kicserélik.</p> <p>Például egy egyszerű vállalati ERP rendszer a számviteli program (ACS számviteli), szükséges, hogy egy bizonyos kérelem számlát, és öntsük egy ágat, hogy van egy raktár (ACS raktár). A művészet a probléma egy B2B létrehozásakor hasonló megoldás, ha egy vállalkozás kéri a termékek elérhetőségét (megrendelést tesz a vásárlástól) a Szállító V.</p> <p>Vállalkozás A és Programja ügyfélként működik. A raktár szolgálja a szállítót, aki rendelkezik egy raktár BD komplexummal az SQL szerveren. Az Exchange vállalati webszerveren keresztül történik V.</p> <p>Az alábbiakban a következő tipikus csere algoritmus:</p> <br>3. ábra. <ol><li><b>Vállalat A.</b>kezdeményez <b>a. folyamat.</b>(Termékrendelés), amely webes kliensként működik.</li><li><b>A. folyamat.</b>xML-dokumentumot (például egy számlát) hoz létre, és posta HTTP lekérdezésként továbbítja egy webes beszállítói kiszolgálót V. URI-ként - feldolgozási alkalmazásazonosítót használ. Az URI lehet ugyanaz, mint minden típusú dokumentum vagy egyén minden típus esetében. Mindez a B2B (Web) kiszolgáló szerkezetétől függ.</li><li>A webszerver elemzi a kérést, és generálja a kiszolgálót <b>B. folyamat.</b>Az XML-dokumentum paraméterként történő átadásával. <br>A folyamat a szerver elindul és feldolgozott akár ASP oldal, CGI (ISAPI) - alkalmazását vagy java Sevrlet (szerver alkalmazás)</li><li><b>B. folyamat.</b>- Kérjen kérést az SQL adatbázis-kiszolgálóra.</li><li>Az SQL Server megkönnyíti a szükséges műveleteket az adatbázisban, a választ, és visszaadja. <b>B. folyamat.</b>.</li><li>Az SQL Server válaszában <b>B. folyamat.</b> XML-dokumentumot (válasz) létrehoz, és lehetővé teszi, hogy válaszoljon a HTTP kérésére az ügyfélalkalmazáshoz.</li><li>Továbbá az ügyféloldali helyzet függvényében, akár egy új HTTP lekérdezés, vagy a munkamenet vége.</li> </ol><h2>Néhány szó a dokumentumkezelés megszervezéséről.</h2> <p>Az XML Exchange rendszer általános fejlesztési szabálya:</p><ul><li><b>először</b>- az elektronikus dokumentumok áramkörének és struktúrájának áramkörének kialakítása;</li><li><b>másodszor</b>- A folyamatok funkciói (alprocesszelek) táblázatainak fejlesztése, azaz azaz Milyen funkcióval rendelkezik, amelyhez az XML dokumentum minden egyes folyamatot hajt végre.</li> </ul><p>Minden XML dokumentum, mint egy HTML dokumentum tartalmaz egy olyan üzenet fejléc (információk fogoly) és az üzenet szövegét (a lekérdezés az információkat keretezi tagging, hogy válaszoljon a kérésre). Annak érdekében, hogy az XML-dokumentum helyesen legyen kialakítva, a "fejléc" és a "kérés" két összetevőjéhez szükséges, például a keretes címkékhez. A standard dokumentum nézete alatt szerepel:</p> <p>A cím (4. ábra) a dokumentum HTML-jével ellentétben különböző típusú szolgáltatási információkat kell tartalmaznia, beleértve az átadott és feldolgozási folyamat típusát. A dokumentum információs feldolgozása érkezik, azaz Az értelmes rész a címkével keretes. Meg kell jegyezni, hogy a fejlécstruktúrát mindenféle dokumentum esetében egyesíteni kell.</p> <p>A kiszolgáló által futott folyamat esetében a feldolgozó algoritmus előnyösen (de nem szükséges) az alábbiak szerint:</p> <img src='https://i1.wp.com/codenet.ru/np-includes/upload/2005/01/05/128666.jpg' height="500" width="408" loading=lazy loading=lazy><br>6. ábra. <h2>Néhány fő pillanat, amikor egy ügyfélrész létrehozásakor</h2> <p>Amint azt már kifejtette, az XML-dokumentum létrehozásakor DOM modell formájában jeleníti meg ábrázolását. Az alábbi példa az XML üzenet fejléc programjának Delphi szövegének szövegére.</p> <b>eljárás.</b>TTHREAD1.HEADERCREATE (SENDER: TÁVOLSÁG); <b>var.</b> <span> // osztályok bejelentése szükséges a létrehozásához</span> CODOC: CodomDocument; <span> // xmldomdocument objektum</span> Doc: Domdocument; R: ixmldomelement; Csomópont: ixmldomelement; // domtext txt: ixmldomtext; // domattribute attr: ixmldomattribute; <b>kezdődik.</b> <span> // DOM dokumentum létrehozása</span> Doc: \u003d codoc.Create; Doc.set_async (FALSE); <span> // kezdeti kezdeményezés dom dokumentum</span> Doc.loadxml (" <Header/>"); <span> // Domeletement létrehozása (címke<<b>Feladó.</b>>) </span> Csomópont: \u003d doc.Createels ("Sender"); <span> // szövegcsomópont létrehozása " <b>LLC "Typhoon"</b>" </span> Txt: \u003d doc.CreateTextNode ("LLC" Typhoon "); <span> // csomópont hozzárendelése<<b>Feladó.</b>\u003e Érték</span> <span> // szövegcsomópont " <b>LLC "Typhoon"</b>" </span> Node.appendchild (txt); <span> // elem hozzáadása<<b>Feladó.</b>\u003e A dokumentum gyökerében leányvállalatként</span> R.appendchild (csomópont); <span> <<b>Tól től.</b>> </span> Csomópont: \u003d doc.createels ("from"); Txt: \u003d doc.creatextnode ("http://tayfun.ru/xml/default.asp"); Node.appendchild (txt); R.appendchild (csomópont); <span> // Hasonló tagok hasonló műveletei<<b>Nak nek.</b>> </span> Csomópont: \u003d doc.createels ("to"); Txt: \u003d doc.createTextNode ("http://irbis.ru"); Node.appendchild (txt); R.appendchild (csomópont); <span> // Domeletement létrehozása ()</span> Csomópont: \u003d doc.Createels ("tipadokumentum"); <span> // xmldomattribute csomópont létrehozása</span> ATT: \u003d doc.createatribute ("ID", "megrendelés"); <span> // <TypeDocument Id="Order"/> </span> Node.appendchild (ATT); R.appendchild (csomópont); <b>vége;</b> <p>Meg kell jegyezni, hogy a CODOC bejelentése: CodomDocument és Doc: Domdocument változó, valamint a létrehozási módszer létrehozása (doc: \u003d codoc.create;) egyszerre történik. A változó nyilatkozata a globális változók leírásának szakaszában van, és nem a helyi eljárásban, amint azt a példa láthatóságára mutatják (azaz egy globális változó a DOMDocument típusú programmodul).</p> <p>A fenti program eredménye a létrehozott fejléc, az XML dokumentum példájával kapcsolatban: az 5. ábrán látható.</p> <img src='https://i0.wp.com/codenet.ru/np-includes/upload/2005/01/05/128662.gif' height="116" width="298" loading=lazy loading=lazy><br>5. ábra. <p><img src='https://i0.wp.com/codenet.ru/np-includes/upload/2005/01/05/128664.gif' height="179" width="385" loading=lazy loading=lazy><br>6. ábra.</p><p>Az XML-dokumentumok formájában történő információ továbbításának fő előnye, hogy üzenetet kaphat az asztalok független szerkezetével a DBMS-ben, mind a beérkezett és a továbbított oldalon. Példánk alkalmazásával, legyen szükség ahhoz, hogy át kell adnia az A vállalat számlájáról, a 6. ábrán bemutatott szerkezet DBM-jétől</p> <p>A számlát tartalmazó XML-dokumentumot alkotva egy kezdetben épített SQL kérés (lekérdezés a) a számla információval kapcsolatban:</p> <b>Kiválaszt</b> * Invoice_general <b>Hol</b> Invoicenum \u003d: Num <b>Kiválaszt</b>Áruk, termelés, ár, hz_cod <b>Tól től.</b>Áruk <b>Hol</b> Invoicenum \u003d: Num <span> //: NUM - A számla számát meghatározó paraméter.</span> <p>Az alábbiakban része az XML-dokumentum testét alkotó programnak:</p> <b>eljárás.</b> Thread1.databodycreate (küldő: tobect); <b>var.</b> <span> // osztályok és xmldomdokumentum</span> // Codoc: CodomDocument; <span> // globálisnak kell lennie, az egész modulhoz.</span> // doc: domdocument; <span> // Dombement objektumok bejelentése</span> R: ixmldomelement; // dombement; Csomópont, Node2: Ixmldomelement; Node3, Node4: ixmldomelement; // domtext txt: ixmldomtext; Str: string; <span> // Számlaszám: <b>egész szám;</b> - Globális változó - // Masching 987654 // Querya, Queryb: <b>Húr;</b> - globális változó, // kérés kérése // Querya - kérés és általános információk a számláról // Queryb - lekérdezés b Információ a // számla (lásd a szöveget)</span> <b>kezdődik.</b> Query.Close; <span> // Lásd a "A kérés a" szöveget</span> Query.Text: \u003d Querya; <span> // kérés végrehajtása</span> Query.execsql; Query.open; <span> // kapja meg a root elem címét</span> R: \u003d doc.get_documentelement; Node2: \u003d doc.Createels ("kérés"); <span> // Domeletement létrehozása (címke)</span> Csomópont: \u003d doc.createels ("számla"); <span> // egy elem hozzáadása a gyökérhez</span> R.appendchild (csomópont2); <span> // elem hozzáadása</span> Csomópont2. Appendchild (csomópont); <span> // Domeletement létrehozása (címke)</span> Node3: \u003d doc.Createels ("Depurture"); <span> // elem hozzáadása</span> Csomópont. Appendchild (csomópont3); <span> // A "Depurture" mező felkérése</span> Str: \u003d Query.fieldbyname ("függő"). Asspring; <span> // szöveges csomópont létrehozása \u003d mező értéke</span><span> // csomópont hozzárendelési érték</span> <span> // szövegcsomópont, változó str</span> Node.appendchild (txt); <span> // Hasonló tagok hasonló műveletei <Destination>, <DataSend>, // <DataDepurture>, <Currency> // <DestinationCompany> (Field db "címzett")</span> Csomópont: \u003d doc.createels ("úticél"); <span> // Az adatbázis mező neve nem egyezik meg a névvel</span> Str: \u003d Query.fieldbyname ("címzett") .Assstring; <span> // taga, ebben az előnyben</span> Txt: \u003d doc.createTextnode (STR); <span> // DOM interfész az XML interfész támogatásával, // típusú Oracle 8i vagy SQL 2000</span> Node.appendchild (txt); ... <span> // az áruszállítási kérelem kialakítása</span> <span> // bezárja a hozzáférési kérelmet</span> Query.Close; <span> // Lásd a "kérés in" szövegét, info. A termékekről</span> Query.Text: \u003d Queryb; <span> // Paraméterértékek hozzárendelése</span> Query.params.aSinteger: \u003d invoicenumber; <span> // kérés végrehajtása</span> Query2.execsql; <span> // megnyitása az adatok kérésére</span> Query.open; <span> // Domeletement létrehozása (címke)</span> Node3: \u003d doc.Createels ("Imems"); <span> // elem hozzáadása</span> Csomópont. Appendchild (csomópont3); <span> // ciklus minden kérésen</span> <b>míg</b> <b>nem.</b> EoF.Query. <b>tegye.</b> Kezdje a csomópontot4: \u003d doc.createels ("Imem"); <span> // elem hozzáadása</span> Node3.appendchild (csomópont4); <span> // adatgyártás a címkéhez</span> Str: \u003d Query.fieldbyname ("Ár"). Asspring; Txt: \u003d doc.createTextnode (STR); Node.appendchild (txt); ... <span>// Hasonló műveletek a címkékhez <HZ_Cod>, <Quality>, <GoodName> </span> <b>vége;</b> <b>vége;</b> <p>Ennek az eljárásnak köszönhetően az XML-dokumentum következő szövege van kialakítva:</p> <table width="100%"><tbody><tr><td align="middle"><br><img src='https://i2.wp.com/codenet.ru/np-includes/upload/2005/01/05/128661.gif' width="100%" loading=lazy loading=lazy></td> </tr></tbody></table><p>A nyitott módszer a lekérdezés kialakítására szolgál. <b>Ixmlhttpequest</b>:</p> <b>eljárás.</b> Open (Const Bstrmethod - módszer tipus \u003d "POST" BSTRURL, - URL VARASYNC szerver címe, - aszinkron / szinkron kommunikációs mód \u003d True Bstruser, - Felhasználó számára BSTRPASSWORD hitelesítés) - Jelszó <h2>A dokumentumfeldolgozás szerverének létrehozása</h2> <p>Amint korábban megjegyeztük, a HTTP kérés feldolgozása CGI-alkalmazások vagy Java Servlets. Lehetséges lehetőségek az ASP oldalak írására. De ebben az esetben az adatátvitel csak a lekérdezési karakterlánc használatával lehetséges. Bár az ASP oldalkérelem HTTP feldolgozása hatékonyabban működik, mint a CGI alkalmazás. Véleményem szerint azonban különbség nélkül, hogyan kell feldolgozni, és ami még fontosabb, hogy megoldja a kérdést - hogyan lehet feldolgozási programot építeni, és nem, hogy milyen eszközökkel.</p> <p>Ha áttekintettük az előző fejezet XML-dokumentumképződési lehetőségeit, akkor a kiszolgáló alkalmazás feladata az XML-dokumentumok ellenkezője. Az alábbiakban része a programnak, amely elemzi az XML dokumentumot:</p> <b>eljárás.</b>Thread1.dataparser (feladó: tobect); <b>var.</b> <span>// Dombement objektumok bejelentése</span> R, fnode: ixmldomelement; Str, fájlnév: string; Parm: String; <span>// Soklass bejelentés és</span> CODOCXML, CHOCOCXSL, CODOCRESURT: CodomDocument; <span>// xmldomdocument objektum</span> Xmldoc, xsldoc, rendoc: domdocument; <span>// httpstr: string; - a HTTP lekérdezési karakterláncot tartalmazó globális változó</span> <b>Kezdődik.</b> Xmldoc: \u003d codocxml.Create; Xmldoc.loadxml (httpstr); <span> // kapja meg a root elem címét</span> R: \u003d doc.get_documentelement; <span> // az elem értékének megszerzése</span> Fnode: \u003d r.selectsinglenode ("// typedocument"); <span> // kap egy attribútum értékét \u003d "megrendelés"</span> Fájlnév: \u003d fnode.getattibute ("ID"); <span> // és a fájlnév sorrendje.xsl</span> Fájlnév: \u003d fájlnév + ". XSL"; <span> // dokumentum létrehozása xsldoc</span> Xsldoc: \u003d codocxsl.Create; Xsldoc.loadxml (fájlnév); <span> // xmldoc dokumentum létrehozása</span> Rendoc: \u003d codocresult.Create; <span> // A szinkron feldolgozási mód beállítása</span> Reserdoc.set_async (FALSE); <span> // debütáló csekk telepítése</span> Haterdoc.validateonEronparase: \u003d igaz; <span> // összeomlása xmldoc by xsl sablon</span> Xmldoc.transformnoc, retidoc (xsldoc, rendoc); <span> // A STR változó szövegértékhez van rendelve</span> <span> // kapott dokumentumot.</span> Str: \u003d retidoc.text; <span> // keresési elem</span> Fnode: \u003d r.selectsinglenode ("// invoicenumber"); <span> // és az elem értékének megszerzése</span> Parm: \u003d fnode.text; <span> // bezárja a hozzáférési kérelmet</span> Query.Close; Query.Text: \u003d str; <span> // a paraméter értékének hozzárendelése</span> QUERY.PARAMS.ASSTRING: \u003d parm; <span> // kérés végrehajtása</span> Query.execsql; <b>vége;</b> <p>Az elemzés teljes választéka az XSL-sablon alkalmazása, amely minden egyes dokumentumban egyedileg van kialakítva. Az elemzési eredmény az SQL lekérdezési karakterlánc. Ennek következtében a generált SQL lekérdezési karakterlánc végrehajtása meg fogja tenni a szükséges változtatásokat a DBMS-ben.</p> <p>Az előnye, hogy elemzési át a sablon is, hogy kiderül néhány adatot a rugalmasság és a teljes függetlenség a művelet az algoritmus a program kódot kapunk. Az alábbiakban az XSL sablon szövege a dokumentum típusának feldolgozásához használt.</p><p> <!-- файл Order.xsl --> <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="/"> <xsl:for-each select="//header"> Helyezzen be Tabregbe (a, Typedoc, Body) értékek (" <xsl:value-of select="from" />", "<xsl:value-of select="to" />", "<xsl:value-of select="TypeDocument/@id" />") </xsl:for-each> <xsl:for-each select="//item"> Helyezzen be árukba (invoicenum, név, ár, minőség) értékek (": Num", " <xsl:value-of select="name" />", "<xsl:value-of select="price" />", "<xsl:value-of select="quality" /> ") </xsl:for-each> </xsl:template> </xsl:stylesheet> </p><p>A fenti példát ismertetve meg kell jegyezni, hogy a címkék párjainak használata és formális, mert Az elemzés után legalább egy csomópont jelen kell lennie a kapott XML dokumentumban. A resultdoc.Text módszer közül a szöveget kapott érték elemzése során az XML dokumentum ResultDoc. Ebben az esetben az érték mindaz, amit a címkék párok keretesek, és azaz. SQL kérést alakítottunk ki.</p> <p>A program írásának másik jellemzőjét meg kell jegyezni az SQL paraméter használatának lehetőségét <b>: NUM.</b> A paraméter használata lehetővé teszi az XSL-sablon szövegének egyszerűsítését. Definíció Az XML dokumentumcsomópontok megfelelő elemeinek értékét meghatározzák a megfelelő csomópont nevének kiválasztásával, például:</p><h2>Röviden az XSL-ről</h2> <p>Az XSL rövidítés az extensible stylesheet nyelv - stílus asztali formázási nyelv (XML adat). Mivel a kiterjeszthető stíluslap nyelv (XSL) fejléc (XSL) az XML-adatok formázására szolgál. A W3C XSL meghatározásával két részből áll:</p> <ul><li>XSLT - XSL transzformáció. Az XML dokumentumok átalakítására vagy formázására használt nyelv. Így az XSLT használatával különböző szekciókat kaphatunk több adat és adatremenet formanyomtatványok.</li><li>Formázási elemek. Ezek az elemek tartalmazzák a tipográfiai adatok minden elemét, miután feldolgozták az XSL-t. Csak HTML oldalak formájában használható.</li> </ul><p>Az XSLT használatával kiválaszthatjuk az adatokat a szükséges XML fájlból, és gondoskodhatunk az űrlapon, hogy biztosítsák a felhasználót. Például a mi esetünkben az XML-adatokat SQL lekérdezésként átalakítottuk. A klasszikus XSL alkalmazás általában formázza az adatokat HTML oldalakként vagy ritka ábrázolásként RTF fájlok formájában.</p> <p>Az XSL fájl leírja a sablont (sablon), amely szerint az XML adatátalakítás végrehajtásra kerül. Visszatérve az XSL sablonokra, az XSLT (irányelvekben) a következő elemeket lehet osztani:</p> <table cellspacing="0" cellpadding="4" width="500" border="1"><tbody><tr><td valign="top" width="31%"> <b>XSL irányelv</b> </td><th align="middle" width="69%"> <b>leírás</b> </th> </tr><tr><td>xSL: Alkalmazás-sablonok</td> <td>Irányelv, amely jelzi a megfelelő sablonok attribútumának alkalmazását, válassza a \u003d "Sablon nevét"</td> </tr><tr><td>xSL: attribútum.</td> <td>létrehozza az attribútumfát, és hozzáadja a kimeneti elemhez, a név \u003d "attribútum neve" paraméter, névtér - URI a névtéren (névtér előtag)</td> </tr><tr><td>xSL: Call-sablon</td> <td>sablont okoz, attribútumnév \u003d "URI a sablonon"</td> </tr><tr><td>xSL: Válasszon. <br>xSL: Mikor. <br>xSL: Ellenkező esetben.</td> <td>kiválasztás az XSL állapot szerint: ha az expr \u003d "kiszámítása a forgatókönyvben", <br>nyelv \u003d "Nyelv neve" <br>teszt \u003d "kiszámított kifejezés"</td> </tr><tr><td>xSL: Hozzászólás</td> <td>hozzászólást generál a kimeneti dokumentumban</td> </tr><tr><td>xSL: Másolás. <br>xSL: Másolás</td> <td>másolja az aktuális csomópontot a kimeneti forrásban, vagy behelyezi a dokumentumfragmenst a csomóponthoz, ahol a SECORE \u003d "A SOURCE NODE" attribútum kiválasztása</td> </tr><tr><td>xSL: Elem.</td> <td>kimeneti elemet hoz létre név szerint, attribútumnév \u003d "Element Name", Namespace \u003d "URI hivatkozás a névtérre"</td> </tr><tr><td>xSL: Minden egyes</td> <td>adja újra a sablont az összes csomópontok listájához, válassza az Attribútum lehetőséget a csomópontok listáját.</td> </tr><tr><td>xSL: Ha.</td> <td>a feltételek ellenőrzése a teszt attribútum, mint kifejezés</td> </tr><tr><td>xsl: tartalmazza</td> <td>tartalmaz egy külső sablont, attribútum href \u003d "URI referencia"</td> </tr><tr><td>xSL: kimenet</td> <td>megadja a kimeneti eredményt, a módszer attribútuma lehet "XML", "HTML" vagy "szöveg"</td> </tr><tr><td>xSL: Param</td> <td>megadja a paraméter értékét, a név \u003d "paraméter neve" attribútum, válassza a \u003d "Érték"</td> </tr><tr><td>xSL: Feldolgozási oktatás</td> <td>létrehoz feldolgozására vonatkozó utasítások, attribútum Name \u003d „Név Process utasítás”</td> </tr><tr><td>xSL: Rendezés.</td> <td>sok csomópont, attribútumok kiválasztása \u003d "csomópontnév", adat-típus \u003d Adat típus ("szöveg" | "" "" Qname), megrendelés \u003d rendezési irány ("csökkenő" |</td> </tr><tr><td>xSL: Stíluslap.</td> <td>meghatározza az XSL sablon dokumentumot, az XSLT gyökér eleme</td> </tr><tr><td>xSL: Sablon.</td> <td>meghatározza az XSL-sablon, a Name \u003d „URI előtag attribútum a sablon neve” match \u003d „Megjegyzés a csomópontot, amellyel a sablon vonatkozik”</td> </tr><tr><td>xSL: Szöveg.</td> <td>szöveget generál a kimeneti áramláshoz, a letiltás-kimenet-menekülés \u003d "Igen" vagy "NO" attribútum jelzi az ESC karakterek létrehozásának képességét</td> </tr><tr><td>xSL: Érték</td> <td>beilleszti a kiválasztott csomópont értékét szövegként, a kiválasztott \u003d "mutató a csomóponthoz" attribútum, amelyből az érték</td> </tr><tr><td>xSL: változó</td> <td>megadja a változó határok értékét, a név attribútum \u003d "változó neve", válassza a \u003d "kiszámítja a változó értékét"</td> </tr><tr><td>xSL: A-param</td> <td>a paramétert a sablonhoz alkalmazza, a név attribútum \u003d "Paraméter neve", válassza ki \u003d Expression az aktuális kontextus kiszámításához, az alapértelmezett érték "."</td> </tr></tbody></table><h2>Következtetés</h2> <p>Következésképpen meg kell jegyezni, hogy az XML-parser szabvány használata <i>msxml.dll.</i>ez nem az egyetlen eszköz az elemzés és az XML dokumentumok létrehozásának módja. Például az XML-dokumentumok létrehozásához az összetevők hatékony használatához <b>TPageProduser.</b>és <b>TTableProduser.</b>. De ez a cikk csak hangsúlyozza a DOM modell alkalmazásának szélességét és lehetőségeit a gyakorlatban.</p> <p>A szerző nagyon hálás lesz a visszajelzésekért a téma relevanciájáról, a teljes tartalom, a bemutató stílusának, valamint az összes többi megjegyzésnek, amely segít továbbá javítani a cikkek gyűjteményének és a borítóinak felszabadításának minőségének javítását az XML-dokumentumok felhasználásának gyakorlati oldalának tárgya az e-kereskedelemben. Az elektronikus dokumentumok alkalmazásának gyakorlati oldaláról további információkért tanulhat a www.edocs.al.ru webhelyen a szerző honlapján, azt is tervezik, hogy forrásszövegeket és példákat helyezzen el.</p> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast_after?t44.1;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+ ";"+Math.random()+ "border='0' width='1' height='1' loading=lazy loading=lazy>");</script> <div style="font-size:0px;height:0px;line-height:0px;margin:0;padding:0;clear:both"></div> </div> <footer> <div class="td-block-row td-post-next-prev"> <div class="td-block-span6 td-post-prev-post"> <div class="td-post-next-prev-content"><span>Előző cikk</span><a href="https://obanracer.ru/hu/kak-uvelichit-gromkost-na-soni-iksperiya-z-kak-uvelichit.html">Hogyan lehet növelni a hangszóró hangerejét az Androidon?</a></div> </div> <!-- /next_post --> <div class="td-next-prev-separator"></div> <div class="td-block-span6 td-post-next-post"> <div class="td-post-next-prev-content"><span>Következő cikk</span><a href="https://obanracer.ru/hu/ustanovka-storonnih-prilozhenii-na-windows-phone-8-1-kak-ustanovit-igry-i.html">Harmadik féltől származó alkalmazások telepítése Windows telefonon 8</a></div> <!-- /next_post --> </div> </div> <div class="td-author-name vcard author" style="display: none"><span class="fn"><a href="https://obanracer.ru/hu/author/iulia">Julia</a></span></div> <span style="display: none;" itemprop="author" itemscope itemtype="https://schema.org/Person"><meta itemprop="name" content="Юлия"></span> <meta itemprop="datePublished" content="2016-05-16T15:47:37+00:00"> <meta itemprop="dateModified" content="2016-10-25T16:54:41+00:00"> <meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="/other/kak-zavyazat-galstuk-foto-poshagovo.html" /><span style="display: none;" itemprop="publisher" itemscope itemtype="https://schema.org/Organization"><span style="display: none;" itemprop="logo" itemscope itemtype="https://schema.org/ImageObject"><meta itemprop="url" content="//obanracer.ru/wp-content/uploads/2017/01/logo-300x100.png"></span> <meta itemprop="name" content="Мой секрет"> </span> <meta itemprop="headline " content="Как завязать галстук пошагово фото"><span style="display: none;" itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><meta itemprop="url" content="/wp-content/uploads/2016/05/1-19.jpg"><meta itemprop="width" content="640"><meta itemprop="height" content="450"></span> </footer> </article> <div class="td_block_wrap td_block_related_posts td_uid_3_5a236fb03c961_rand td_with_ajax_pagination td-pb-border-top td_block_template_1" data-td-block-uid="td_uid_3_5a236fb03c961" ><script>var block_td_uid_3_5a236fb03c961 = new tdBlock(); block_td_uid_3_5a236fb03c961.id = "td_uid_3_5a236fb03c961"; block_td_uid_3_5a236fb03c961.atts = '{ "limit":9,"sort":"","post_ids":"","tag_slug":"","autors_id":"","installed_post_types":"","category_id":"","category_ids":"","custom_title":"","custom_url":"","show_child_cat":"","sub_cat_ajax":"","ajax_pagination":"next_prev","header_color":"","header_text_color":"","ajax_pagination_infinite_stop":"","td_column_number":3,"td_ajax_preloading":"","td_ajax_filter_type":"td_custom_related","td_ajax_filter_ids":"","td_filter_default_txt":"\u0412\u0441\u0435","color_preset":"","border_top":"","class":"td_uid_3_5a236fb03c961_rand","el_class":"","offset":"","css":"","tdc_css":"","tdc_css_class":"td_uid_3_5a236fb03c961_rand","live_filter":"cur_post_same_categories","live_filter_cur_post_id":10046,"live_filter_cur_post_author":"694350","block_template_id":""} '; block_td_uid_3_5a236fb03c961.td_column_number = "3"; block_td_uid_3_5a236fb03c961.block_type = "td_block_related_posts"; block_td_uid_3_5a236fb03c961.post_count = "9"; block_td_uid_3_5a236fb03c961.found_posts = "26"; block_td_uid_3_5a236fb03c961.header_color = ""; block_td_uid_3_5a236fb03c961.ajax_pagination_infinite_stop = ""; block_td_uid_3_5a236fb03c961.max_num_pages = "3"; tdBlocksArray.push(block_td_uid_3_5a236fb03c961); </script><h4 class="td-related-title td-block-title"><a id="td_uid_4_5a236fb03e35d" class="td-related-left td-cur-simple-item" data-td_filter_value="" data-td_block_id="td_uid_3_5a236fb03c961" href="#">Hasonló cikkek</a></h4><div id=td_uid_3_5a236fb03c961 class="td_block_inner"> <div class="td-related-row"> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/chto-takoe-centr-soobshchenii-tele2-nomer-sms-centra-tele2-opredelenie.html" rel="bookmark" title="Mi a telefonos üzenetközpont2"><img width="218" height="150" class="entry-thumb" src="/uploads/1747c946b6509bd87818f51ab456fb4d.jpg" alt="Mi a telefonos üzenetközpont2" title="Mi a telefonos üzenetközpont2"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/hu/category/ram/" class="td-post-category">Ram</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/chto-takoe-centr-soobshchenii-tele2-nomer-sms-centra-tele2-opredelenie.html" rel="bookmark" title="Mi a telefonos üzenetközpont2">Mi a telefonos üzenetközpont2</a></h3> </div> </div> </div> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/kak-udalit-v-telefone-kontakty-alcatel-mozhno-li-vostanovit-propavshie.html" rel="bookmark" title="Lehetőség van az alcatel és hasonló android eszközök hiányzó vagy távoli érintkezők visszaállítására"><img width="218" height="150" class="entry-thumb" src="/uploads/e8118dcb48d187503731a0e56c203e8b.jpg" alt="Lehetőség van az alcatel és hasonló android eszközök hiányzó vagy távoli érintkezők visszaállítására" title="Lehetőség van az alcatel és hasonló android eszközök hiányzó vagy távoli érintkezők visszaállítására"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/hu/category/security/" class="td-post-category">Biztonság</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/kak-udalit-v-telefone-kontakty-alcatel-mozhno-li-vostanovit-propavshie.html" rel="bookmark" title="Lehetőség van az alcatel és hasonló android eszközök hiányzó vagy távoli érintkezők visszaállítására">Lehetőség van az alcatel és hasonló android eszközök hiányzó vagy távoli érintkezők visszaállítására</a></h3> </div> </div> </div> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/sony-xperia-z5-oficialnaya-proshivka-process-sozdaniya-proshivki-s.html" rel="bookmark" title="A firmware létrehozásának folyamata a FlashTool használatával"><img width="218" height="150" class="entry-thumb" src="/uploads/4c237cb6039b9c073c45ffd6f783dee3.jpg" alt="A firmware létrehozásának folyamata a FlashTool használatával" title="A firmware létrehozásának folyamata a FlashTool használatával"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/hu/category/motherboard/" class="td-post-category">alaplapok</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/sony-xperia-z5-oficialnaya-proshivka-process-sozdaniya-proshivki-s.html" rel="bookmark" title="A firmware létrehozásának folyamata a FlashTool használatával">A firmware létrehozásának folyamata a FlashTool használatával</a></h3> </div> </div> </div> </div> <div class="td-related-row"> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/mobilnyi-telefon-sony-xperia-e4-dual-obzor-obzor-sony-xperia-e4-dostupnaya-model-v.html" rel="bookmark" title="Sony Xperia E4 Review: Elérhető modell az új designban"><img width="218" height="150" class="entry-thumb" src="/uploads/471d2c1c970a09f24477aec9c5ccb420.jpg" alt="Sony Xperia E4 Review: Elérhető modell az új designban" title="Sony Xperia E4 Review: Elérhető modell az új designban"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/hu/category/windows-8/" class="td-post-category">Windows 8.</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/mobilnyi-telefon-sony-xperia-e4-dual-obzor-obzor-sony-xperia-e4-dostupnaya-model-v.html" rel="bookmark" title="Sony Xperia E4 Review: Elérhető modell az új designban">Sony Xperia E4 Review: Elérhető modell az új designban</a></h3> </div> </div> </div> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/proshivka-zte-v815w-proshivka-telefona-smartfona-i-plansheta-zte-kakie.html" rel="bookmark" title="Telefon firmware, okostelefon és ZTE tabletta, amely összetevőre van szükség a ZTE V815W firmware számára"><img width="218" height="150" class="entry-thumb" src="/uploads/05361326af4ec1adcf167448b07abc2d.jpg" alt="Telefon firmware, okostelefon és ZTE tabletta, amely összetevőre van szükség a ZTE V815W firmware számára" title="Telefon firmware, okostelefon és ZTE tabletta, amely összetevőre van szükség a ZTE V815W firmware számára"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/hu/category/security/" class="td-post-category">Biztonság</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/proshivka-zte-v815w-proshivka-telefona-smartfona-i-plansheta-zte-kakie.html" rel="bookmark" title="Telefon firmware, okostelefon és ZTE tabletta, amely összetevőre van szükség a ZTE V815W firmware számára">Telefon firmware, okostelefon és ZTE tabletta, amely összetevőre van szükség a ZTE V815W firmware számára</a></h3> </div> </div> </div> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/ne-vklyuchaetsya-telefon-lenovo-telefon-lenovo-ne-vklyuchaetsya-lenovo-vaib.html" rel="bookmark" title="A Lenovo telefon nem kapcsolja be a Lenovo Waib lövés nem kapcsolja be, mit tegyen"><img width="218" height="150" class="entry-thumb" src="/uploads/97624fc3e2ace641c6d79beb06ab72a4.jpg" alt="A Lenovo telefon nem kapcsolja be a Lenovo Waib lövés nem kapcsolja be, mit tegyen" title="A Lenovo telefon nem kapcsolja be a Lenovo Waib lövés nem kapcsolja be, mit tegyen"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/hu/category/windows-8/" class="td-post-category">Windows 8.</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/ne-vklyuchaetsya-telefon-lenovo-telefon-lenovo-ne-vklyuchaetsya-lenovo-vaib.html" rel="bookmark" title="A Lenovo telefon nem kapcsolja be a Lenovo Waib lövés nem kapcsolja be, mit tegyen">A Lenovo telefon nem kapcsolja be a Lenovo Waib lövés nem kapcsolja be, mit tegyen</a></h3> </div> </div> </div> </div> <div class="td-related-row"> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/mts-smart-race-4g-proshivka-flash-tool.html" rel="bookmark" title="MTS Smart Race 4G firmware flash eszköz"><img width="218" height="150" class="entry-thumb" src="/uploads/ea0270e698783f7dec2507520972c126.jpg" alt="MTS Smart Race 4G firmware flash eszköz" title="MTS Smart Race 4G firmware flash eszköz"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/hu/category/more/" class="td-post-category">Egyéb</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/mts-smart-race-4g-proshivka-flash-tool.html" rel="bookmark" title="MTS Smart Race 4G firmware flash eszköz">MTS Smart Race 4G firmware flash eszköz</a></h3> </div> </div> </div> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/kak-podklyuchit-funkciyu-vam-zvonili-na-mts-kak-otklyuchit-na-mts.html" rel="bookmark" title="Hogyan lehet kikapcsolni az MTS-t "Önnek": Deaktiválási szolgáltatások módszerei"><img width="218" height="150" class="entry-thumb" src="/uploads/762beb63931641b9447193f2cec3956c.jpg" alt="Hogyan lehet kikapcsolni az MTS-t "Önnek": Deaktiválási szolgáltatások módszerei" title="Hogyan lehet kikapcsolni az MTS-t "Önnek": Deaktiválási szolgáltatások módszerei"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/hu/category/internet/" class="td-post-category">az internet</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/kak-podklyuchit-funkciyu-vam-zvonili-na-mts-kak-otklyuchit-na-mts.html" rel="bookmark" title="Hogyan lehet kikapcsolni az MTS-t "Önnek": Deaktiválási szolgáltatások módszerei">Hogyan lehet kikapcsolni az MTS-t "Önnek": Deaktiválási szolgáltatások módszerei</a></h3> </div> </div> </div> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/media-server-silno-zagruzhaet-cp-kak-udalit-virusy-i-troyany-so-smartfona.html" rel="bookmark" title="Hogyan lehet eltávolítani a vírusokat és trójaiakat az Android okostelefonról"><img width="218" height="150" class="entry-thumb" src="/uploads/cfe998e66fbc36da83b50ee5fc526461.jpg" alt="Hogyan lehet eltávolítani a vírusokat és trójaiakat az Android okostelefonról" title="Hogyan lehet eltávolítani a vírusokat és trójaiakat az Android okostelefonról"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/hu/category/motherboard/" class="td-post-category">alaplapok</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/media-server-silno-zagruzhaet-cp-kak-udalit-virusy-i-troyany-so-smartfona.html" rel="bookmark" title="Hogyan lehet eltávolítani a vírusokat és trójaiakat az Android okostelefonról">Hogyan lehet eltávolítani a vírusokat és trójaiakat az Android okostelefonról</a></h3> </div> </div> </div> </div></div></div> </div> </div> <div class="td-pb-span4 td-main-sidebar"> <div class="td-ss-main-sidebar"> <aside class="widget �lambda_169101"> <div style="margin:10px 0"> </div> </aside> <div class="td_block_wrap td_block_1 td_block_widget td_uid_2_5a23c04f0cdc0_rand td-pb-border-top td_block_template_1 td-column-1" data-td-block-uid="td_uid_2_5a23c04f0cdc0"> <div class="td-block-title-wrap"> <h4 class="block-title"><span class="td-pulldown-size">Ajánlott</span></h4> </div> <div id=td_uid_2_5a23c04f0cdc0 class="td_block_inner"> <div class="td-block-span12"> <div class="td_module_4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/telefone-udalilis-vse-kontakty-kak-vosstanovit-kontakty-na-androide.html" rel="bookmark" title="Az "Android kapcsolatok visszaállítása""><img width="324" height="235" class="entry-thumb" src="/uploads/c7abe835559cc782ded4103483ee6635.jpg" alt="Az "Android kapcsolatok visszaállítása"" title="Az "Android kapcsolatok visszaállítása""/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/hu/category/internet/" class="td-post-category">az internet</a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/telefone-udalilis-vse-kontakty-kak-vosstanovit-kontakty-na-androide.html" rel="bookmark" title="Az "Android kapcsolatok visszaállítása"">Az "Android kapcsolatok visszaállítása"</a></h3> <div class="td-module-meta-info"> </div> <div class="td-excerpt"> A modern Android-alapú okostelefonok olyan kiterjedt funkcionalitással rendelkeznek, hogy biztonságosan hívhatók mini számítógépekhez. Azonban kiemelkedőek ...</div> </div> <!-- /next_post --> </div> <div> <div class="td-block-span12"> <div class="td_module_6 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/zemlya-lishnih-ishod-vse-knigi-andreya-kruza-po-seriyam-po-poryadku.html" rel="bookmark" title="Föld extra. Kivonulás. Az Andrei Cruz könyvek sorozata sorrendben, az Andrei Land of People Teljesen"><img width="100" height="70" class="entry-thumb" src="/uploads/6aa144645934933652323340d8d196ab.jpg" alt="Föld extra. Kivonulás. Az Andrei Cruz könyvek sorozata sorrendben, az Andrei Land of People Teljesen" title="Föld extra. Kivonulás. Az Andrei Cruz könyvek sorozata sorrendben, az Andrei Land of People Teljesen"/ loading=lazy loading=lazy></a></div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/zemlya-lishnih-ishod-vse-knigi-andreya-kruza-po-seriyam-po-poryadku.html" rel="bookmark" title="Föld extra. Kivonulás. Az Andrei Cruz könyvek sorozata sorrendben, az Andrei Land of People Teljesen">Föld extra. Kivonulás. Az Andrei Cruz könyvek sorozata sorrendben, az Andrei Land of People Teljesen</a></h3> <div class="td-module-meta-info"> <a href="https://obanracer.ru/hu/category/ram/" class="td-post-category">Ram</a> </div> </div> </div> </div> <div class="td-block-span12"> <div class="td_module_6 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/poluchenie-root-na-planshete-lenovo-polucheniya-root-prav-na-androide.html" rel="bookmark" title="Az Android root jogai!"><img width="100" height="70" class="entry-thumb" src="/uploads/706563fbb1c198508fff7bbb7b8e5e75.jpg" alt="Az Android root jogai!" title="Az Android root jogai!"/ loading=lazy loading=lazy></a></div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/poluchenie-root-na-planshete-lenovo-polucheniya-root-prav-na-androide.html" rel="bookmark" title="Az Android root jogai!">Az Android root jogai!</a></h3> <div class="td-module-meta-info"> <a href="https://obanracer.ru/hu/category/monitors/" class="td-post-category">Monitorok</a> </div> </div> </div> </div> <div class="td-block-span12"> <div class="td_module_6 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/kak-polozhit-dengi-na-drugoi-nomer-mts-popolnenie-scheta.html" rel="bookmark" title="Töltse fel a fiókot egy másik MTS előfizetőhöz"><img width="100" height="70" class="entry-thumb" src="/uploads/581faf176b79538a211d6d31f7f52070.jpg" alt="Töltse fel a fiókot egy másik MTS előfizetőhöz" title="Töltse fel a fiókot egy másik MTS előfizetőhöz"/ loading=lazy loading=lazy></a></div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/kak-polozhit-dengi-na-drugoi-nomer-mts-popolnenie-scheta.html" rel="bookmark" title="Töltse fel a fiókot egy másik MTS előfizetőhöz">Töltse fel a fiókot egy másik MTS előfizetőhöz</a></h3> <div class="td-module-meta-info"> <a href="https://obanracer.ru/hu/category/windows-7/" class="td-post-category">Windows 7.</a> </div> </div> </div> </div> <div class="td-block-span12"> <div class="td_module_6 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/poshagovaya-proshivka-htc-desire-516-dual-sim-ustanovka-kastoma-lolifox.html" rel="bookmark" title="A kastély lolifox beállítása."><img width="100" height="70" class="entry-thumb" src="/uploads/65b93b647e2bbc7d9c11e56bd7b47aac.jpg" alt="A kastély lolifox beállítása." title="A kastély lolifox beállítása."/ loading=lazy loading=lazy></a></div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/poshagovaya-proshivka-htc-desire-516-dual-sim-ustanovka-kastoma-lolifox.html" rel="bookmark" title="A kastély lolifox beállítása.">A kastély lolifox beállítása.</a></h3> <div class="td-module-meta-info"> <a href="https://obanracer.ru/hu/category/monitors/" class="td-post-category">Monitorok</a> </div> </div> </div> </div> <div class="td-block-span12"> <div class="td_module_6 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/telephone-p7000-reflex-v-9-proshivka-akkumulyator-i-vremya-raboty.html" rel="bookmark" title="Akkumulátor és munkaidő"><img width="100" height="70" class="entry-thumb" src="/uploads/d8a7403bab1d80235631eedc78d5d902.jpg" alt="Akkumulátor és munkaidő" title="Akkumulátor és munkaidő"/ loading=lazy loading=lazy></a></div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/telephone-p7000-reflex-v-9-proshivka-akkumulyator-i-vremya-raboty.html" rel="bookmark" title="Akkumulátor és munkaidő">Akkumulátor és munkaidő</a></h3> <div class="td-module-meta-info"> <a href="https://obanracer.ru/hu/category/case/" class="td-post-category">Hadtest</a> </div> </div> </div> </div> <div class="td-block-span12"> <div class="td_module_6 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/proshivka-4-1-dlya-huawei-p9-lite-proshivka-huawei-p9-standart-video-po-proshivke-huawei-p9-lite-dual.html" rel="bookmark" title="Firmware 4.1 a Huawei P9 Lite számára. Firmware Huawei P9 standart. Videó a firmware Huawei P9 Lite Dual Sim"><img width="100" height="70" class="entry-thumb" src="/uploads/ba8ca150de1ddbd69b75cbb228547733.jpg" alt="Firmware 4.1 a Huawei P9 Lite számára. Firmware Huawei P9 standart. Videó a firmware Huawei P9 Lite Dual Sim" title="Firmware 4.1 a Huawei P9 Lite számára. Firmware Huawei P9 standart. Videó a firmware Huawei P9 Lite Dual Sim"/ loading=lazy loading=lazy></a></div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/proshivka-4-1-dlya-huawei-p9-lite-proshivka-huawei-p9-standart-video-po-proshivke-huawei-p9-lite-dual.html" rel="bookmark" title="Firmware 4.1 a Huawei P9 Lite számára. Firmware Huawei P9 standart. Videó a firmware Huawei P9 Lite Dual Sim">Firmware 4.1 a Huawei P9 Lite számára. Firmware Huawei P9 standart. Videó a firmware Huawei P9 Lite Dual Sim</a></h3> <div class="td-module-meta-info"> <a href="https://obanracer.ru/hu/category/the-winchesters/" class="td-post-category">Winchester</a> </div> </div> </div> </div> </div> </div> </div> <aside class="widget_text td_block_template_1 widget widget_custom_html"> <div class="textwidget custom-html-widget"> </div> </aside> </div> </div> </div> </div> </div> <div class="td-footer-wrapper td-container-wrap "> <div class="td-container"> <div class="td-pb-row"> <div class="td-pb-span12"> </div> </div> <div class="td-pb-row"> <div class="td-pb-span4"> <div class="td_block_wrap td_block_15 td_block_widget td_uid_11_5a23980e76adb_rand td-pb-border-top td_block_template_1 td-column-1 td_block_padding" data-td-block-uid="td_uid_11_5a23980e76adb" > <div class="td-block-title-wrap"></div><div id=td_uid_11_5a23980e76adb class="td_block_inner td-column-1"><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/nuzhno-li-delat-defragmentaciyu-karty-pamyati-telefona-chto-takoe.html" rel="bookmark" title="Mi a mobileszközök töredezettsége?"><img width="218" height="150" class="entry-thumb" src="/uploads/37490583dfec5404b42cab352a86f04b.jpg" alt="Mi a mobileszközök töredezettsége?" title="Mi a mobileszközök töredezettsége?"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/nuzhno-li-delat-defragmentaciyu-karty-pamyati-telefona-chto-takoe.html" rel="bookmark" title="Mi a mobileszközök töredezettsége?">Mi a mobileszközök töredezettsége?</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/kak-rasshirit-pamyat-telefona-soni-iksperiya-2305-kak-peremestit.html" rel="bookmark" title="Hogyan mozgassa az alkalmazást a memóriakártyára a telefonon Sony Xperia L C2105?"><img width="218" height="150" class="entry-thumb" src="/uploads/19435234626c66007ab9f0cae6dcfd55.jpg" alt="Hogyan mozgassa az alkalmazást a memóriakártyára a telefonon Sony Xperia L C2105?" title="Hogyan mozgassa az alkalmazást a memóriakártyára a telefonon Sony Xperia L C2105?"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/kak-rasshirit-pamyat-telefona-soni-iksperiya-2305-kak-peremestit.html" rel="bookmark" title="Hogyan mozgassa az alkalmazást a memóriakártyára a telefonon Sony Xperia L C2105?">Hogyan mozgassa az alkalmazást a memóriakártyára a telefonon Sony Xperia L C2105?</a></h3> </div> </div> </div><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/ustanovka-imei-cherez-inzhenernoe-menyu-kak-vosstanovit-imei-na-android.html" rel="bookmark" title="Hogyan lehet visszaállítani az IMEI-t az Androidon a firmware után"><img width="218" height="150" class="entry-thumb" src="/uploads/38b2784a0011125b962ac058bf994ca2.jpg" alt="Hogyan lehet visszaállítani az IMEI-t az Androidon a firmware után" title="Hogyan lehet visszaállítani az IMEI-t az Androidon a firmware után"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/ustanovka-imei-cherez-inzhenernoe-menyu-kak-vosstanovit-imei-na-android.html" rel="bookmark" title="Hogyan lehet visszaállítani az IMEI-t az Androidon a firmware után">Hogyan lehet visszaállítani az IMEI-t az Androidon a firmware után</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/nvidia-tegra-note-7-proshivka.html" rel="bookmark" title="Nvidia Tegra 7. megjegyzés 7 firmware"><img width="218" height="150" class="entry-thumb" src="/uploads/925612ece660fd753b516d911f3fdc4b.jpg" alt="Nvidia Tegra 7. megjegyzés 7 firmware" title="Nvidia Tegra 7. megjegyzés 7 firmware"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/nvidia-tegra-note-7-proshivka.html" rel="bookmark" title="Nvidia Tegra 7. megjegyzés 7 firmware">Nvidia Tegra 7. megjegyzés 7 firmware</a></h3> </div> </div> </div><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/programma-dlya-rusifikacii-telefona-samsung-kak-ustanovit.html" rel="bookmark" title="Hogyan kell telepíteni az orosz nyelvet az Android-on?"><img width="218" height="150" class="entry-thumb" src="/uploads/96486853648f2c7b39f6506956a57dbb.jpg" alt="Hogyan kell telepíteni az orosz nyelvet az Android-on?" title="Hogyan kell telepíteni az orosz nyelvet az Android-on?"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/programma-dlya-rusifikacii-telefona-samsung-kak-ustanovit.html" rel="bookmark" title="Hogyan kell telepíteni az orosz nyelvet az Android-on?">Hogyan kell telepíteni az orosz nyelvet az Android-on?</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/prilozhenie-obnovlenie-ota-chto-takoe-ota-obnovleniya-i-dlya-chego-oni.html" rel="bookmark" title="Mi az OTA frissítések és mire van szükségük?"><img width="218" height="150" class="entry-thumb" src="/uploads/10e03eaf7d9afe53e38c32e76c41d9f8.jpg" alt="Mi az OTA frissítések és mire van szükségük?" title="Mi az OTA frissítések és mire van szükségük?"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/prilozhenie-obnovlenie-ota-chto-takoe-ota-obnovleniya-i-dlya-chego-oni.html" rel="bookmark" title="Mi az OTA frissítések és mire van szükségük?">Mi az OTA frissítések és mire van szükségük?</a></h3> </div> </div> </div></div></div> <div class="clearfix"></div> </div> <div class="td-pb-span4"> <div class="td_block_wrap td_block_15 td_block_widget td_uid_12_5a23980e79990_rand td-pb-border-top td_block_template_1 td-column-1 td_block_padding" data-td-block-uid="td_uid_12_5a23980e79990" > <div class="td-block-title-wrap"></div><div id=td_uid_12_5a23980e79990 class="td_block_inner td-column-1"><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/proshivka-plansheta-supra-m722-proshivka-plansheta-supra-pereproshivka-plansheta-supra.html" rel="bookmark" title="Supra tabletta firmware supra tabletta"><img width="218" height="150" class="entry-thumb" src="/uploads/77b79142d71aec53cdeca6becfd0410e.jpg" alt="Supra tabletta firmware supra tabletta" title="Supra tabletta firmware supra tabletta"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/proshivka-plansheta-supra-m722-proshivka-plansheta-supra-pereproshivka-plansheta-supra.html" rel="bookmark" title="Supra tabletta firmware supra tabletta">Supra tabletta firmware supra tabletta</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/gde-naiti-nck-kod-besplatnaya-razblokirovka-modemov-huawei-skachivaem.html" rel="bookmark" title="Ingyenes felszabadító modemek Huawei"><img width="218" height="150" class="entry-thumb" src="/uploads/01b8b0df812fa40ff7b4b184c013459e.jpg" alt="Ingyenes felszabadító modemek Huawei" title="Ingyenes felszabadító modemek Huawei"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/gde-naiti-nck-kod-besplatnaya-razblokirovka-modemov-huawei-skachivaem.html" rel="bookmark" title="Ingyenes felszabadító modemek Huawei">Ingyenes felszabadító modemek Huawei</a></h3> </div> </div> </div><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/uvelichenie-gromkosti-telefona-na-androide-kak-nastroit.html" rel="bookmark" title="A hangerő konfigurálása az Androidon: Minden mód"><img width="218" height="150" class="entry-thumb" src="/uploads/217ceabb1a6bfc3f3f35a8a1f0dcfcf0.jpg" alt="A hangerő konfigurálása az Androidon: Minden mód" title="A hangerő konfigurálása az Androidon: Minden mód"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/uvelichenie-gromkosti-telefona-na-androide-kak-nastroit.html" rel="bookmark" title="A hangerő konfigurálása az Androidon: Minden mód">A hangerő konfigurálása az Androidon: Minden mód</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/oneclick-chto-eto-za-programma-i-kak-ee-ubrat-kak-proizvesti.html" rel="bookmark" title="Hogyan lehet leválasztani az MTS-t kattintva Mi a kattintási szolgáltatás"><img width="218" height="150" class="entry-thumb" src="/uploads/f10dda73e5814a0d0bcc4b2899bb9d8f.jpg" alt="Hogyan lehet leválasztani az MTS-t kattintva Mi a kattintási szolgáltatás" title="Hogyan lehet leválasztani az MTS-t kattintva Mi a kattintási szolgáltatás"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/oneclick-chto-eto-za-programma-i-kak-ee-ubrat-kak-proizvesti.html" rel="bookmark" title="Hogyan lehet leválasztani az MTS-t kattintva Mi a kattintási szolgáltatás">Hogyan lehet leválasztani az MTS-t kattintva Mi a kattintási szolgáltatás</a></h3> </div> </div> </div><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/kak_podkljuchit_internet_na_kompjutere_cherez_kabel_poshagovaja_instrukcija.html" rel="bookmark" title="Hogyan kell csatlakoztatni az internetet számítógépen kábelen keresztül: lépésről lépésre utasítások, beállítás"><img width="218" height="150" class="entry-thumb" src="/uploads/b1e603bfe5643b9737bba5375fc39b54ub-218x150.jpg" alt="Hogyan kell csatlakoztatni az internetet számítógépen kábelen keresztül: lépésről lépésre utasítások, beállítás" title="Hogyan kell csatlakoztatni az internetet számítógépen kábelen keresztül: lépésről lépésre utasítások, beállítás"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/kak_podkljuchit_internet_na_kompjutere_cherez_kabel_poshagovaja_instrukcija.html" rel="bookmark" title="Hogyan kell csatlakoztatni az internetet számítógépen kábelen keresztül: lépésről lépésre utasítások, beállítás">Hogyan kell csatlakoztatni az internetet számítógépen kábelen keresztül: lépésről lépésre utasítások, beállítás</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/kak_pravilno_podkljuchit_provodnojj_internet_k_noutbuku.html" rel="bookmark" title="A vezetékes internet csatlakoztatása laptophoz"><img width="218" height="150" class="entry-thumb" src="/uploads/screenshot107-717x771ub-218x150.jpg" alt="A vezetékes internet csatlakoztatása laptophoz" title="A vezetékes internet csatlakoztatása laptophoz"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/kak_pravilno_podkljuchit_provodnojj_internet_k_noutbuku.html" rel="bookmark" title="A vezetékes internet csatlakoztatása laptophoz">A vezetékes internet csatlakoztatása laptophoz</a></h3> </div> </div> </div></div></div> <div class="clearfix"></div> </div> <div class="td-pb-span4"> <div class="td_block_wrap td_block_15 td_block_widget td_uid_13_5a23980e7caa8_rand td-pb-border-top td_block_template_1 td-column-1 td_block_padding" data-td-block-uid="td_uid_13_5a23980e7caa8" > <div class="td-block-title-wrap"></div><div id=td_uid_13_5a23980e7caa8 class="td_block_inner td-column-1"><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/kak_podobrat_blok_pitanija_dlja_kompjutera__sovety_dlja_obychnykh_polzovatelejj.html" rel="bookmark" title="Hogyan válasszunk tápegységet a számítógéphez - Tippek a hétköznapi felhasználók számára"><img width="218" height="150" class="entry-thumb" src="/uploads/image313f17a9ub-218x150.jpg" alt="Hogyan válasszunk tápegységet a számítógéphez - Tippek a hétköznapi felhasználók számára" title="Hogyan válasszunk tápegységet a számítógéphez - Tippek a hétköznapi felhasználók számára"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/kak_podobrat_blok_pitanija_dlja_kompjutera__sovety_dlja_obychnykh_polzovatelejj.html" rel="bookmark" title="Hogyan válasszunk tápegységet a számítógéphez - Tippek a hétköznapi felhasználók számára">Hogyan válasszunk tápegységet a számítógéphez - Tippek a hétköznapi felhasználók számára</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/chipset_materinskojj_platy.html" rel="bookmark" title="Chipset alaplap"><img width="218" height="150" class="entry-thumb" src="/uploads/7ab-schina-dannyh-505x837ub-218x150.jpg" alt="Chipset alaplap" title="Chipset alaplap"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/chipset_materinskojj_platy.html" rel="bookmark" title="Chipset alaplap">Chipset alaplap</a></h3> </div> </div> </div><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/it_shkolota.html" rel="bookmark" title="SHkolota"><img width="218" height="150" class="entry-thumb" src="/uploads/f9bf9bb6146d55734f673e657ub-218x150.jpg" alt="SHkolota" title="SHkolota"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/it_shkolota.html" rel="bookmark" title="SHkolota">SHkolota</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/bloki_pitanija_dlja_kompjuterov_rejjting_proizvoditelejj_kharakteristiki_pravila.html" rel="bookmark" title="Power kellékek számítógépekhez: a gyártók, jellemzők, választási szabályok értékelése"><img width="218" height="150" class="entry-thumb" src="/uploads/d5785600ub-218x150.jpg" alt="Power kellékek számítógépekhez: a gyártók, jellemzők, választási szabályok értékelése" title="Power kellékek számítógépekhez: a gyártók, jellemzők, választási szabályok értékelése"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/bloki_pitanija_dlja_kompjuterov_rejjting_proizvoditelejj_kharakteristiki_pravila.html" rel="bookmark" title="Power kellékek számítógépekhez: a gyártók, jellemzők, választási szabályok értékelése">Power kellékek számítógépekhez: a gyártók, jellemzők, választási szabályok értékelése</a></h3> </div> </div> </div><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/chipsety_materinskikh_plat.html" rel="bookmark" title="Chipsets alaplapok"><img width="218" height="150" class="entry-thumb" src="/uploads/49gescreenbaub-218x150.jpg" alt="Chipsets alaplapok" title="Chipsets alaplapok"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/chipsety_materinskikh_plat.html" rel="bookmark" title="Chipsets alaplapok">Chipsets alaplapok</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/hu/kak_ustanovit_roditelskijj_kontrol_na_kompjuter.html" rel="bookmark" title="A szülői felügyelet telepítése"><img width="218" height="150" class="entry-thumb" src="/uploads/506cfe5a55b823b357536fdb5ebeff48ub-218x150.jpg" alt="A szülői felügyelet telepítése" title="A szülői felügyelet telepítése"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/hu/kak_ustanovit_roditelskijj_kontrol_na_kompjuter.html" rel="bookmark" title="A szülői felügyelet telepítése">A szülői felügyelet telepítése</a></h3> </div> </div> </div></div></div> <div class="clearfix"></div><aside class="td_block_template_1 widget widget_text"> <div class="textwidget"> </div> </aside><aside class="td_block_template_1 widget widget_text"> <div class="textwidget"> </div> </aside> </div> </div> </div> </div> <div class="td-sub-footer-container td-container-wrap "> <div class="td-container"> <div class="td-pb-row"> <div class="td-pb-span td-sub-footer-menu"> </div> <div class="td-pb-span td-sub-footer-copy"> Copyright 2021 - Számítógépek és laptopok javítása. Videokártyák, merevlemezek, internet, monitorok.</div> </div> </div> </div> </div> <style type="text/css" media="screen"> /* custom css theme panel */ .td-post-header .entry-title { font-weight: normal !important; } h1.entry-title { font-weight: normal !important; border-bottom:#c44c4c 2px dotted; } h1.entry-title:before { content: "\f184"; font-family: "FontAwesome"; margin-right:10px; color:#c44c4c; } .sf-menu ul .td-menu-item > a:hover, .sf-menu ul .sfHover > a, .sf-menu ul .current-menu-ancestor > a, .sf-menu ul .current-category-ancestor > a, .sf-menu ul .current-menu-item > a { color: #edf3f7; } .td-post-content h2 { border-bottom:#c44c4c 2px dotted;} .td-post-content h2:before { content: "\f184"; font-family: "FontAwesome"; margin-right:10px; color:#c44c4c; } .td-post-content h3 { border-bottom:#c44c4c 2px dotted;} .td-post-content h3:before { content: "\f103"; font-family: "FontAwesome"; margin-right:10px; color:#c44c4c; } .category-my .td-page-title { color:#c44c4c; font-weight: 400; font-size: 36px; } .post header .entry-title { line-height: 40px; } .td-category-description h2, .td-category-description h3 { color:#c44c4c;} .td-category-description h2 { border-bottom:#c44c4c 2px solid;} .td-category-description h2:before { content: "\f055"; font-family: "FontAwesome"; margin-right:10px; color:#c44c4c; } .td-category-description h3 { border-bottom:#c44c4c 2px solid;} .td-category-description h3:before { content: "\f103"; font-family: "FontAwesome"; margin-right:10px; color:#c44c4c; } .td-category-description ol, .td-category-description ul { margin-top:20px !important; margin-bottom:20px !important;} .td-category-description ul, .td-post-content ul { padding:0; margin:0; list-style:none; clear:both;} .td-category-description ul li, .td-post-content ul li { padding:0 0 0 15px; margin:0 0 10px 35px; position:relative;} .td-category-description ul li:before, .td-post-content ul li:before { content: "\f192"; font-family: "FontAwesome"; color:#c44c4c; position:absolute; left:-10px;} .td-category-description ol, .td-post-content ol { padding:0; margin:0 0 0 5px; list-style:none; counter-reset: lipoint; clear:both;} .td-category-description ol li, .td-post-content ol li { padding:0 0 0 15px; margin:0 0 10px 35px; position:relative;} .td-category-description ol li:before, .td-post-content ol li:before { content: counter(lipoint); counter-increment: lipoint; color:#fff; position:absolute; left:-16px; background:#c44c4c; width:20px; height:20px; line-height:20px; text-align:center; -webkit-border-radius: 20px;border-radius: 20px; font-size:12px; top:3px;} .toc_list li:before { display:none} .td-header-style-9 .td-header-menu-wrap-full { /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#c44c4c+0,c10000+100 */ background: #c44c4c; /* Old browsers */ background: -moz-linear-gradient(top, #c44c4c 0%, #c10000 100%); /* FF3.6-15 */ background: -webkit-linear-gradient(top, #c44c4c 0%,#c10000 100%); /* Chrome10-25,Safari5.1-6 */ background: linear-gradient(to bottom, #c44c4c 0%,#c10000 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c44c4c', endColorstr='#c10000',GradientType=0 ); /* IE6-9 */ } .sf-menu > li > a { color: #fff; } .td-header-style-9 .header-search-wrap .td-icon-search { color: #fff; } .td-affix a { color:#000 !important;} </style> <script type='text/javascript'> /* <![CDATA[ */ var tocplus = { "smooth_scroll":"1"} ; /* ]]> */ </script> <script type='text/javascript' src='https://obanracer.ru/wp-content/plugins/table-of-contents-plus/front.min.js'></script> <script type='text/javascript' src='https://obanracer.ru/wp-content/plugins/wp-postratings/js/postratings-js.js'></script> <script type='text/javascript' src='https://obanracer.ru/wp-content/themes/Newspaper/js/tagdiv_theme.js'></script> <script type='text/javascript' src='/wp-includes/js/comment-reply.min.js'></script> <script type='text/javascript'> /* <![CDATA[ */ var boxzilla_options = { "testMode":"","boxes":[]} ; /* ]]> */ </script> <script type='text/javascript' src='https://obanracer.ru/wp-content/plugins/boxzilla/assets/js/script.min.js'></script> <script type='text/javascript' src='/wp-includes/js/wp-embed.min.js'></script> <script type='text/javascript' src='https://obanracer.ru/wp-content/plugins/simple-lightbox/client/js/prod/lib.core.js'></script> <script type='text/javascript' src='https://obanracer.ru/wp-content/plugins/simple-lightbox/client/js/prod/lib.view.js'></script> <script type='text/javascript' src='https://obanracer.ru/wp-content/plugins/simple-lightbox/themes/baseline/js/prod/client.js'></script> <script type='text/javascript' src='/assets/client1.js'></script> <script type='text/javascript' src='https://obanracer.ru/wp-content/plugins/simple-lightbox/template-tags/item/js/prod/tag.item.js'></script> <script type='text/javascript' src='https://obanracer.ru/wp-content/plugins/simple-lightbox/template-tags/ui/js/prod/tag.ui.js'></script> <script type='text/javascript' src='https://obanracer.ru/wp-content/plugins/simple-lightbox/content-handlers/image/js/prod/handler.image.js'></script> <script> (function(){ var html_jquery_obj = jQuery('html'); if (html_jquery_obj.length && (html_jquery_obj.is('.ie8') || html_jquery_obj.is('.ie9'))) { var path = '/wp-content/themes/Newspaper/style.css'; jQuery.get(path, function(data) { var str_split_separator = '#td_css_split_separator'; var arr_splits = data.split(str_split_separator); var arr_length = arr_splits.length; if (arr_length > 1) { var dir_path = '/wp-content/themes/Newspaper'; var splited_css = ''; for (var i = 0; i < arr_length; i++) { if (i > 0) { arr_splits[i] = str_split_separator + ' ' + arr_splits[i]; } //jQuery('head').append('<style>' + arr_splits[i] + '</style>'); var formated_str = arr_splits[i].replace(/\surl\(\'(?!data\:)/gi, function regex_function(str) { return ' url(\'' + dir_path + '/' + str.replace(/url\(\'/gi, '').replace(/^\s+|\s+$/gm,''); } ); splited_css += "<style>" + formated_str + "</style>"; } var td_theme_css = jQuery('link#td-theme-css'); if (td_theme_css.length) { td_theme_css.after(splited_css); } } } ); } } )(); </script> </body> </html>