XML-dokumendi objekti mudeli kasutamine. Interneti-juhend - kõik kõige huvitavamad võrgud, kuidas luua XML-faili Delphi

XML-i keelt kasutatakse üha enam teabe salvestamiseks, jagades seda rakenduste ja veebisõlme vahel. Paljudes rakendustes kasutatakse seda keelt andmete põhitarbena teistes XML-andmete eksportimiseks ja importimiseks. Sellest tuleneb, et arendajad on aeg mõelda, kuidas kasutada XML-andmeid oma rakendustes.

Selles artiklis kaalume XML-dokumendi objekti mudelit (DOM) ja selle rakendamist Microsoft XML DOM-i rakendamisele.

XML DOM on objekti mudel, mis pakub arendaja esemeid XML-failide allalaadimiseks ja töötlemiseks. Objekti mudel koosneb järgmistest peamistest esemetest: Xmldomdocument, XMldomnodeli, Xmldomnode, XMldomnamednodemap ja XMldomparseError. Kõik need objektid (va Xmdomomparserserror) sisaldab omadusi ja meetodeid objekti teabe saamiseks, manipuleerivad objekti väärtused ja struktuur, samuti liikuge mööda XML-dokumendi struktuuri.

Kaaluge XML-i peamisi objekte ja andke mitmeid näiteid nende kasutamisest Borland Delphis.

XML DOMi kasutamine Borland Delphi

Et kasutada Microsoft XML DOM DELPHI rakendustes, peate ühendama projekti asjakohase tüübiraamatukogu. Selleks täidame projekti Importi tüüp Raamatukogu ja impordi tüübi raamatukogu dialoogipaneelil valige Microsoft XML versioon 2.0 raamatukogu (versioon 2.0), mis asub tavaliselt Windowsi süsteemis \\ MSXML.DLL-failis

Pärast CREA-seadme nupu vajutamist luuakse MSXML_TLB liidese moodul, mis võimaldab meil kasutada XML DOM-i objekte: Domdocument, XMldocument, XMLHTPequest ja mitmed teised rakendatavad MSXML.DLL raamatukogus. Link MSXML_TLB moodulile peab olema loetletud kasutusalade loendis.

XML DOM seade

Dokumendi objekti mudel tähistab XML-dokument filiaalide puude struktuuri kujul. XML DOM tarkvaraliidesed võimaldavad rakenduste puude navigeerimiseks ja selle oksade manipuleerimiseks. Iga filiaalil võib olla konkreetne tüüp (Domnodetype), mille kohaselt on määratud vanemad ja tütarettevõtted. Enamikus XML-dokumente leiate elemendi, atribuudi ja tekstiharu oksad. Atribuudid (atribuut) on spetsiaalne filiaali tüüp ja need ei kuulu tütarettevõtted. Atribuutide haldamine erimeetodidXML DOM objektide poolt.

Lisaks soovitatava World Wide Web Consortiumi (W3C) liideste rakendamisele sisaldab Microsoft XML DOM meetodeid, mis toetavad XSL-i, XSL-i mustreid, nimeruume ja andmetüüpe. Näiteks SelectNodes meetod võimaldab teil kasutada XSL malle süntaksi (XSL mustri süntaksi) otsida oksad konkreetse kontekstis ja Transformanode meetod toetab XSL kasutamise muutuste tegemiseks.

Test XML-dokument

XML-dokumendi näitena võtke muusika CD-ROM-i kataloog, millel on järgmine struktuur:

Empire Burlesque Bob Dylan. USA. Columbia. 10.90 1985 Peida oma südant. Bonnie Tyor. UK. CBS-kirjed. 9.90 1988 ... Mu süda eemaldada. Joe Cocker. USA. Emi 8.20 1987

Nüüd oleme valmis alustama objekti mudelit XML DOMi, mis algab XMldomdocument objektiga.

XML-dokument - Xmldomdocument objekt

XML-dokumendiga töötamine algab selle allalaadimisega. Selleks kasutame koormuse meetodit, millel on ainult üks parameeter, mis näitab allalaaditud dokumendi URL-i. Failide allalaadimisel kohalikul kettal on määratud ainult täielik failinimi (fail: /// Sel juhul võib välja jätta). Kui XML-dokument salvestatakse stringina, tuleb sellise dokumendi allalaadimiseks kasutada LogeXML-meetodit.

Dokumendi allalaadimise meetodi kontrollimiseks (sünkroonne või asünkroonne), ASYNC vara kasutatakse. Vaikimisi on see vara tõene, mis näitab, et dokument on laetud asünkroonselt ja juhtimine tagastatakse taotlusele ka enne dokumendi täielikku laaditud. Vastasel juhul laaditakse dokument sünkroonselt ja siis peate kontrollima readyState vara väärtust, et teada saada, dokument laadida või mitte. Samuti saate luua Orydeadytatechange sündmuste käitleja, kes saab kontrolli readState vara väärtuse muutmisel.

Allpool on näidatud, kuidas alla laadida XML-dokumendi laadimismeetodi abil:

Kasutajad ... msxml_tlb ... protseduur tform1.button1click (saatja: tofject); Var xmldoc: ixmldompdocument; Alusta XMLDOC: \u003d Codomdocument.create; Xmldoc.async: \u003d FALSE; Xmldoc.load ("C: Data \\ Data.xml"); // // Siin on kood, mis manipuleerib // XML-dokument ja selle harud // xmldoc: \u003d null; lõpp;

Pärast dokumendi laadimist saame viidata selle omadustele. Seega ei sisalda Nomename vara #Document väärtus, nodetystringering vara on dokumendi väärtus, URL-i vara on fail: /// C: /Data/data.xml väärtus.

Töötlemine on viga

Eriti huvipakkuvad omadused, mis on seotud dokumendi töötlemisega, kui see on laaditud. Seega tagastab ParseErrori kinnisvara XMldomparrori objekti, mis sisaldab töötlemisprotsessi käigus tekkinud veateavet.

Veakäitleja kirjutamiseks saate lisada järgmise koodi:

VAR XMLERROR: ixmldomparseError; ... xmldoc.load ('c: Data \\ Data.xml "); XMLerror: \u003d XMldoc.ParseError; Kui XMLerror.Errorcode.<> 0, siis // // Siin töötleme vea // muidu memo1.lines.add (xmldoc.xml); ... xmldoc: \u003d nill;

Et teada saada, milline teave on vigade korral tagastatud, muutke järgmist kataloogi kirje:

Empire Burlesque Bob Dylan. USA. Columbia. 10.90 1985

sulgemise elemendi eemaldamine Teises reas:</p><p> <CD> <TITLE>Empire Burlesque <ARTIST>Bob Dylan.</ARTIST> <COUNTRY>USA.</COUNTRY> <COMPANY>Columbia.</COMPANY> <PRICE>10.90</PRICE> <YEAR>1985</YEAR> </CD> </p><p>Nüüd kirjutage kood, mis tagastab xmldomparrori objekti omaduste:</p><p>XMLerror: \u003d XMldoc.ParseError; Kui XMLerror.Errorcode.<> 0 Siis koos XMLerroriga, memo1.lines do Alustada ('Fail:' + URL); Lisa ("Kood: '+ Inttostr (Errorcode)); Lisa ("Viga:" + põhjus); Lisa ("Tekst: '+ SrCText); Lisa ("Row: '+ INTTOSTR (joon)); Lisa ("Positsioon: '+ INTTOSTR (linepos)); Lõpuks mujal Memo1.lines.Add (xmldoc.xml); Lõpp;</p><p>ja täita meie taotlus. Selle tulemusena saame järgmise veateabe.</p> <p>Nagu võib näha ülaltoodud näitest, on XMldomparori objekti tagastatud teave piisav vigade lokaliseerimiseks ja selle esinemise põhjuse mõistmiseks.</p> <p>Nüüd taastada sulgemise element <TITLE> Meie dokumendis ja jätkata XML DOMi arutelu.</p> <table border="0" width="100%"><tr><td width="50%"> </td> <td width="50%"> </td> </tr></table><h2> Juurdepääs dokumendipuu juurde</h2> <p>Dokumendipuu juurde pääsemiseks saate kas juureelementi saada ja seejärel läbi oma tütarettevõtteid või leida mõningaid konkreetseid filiaali. Esimesel juhul saame põhielemendi dokumendi vara kaudu, mis tagastab XMldomnode'i objekti. Allpool on näidatud, kuidas kasutada dokumentide vara, et saada iga lapse elemendi sisu:</p><p>Var sõlme: ixmldomnode; Juur: ixmldomelement; I: täisarv; ... root: \u003d xmldoc.doc.docelement; Sest i: \u003d 0 kuni root. Memo1.lines.add (Node.Text); Lõpp;</p><p>Meie XML-dokumendi jaoks saame järgmise teksti.</p> <p>Kui me oleme huvitatud mõnest konkreetsest konkreetsest haru või haru taset allpool esimese tütarettevõtte all, saame kasutada kas Nodefromiidi meetodit või XMldomdocument objekti objekti GetellementBameTame'i meetodit.</p> <p>Nodefromiidi meetod nõuab XML-skeemi või dokumendi tüübi määratluse (DTD) määratletud unikaalse identifikaatori täpsustamist ja tagastab selle identifikaatoriga haru.</p> <p>GeteelementbyTagme meetod nõuab konkreetse elemendi (sildi) stringi märget ja tagastab kõik selle elemendiga harud. Allpool on näidatud, kuidas seda meetodit kasutada kõigi meie CD-ROM-i kataloogi esitajate leidmiseks:</p><p>Sõlmed: ixmldomnodelic; Sõlme: ixmldomnode; ... sõlmed: \u003d xmldoc.gegelementsbeerytagname ("kunstnik"); Sest i: \u003d 0-st sõlmedele.Pikkus-1 do alustada sõlme: \u003d Nodes.Item [i]; Memo1.lines.add (Node.Text); Lõpp;</p><p>Meie XML-dokumendi jaoks saame järgmise teksti.</p> <p>Pange tähele, et XMLdomnode Selects Selectionnode'i meetod annab paindlikuma võimaluse dokumendi harude avamiseks. Aga see on veidi madalam.</p> <table border="0" width="100%"><tr><td width="50%"> </td> <td width="50%"> </td> </tr></table><h2> Dokumendi haru - XMldomnode objekt</h2> <p>XMldomnode'i objekt on dokumendiharu. Oleme juba selle objektiga kokku puutunud, kui dokumendi juureelement saadi:</p><p>Root: \u003d XMldoc.documellement;</p><p>XML-dokumendi filiaali teabe saamiseks saate kasutada XMldomnode'i objekti omadusi (tabel 1).</p> <p>Access andmetele salvestatud filiaal, tavaliselt kasutada Nodevalue vara (saadaval atribuutide, teksti oksad, kommentaarid, töötlemise juhiseid töötlemise ja CDATA sektsioonide) või teksti vara, mis tagastab teksti sisu filiaali või NodetypedValue vara. Viimast saab siiski kasutada ainult trükitud elementide oksad.</p> <table border="0" width="100%"><tr><td width="50%"> </td> <td width="50%"> </td> </tr></table><h3> Liiguta dokumendi puu</h3> <p>XMldomnode objekt pakub erinevaid võimalusi dokumendipuu kaudu liikumiseks. Näiteks, et pääseda juurdevajalikule filiaalile, kasutatakse vanemnodeerimisomandit lapse oksade juurdepääsu laste omaduste (XMLDCHILD tüüpi) kaudu, esmaklaplik ja lastelaim (Xmldomnode) jne. Omanikdokumentide vara tagastab XMLDocument objekti, mis identifitseerib XML-dokumendi ise. Ülaltoodud omadused muudavad dokumendipuu kaudu lihtsaks liikumiseks.</p> <p>Nüüd ma ületan kõik filiaalid XML-dokumendi:</p><p>Root: \u003d XMldoc.documellement; Sest i: \u003d 0 kuni root. Kui Node.Haschildnods siis getchilds (sõlme, 0); Lõpp;</p><p>Nagu eespool märgitud, seletab selectionNodes objekti Xmldomnode pakub paindlikumat viisi juurdepääsu filiaalide dokumendi. Lisaks on olemas valikumeetod, mis tagastab ainult dokumendi esimese haru. Mõlemad meetodid võimaldavad teil määrata XSL-mallid filiaalide otsimiseks.</p> <p>Mõelge protsessi, mis kasutab selectionNodes meetodit kõigi filiaalide väljavõtmiseks, millel on CD-haru ja inflatsioon.</p><p>Root: \u003d XMldoc.documellement; Sõlmed: \u003d root.Selectnodes (CD / Hind ");</p><p>Sõlmede kogumine pannakse kõik sorterite hinnaga CD-oksad. Arutelu XSL mallide naaseb veidi hiljem.</p> <table border="0" width="100%"><tr><td width="50%"> </td> <td width="50%"> </td> </tr></table><h3> Manipuleerimine tütre oksad</h3> <p>Tütarettevõtete manipuleerimise jaoks saame kasutada XMLdomnode'i objekti meetodeid (tabel 2).</p> <p>Esimese ketta salvestamise täielikuks kustutamiseks peate täitma järgmise koodi:</p><p>Var xmldoc: ixmldompdocument; Root: ixmldomnode; Sõlme: ixmldomnode; Xmldoc: \u003d koodomdokment.create; Xmldoc.async: \u003d FALSE; Xmldoc.load ("C: Data \\ Data.xml"); // saada juureelemendi juur: \u003d XMldoc.doc.docelement; Sõlme: \u003d root; // Eemaldage esimene tütarettevõttesõlme.Removechild (node.firstchild);</p><p>Pange tähele, et selles näites eemaldame esimese tütarettevõtte. Esimese tütarettevõtte esimese elemendi eemaldamine on näidatud allpool:</p><p>Var xmldoc: ixmldompdocument; Root: ixmldomnode; Sõlme: ixmldomnode; Xmldoc: \u003d koodomdokment.create; Xmldoc.async: \u003d FALSE; Xmldoc.load ("C: Data \\ Data.xml"); // saada juureelemendi juur: \u003d XMldoc.doc.docelement; // ja esimene tütarettevõtja sõlme: \u003d root.Firstchild; // Eemaldage esimene tütarettevõttesõlme.Removechild (node.firstchild);</p><p>Ülaltoodud näites me ei eemaldanud esimest haru. <CD>…</CD>ja filiaali esimene element - <TITLE>….

Nüüd lisage uus haru. Allpool on kood, mis näitab, kuidas lisada uus muusika CD-ROM-i rekord:

Var newnode: ixmldomnode; Laps: ixmldomnode; ... // Uue haru loomine - Newnode: \u003d xmldoc.creatEnode (1, CD ',' '); // Lisa element Laps: \u003d xmldoc.creatnenode (1, pealkiri ", '); // lisage newnode.Appendchild (lapse) element; // ja määrake lapse väärtuse.Text: \u003d 'roosa floyd'; // Lisa element <ARTIST> Laps: \u003d xmldoc.creatnenode (1, "kunstnik", ''); // lisage newnode.Appendchild (lapse) element; // ja looge oma lapse väärtuse.Text: \u003d 'Division Bell'; // Lisa element <COUNTRY> Laps: \u003d xmldoc.creatnenode (1, "riik", ''); // lisage newnode.Appendchild (lapse) element; // ja määrake selle lapse väärtus.Text: \u003d 'UK'; // Lisa element <COMPANY> Laps: \u003d xmldoc.creatnenode (1 "ettevõte", ''); // lisage newnode.Appendchild (lapse) element; // ja seadke oma väärtuse laps.Text: \u003d 'EMI Records Ltd'; // Lisa element <PRICE>Laps: \u003d xmldoc.creatnenode (1, "hind", ''); // lisage newnode.Appendchild (lapse) element; // ja looge oma lapse väärtuse.Text: \u003d '11 .99 "; // Lisa element <YEAR> Laps: \u003d xmldoc.creatnenode (1, "aasta", ''); // lisage newnode.Appendchild (lapse) element; // ja määrata oma lapse väärtuse.Text: \u003d '1994'; // ja lisage root.Appendchildi haru (newnode); ...</p><p>Ülaltoodud kood näitab uue haru lisamiseks järgmist tegevuste järjestust:</p> <ul><li>Uue filiaali loomine kreenodenoodi abil: <ul><li>kirje loomine kreenode meetodi abil;</li> <li>ometi lisamine filiaalile ahelate meetodi abil;</li> <li>elemendi väärtuse määramine teksti vara kaudu;</li> <li>... korrake kõikide üksuste jaoks.</li> </ul></li> <li>Uue haru lisamine dokumendile appilusega.</li> </ul><p>Tuletame meelde, et aheldamise meetod lisab puu lõpus filiaali. Filiaali lisamiseks puidu konkreetsele kohale peate kasutama insertbefore meetodit.</p> <h2> Filiaalide komplekt - xmldomnodeli ese</h2> <p>XMlnodeliumi objekt sisaldab filiaalide loendit, mida saab ehitada selementNodes või geteelementByTagme'i meetodite abil ja seda saadakse ka Childnodiase vara.</p> <p>Oleme juba kaalunud selle objekti kasutamist sektsioonis toodud näites "Dokumendipuu liikumisel". Siin me anname ka mõned teoreetilised kommentaarid.</p> <p>Loendite filiaalide arvu võib saada pikkuse väärtusena. Filiaalidel on indeksid 0-st kuni pikkusele - 1 ja iga üksiku haru on saadaval vastava indeksiga elemendi kaudu.</p> <p>Liikumist filiaalide loendist saab läbi viia ka järgmise filiaali naaseva järgmise filiaali abil, kui praegune haru on viimane. Nimekirja ülaosas naasmiseks peate helistama lähtestamise meetodile.</p> <table border="0" width="100%"><tr><td width="50%"> </td> <td width="50%"> </td> </tr></table><h2> Dokumentide loomine ja salvestamine</h2> <p>Niisiis, me vaatasime, kuidas saate lisada filiaale ja elemente olemasolevatele XML-dokumentidele. Nüüd looge XML-dokument "Fly'is". Esiteks meenutame teile meelde, et dokumenti saab laadida mitte ainult URL-i, vaid ka tavalisest stringist. Allpool on näidatud, kuidas luua juurelement, mida saab seejärel kasutada ülejäänud elementide dünaamiliselt ehitamiseks (mida me oleme juba kaalunud tütarettevõtete manipuleerimise "):</p><p>Var xmldoc: ixmldompdocument; Root: ixmldomnode; Sõlme: ixmldomnode; S: Lagestus; ... s: \u003d ' <CATALOG></CATALOG>"; Xmldoc: \u003d koodomdokment.create; Xmldoc.async: \u003d FALSE; Xmldoc.loadxml (s); Root: \u003d XMldoc.documellement; Sõlme: \u003d xmldoc.creatnenode (1, CD ',' '); Root.appendchild (sõlme); Memo1.lines.Add (xmldoc.xml); ... xmldoc: \u003d nill;</p><p>Pärast XML-dokumendi ehitamist salvestage see failis Salvesta meetodi abil failis. Näiteks:</p> <p>Xmldoc.save ('c: andmed \\ newcd.xml');</p> <p>Lisaks faili salvestamisele võimaldab Salvesta meetod salvestada XML-dokumendi uue XMldomdocumentobjekti objektis. Sellisel juhul on dokument täieliku töötlemise ja selle tulemusena kontrollides selle struktuuri ja süntaksi. Allpool on näidatud, kuidas salvestada dokumendi teise objekti:</p><p>Menetlus TForm1.Button2Click (saatja: tofject); Var xmldoc2: ixmldompdocument; Alusta XMLDOC2: \u003d Codomdocument.create; Xmldoc.save (xmldoc2); Memo2.les.add (xmldoc2.xml); ... xmldoc2: \u003d nul; lõpp;</p><p>Kokkuvõttes märgime, et Salvestamismeetod võimaldab salvestada ka XML-dokumendi teistele COM-objektidele, mis toetavad ISTREAM, Iseetstream või ipeSciststreaminit liideseid.</p> <table border="0" width="100%"><tr><td width="50%"> </td> <td width="50%"> </td> </tr></table><h2> XSL-mallide kasutamine</h2> <p>Umbes XMLdomnode Objekti valimise meetod, mainisime, et see annab paindlikum viis dokumendi oksad. Paindlikkus seisneb selles, et filiaalide valimiseks kriteeriumina saate määrata XSL-malli. Sellised mallid pakuvad võimas mehhanismi, et otsida teavet XML-dokumentides. Näiteks, et saada nimekirja kõik nimed muusika CD-ROM meie kataloogi, saate järgida järgmist päringut:</p><p>Et teada saada, kas kettad, mille esitajad Ameerika Ühendriikides vabastatakse, on taotlus moodustatud järgmiselt:</p><p>Sõlmed: \u003d root.Selectnodes (CD / artist ");</p><p>Allpool on näidatud, kuidas leida kataloogis esimene ketas:</p><p>Sõlmed: \u003d root.Selectnodes ('CD / pealkiri ");</p><p>ja viimane:</p><p>Sõlmed: \u003d root.Selectnodes ('CD / pealkiri ");</p><p>Bobi Dilani plaatide leidmiseks saate teha järgmise päringu:</p><p>Sõlmed: \u003d root.Selectnodes ('CD [$ mis tahes $ Arst \u003d "Bob Dylan"] / pealkiri ");</p><p>ja pärast 1985. aastat vabastatud kettade loendit tegeleme järgmise päringu:</p><p>Sõlmed: \u003d root.Selectnodes ('CD / pealkiri ");</p><p>XSL-süntaksi üksikasjalikum arutelu nõuab eraldi avaldamist. Intrue lugejatele ja lükata edasisi uuringuid, annan ainult ühe väikese näite XSL võimaliku kasutamise võimaliku kasutamise kohta. Oletame, et peame oma kataloogi tavalisele HTML-lauale teisendama. Traditsiooniliste viiside ärakasutamine peab lahendama kõik puu-harud ja iga vastavate silte moodustamiseks saadud elemendi jaoks <TD>…</TD>.</p> <p>Kasutades XSL-i, me lihtsalt loome malli (või stiili tabeli), kus me näitavad, mida ja kuidas teisendada. Siis me kehtestame selle malli meie kataloogi - ja valmis: enne USA teksti XSL malli, mis teisendab kataloogi tabelis (loetelu 2).</p> <p>XSL-malli ülesehitamise kood meie kataloogile näeb välja selline:</p><p>Menetlus TForm1.Button2Click (saatja: tofject); Var xsldoc: ixmldompdocument; Alusta xsldoc: \u003d koodomdocument.create; Xsldoc.load ('c: andmed \\ Data.xsl "); Memo2.Text: \u003d xmldoc.transformnode (xsldoc); Xsldoc: \u003d null; lõpp;</p><p>Täites meie arutelu XSL, tuleb öelda, et praegu seda keelt kasutatakse aktiivselt ümberkujundamiseks erinevate XML-dokumentide, samuti vormindamise dokumendid.</p> <table border="0" width="100%"><tr><td width="50%"> </td> <td width="50%"> </td> </tr></table><h2> Järeldus</h2> <p>Üsna arusaadavatel põhjustel on ühes artiklis võimatu kaaluda kõiki Microsoft XML DOM-objekte ja tuua nende kasutamise näiteid. Siin me puudutasime ainult XML-i DOMi kasutamise põhiküsimusi rakendustes. Vahekaardil. 3 näitab kõiki Microsoft XML DOM-is rakendatud objekte.</p> <p>Arvutivarja 12 "2000</p> <p>Tellimuse lahendamise ülesanded Delphi <br> Delphi on teine \u200b\u200bprogrammeerimiskeel, millega õpilased kõige sagedamini tutvuvad õppeprotsessis. See on objektorienteeritud programmeerimise õppimise algus. I, üliõpilasel, tegi endale järelduse, et keelt hallata lihtsamat meetodit kui kalkulaatorit kirjutada. Isegi kui sa mõistad kahe numbri lisamise elementaarfunktsiooni, on see juba palju valgust.</p> <p>Codegrader, Delphi 7, Lazarus on erinevad kompilaatorid, programmid, mis edastatakse teie poolt kirjutatud masina koodile, teisendades selle Zoliiki ja üheks. Need on kõik programmide loomise programmid ja mitte eraldi programmeerimiskeeli. Need kompilerid kasutavad delphi keele aluseks olevat Pascal programmeerimiskeelt, mis on sarnane tavalisele Pascalile sarnase süntaksiga, kuid see on funktsionaalne oluliselt erinev. <br></p> <h2>Mis on programmeerimiskeele süntaks?</h2> <p>See on vorming erinevate ettevõtjate kirjutamise vorm. Näiteks on Pascalil "" jaoks "tsükkel järgmine vorming:" N: \u003d 1 kuni k "jne.</p><p>C ++ programmeerimiskeeles on sama tsükkel kirjutatud mõnevõrra teisiti: (n \u003d 1; n me kirjutame kalkulaatori</p><p>See annab teile aru, kuidas objektid programmi koodiga on suheldes, mis on "muutujad", kuidas matemaatilised funktsioonid töötavad. Kõik programmeerimine igal juhul on arvutus. Mäng on ka programm, mis pidevalt kaalub, töötab numbrite ja numbriliste funktsioonidega. Programmeerimine on matemaatika lahutamatu.</p> <p>Me kasutame Lazaruse arenduskeskkonna kirjutamiseks. Selle funktsionaalsus ei ole nii rikas kui, näiteks kodeller, kuid see on vaba juurdepääs ja on mõeldud õppima.</p><p>Arengukeskkonna avamine näeme elementide kuju ja paneeli. Siin on vorm.</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>Siin on elemendipaneel.</p><p>Esimene asi, mida me teeme, lisab kolm punkti, mida peate rakendama kahe numbri lisamise funktsiooni. Me vajame: "Tidit" kolme tükki ja "tbuttoni" arvus. Alloleval pildil kuvatakse need noolepaneelil. Klõpsake neile üks kord ja siis kord kuju ja nad ilmuvad sellele.</p><p>Need on sisendi ja tavalise nupu tekstiväljad. Teil tekib need elemendid peaaegu iga Windowsi programmi abil. Vaata.</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>Nüüd puhastage need kirjed. Klõpsake vahekaarti View. Ja klõpsa "Inspektor objektide. See aken ilmub.</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>Vajuta meie element "nupp" vormil ja muutke inspektori aknas väärtuse "pealkiri" ühelegi teisele. Näiteks sõna "ok". Klõpsake nuppu Enter. Me näeme vormis, nagu element on nime muutnud.</p><p>Lihtsalt tehke seda redigeerimisega, lihtsalt ei ümbernimetada, kuid me teeme need ilma sisuta. Me rõhutame neid omakorda ja puhastame inspektori tekstiväärtuse. Ärge unustage vajutada ENTER.</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>Selle tulemusena näeb meie vorm näeb välja.</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>Nüüd, kui meie kalkulaator teenis, peate registreerima vajaliku tarkvara koodi meie nupu protseduuri jaoks. Klõpsake nupul Element kaks korda ja avage allika toimetaja.</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>Kas vaata? Button1Click protseduur. See on menetlus, mis vastutab selle eest, mis juhtub, kui klõpsame ühel nupule. Ja järgmine peab toimuma: programm on vajalik kolmandas redigeerimisel, et tuua meid esimeses kahes valdkonnas kasutusele võetud numbrite summa. Kirjutame koodi.</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>Sellised lihtsad 5 rida koodi peame kirjutama. Kommentaarid ja selgitused on nähtavad ülaltoodud pildil. Pärast seda klõpsake seda nuppu.</p> <p>Meie projekti koostamine koostatakse. See kogutakse programmis. Me sisestame numbreid kahes esimeses valdkonnas, klõpsa nupule ja saada summa väärtus.</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>Järeldus</h2> <p>Võite klõpsata nupul "Fail", seejärel "Salvesta kõike", valige kaust salvestamiseks ja teil on täieõiguslik programm, mille algus on töölaual võimalik teha. Nüüd proovige aru saada välja ise, et teil on vaja ümber kirjutada selles koodis nii, et programm jagatakse kahe numbriga ja ei volditud. Näpunäide. Te peate andmete tüübi muutma. Allpool olev video näitab sarnast näidet, kuid Delphi 7, mitte Lazarus.</p><p><span class="6qR5tjJKK3g"></span></p> <p>Paljud Delphi programmeerijad, salvestamise seaded on seotud kasutades <i>INI.</i> Nende programmide failid. Selle meetodi kasutamine vähem tõsiste projektidega on vaja vältida, kuna see piirab paindlikkust, mis takistab programmi edasist laienemist. Tasub öelda, et selline lähenemine on üsna populaarne, tänu oma kasutusmugavusele ja sisseehitatud vahendite olemasolu arenduskeskkonnale. <br><br> Kuid ideaalne valik programmi seadete salvestamiseks on struktureeritud <i>Xml</i> Failid. Nende eeliseks on see, et parameetrite arvu ei pruugi olla fikseeritud. Selle paremini mõista, kaaluge konkreetset näidet.</p><p>Usearch programmis, kui klõpsate salvestamisel, kuvatakse kontekstimenüü, mis kuvab punktide loendi. Need elemendid on käsud, mis omakorda laaditakse alla seadete failist. Juhul, kui seaded salvestati sisse <i>INI.</i> Fail, programm võiks säästa ja laadida teatud arvu käske näiteks 10 või 50. Niipea kui vajate olulisemaks, peate koodi ümber kirjutama ja vastavalt selle uuesti koostama.</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> Lähenemise rakendamine <i>Xml</i> Failid, meil on võime alla laadida kõik parameetrid sektsiooni dünaamiliselt. Kõigile sellele muutub konfiguratsioonifail elegantsemaks, ilma parameetrite liigse numeratsioonita. Kuid standardtööriistad töötamiseks <i>Xml</i> Delphi on palju puudusi, nii et soovitan kasutada standardraamatukogu <b>MSXML.</b>. Tavaliselt on Windowsi perekondlike süsteemide vaikeosa.</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> Ühendamiseks <b>MSXML.</b>Me peame moodustama liidesefaili kõigi funktsioonide loendiga, importides selle Com Serverist. Kuidas importida liidese ei ole kirjutatud piisavalt üksikasjalikke artikleid, soovitan teil faili alla laadida <b>Msxml2_tlb.pas.</b> Juba valmis kasutama. Pärast faili allalaadimist asetage see oma projekti kõrval või visake Delphi lib libder. Seega saavad kõik loodud programmid moodulit kasutada. <b>MSXML.</b>See on piisav, et lisada MSXML2_TLB kasutusaladele.</p><p>Selguse huvides kaaluge järgmist näidet selle raamatukogu rakendamisest:</p><p>Protseduur Laadidata; Var xmldoc: domendokment; Juur: ixmldomelement; Alusta XMLDOC: \u003d Codomdocument.create; Xmldoc.load ("settins.xml"); Root: \u003d XMldoc.documellement; ShowMessage ("suurus / laius"). Tekst); Root: \u003d null; Xmldoc: \u003d null; lõpp;</p><p>Esiteks luuakse Domedocument-klassi eksemplar, mille järel seaded.XML-fail on mällu laaditakse. Vastavalt standardile <i>Xml</i> Fail peab sisaldama juuremärki (sel juhul <i>konfiguratsioon</i>), siis me peame selle funktsiooni kasutades saama <i>Dokumentatsioon</i>. Siis sisu sisu silte <width></width> mis omakorda on sildid <size></size> . Seega, seadistustest.XML-fail, kasutab meie meetod sõnumBoxis teksti <i>"100px"</i>.</p><p> <?xml version="1.0" encoding="utf-8"?> <config> <size> <height>500px</height> <width>100px</width> </size> </config> </p><p>Siin rakendatakse SELECSINGLENDE meetodit, mis võtab stringi parameetrina.</p> <p>Tere tulemast! See blogi on pühendatud internetile ja arvutitele ning täpsemalt olid nad neile pühendatud.</p> <p>Tõenäoliselt on kohe näinud, et palju aastaid ei ole kohapeal palju aastaid ilmunud. Jah, see on enamiku blogide saatus. Kui see projekt oli ambitsioonika ettevõtja ja autor, nagu paljudes teistes, kes kirjutas ajal, olid suuremahulised plaanid saada üheks parimaks vene blogijateks. Noh, kui te nüüd vaatate, siis nende blogidest, mis olid üheaegselt loodud minuga, olid enamik juba igavikus lahustunud. Ja ma sain välja kadunud aja blogi. Nii et jah, seda enam ei uuendata. Kuigi ma võitsin sellel saidil 2011. aasta blogi võistlusel.</p> <p>Mul oli isegi idee selle kõike eemaldada, kuid siis vaatasin vana materjale läbi ja mõistsin, et nad võiksid lugejatele veel kasulikud. Jah, mõned artiklid on aegunud (kui mul on piisavalt jõudu, saavad nad asjakohaseid märke), kuid sait võib olla algajatele kasulik - siin saate lugeda interneti põhikontseptsioonidest, õppida kohandama Internet, aknad või isegi otsustada Linuxi minna. Nii et vaata pealkirju ja valige see, mis sobib teile.</p> <p>Ja lõpuks, ma loodan, et see on rohkem kui lihtsalt blogi, kuid tõeline Interneti-juhend. Sait võib leida kataloogirežiimis, kus kõik kättesaadavad artiklid on struktureeritud kategooriate kaupa. Ja kes teab, et võib-olla uued kvaliteetsed artiklid hakkavad siin ilmuma.</p> <p><i>Sander</i></p> <p>Picodi.ru on soodushinnaga portaal rahvusvaheliste kupongide, Poola ekspert säästmise ja odavate ostude. Polasse peetakse üheks maailma kõige ökonoomsemaks rahvasteks, mistõttu ei ole üllatav, et seda tüüpi projekt on kasvanud Poola käivitamisest Kodyrabatowe.pl. Mis võib olla kasulik sellele portaalile tavalisele Interneti-kasutajale Venemaal?</p> <p>Kaasaegsed Android-telefonid on rohkem kui telefonid. Te harjutate paigaldatud programmide komplektiga, teie kõned ja tekstisõnumeid, fotode kogusid ja palju. Aga aeg läheb ja täielikult paigutatud seade hakkab aeglustama, viga või lihtsalt kaotab esindusliku vaate, sest ekraanil kriimustuste järel tekitatav vaade. On küsimus uue telefoni valimine ja Android-telefoni muutmine. Ja kui valiku küsimus, me nüüd mööda partei, siis "liigub" uue telefoni endiselt tõsine probleem - ma absoluutselt ei taha alustada kõiki andmeid nullist. Siin me räägime sellest täna.</p> <p>Enamik selle blogi lugejatest, tõenäoliselt kunagi versiooni kontrolli versioonidest ja ei tule lähitulevikus. Ja vabandust. Seda väga kasutajasõbralikku leiutist kasutatakse laialdaselt programmeerijad, kuid minu arvates võib see olla väga kasulik ja nende jaoks aktiivselt töötavad tekstidega. Aga tõenäoliselt ei ole praegu versiooni juhtimissüsteemi, mis oleks lihtne kasutada töö "Office'i" (Microsoft Office) jaoks. Sellegipoolest arvan, et artiklis sätestatud materjal võib kõigi lugejate jaoks olla huvitav.</p> <p>Kui sa arvasid, kuidas teie TV-filme üle vaadata võrgu ja Interneti-ühenduse juurde pääseda, on see artikkel teie jaoks. Ei, ma tean, et mõnedel televiisoridel on nutika teleri funktsionaalsus, kuid ma pole seda kunagi näinud. Ilmselt näitas Google'i hiljuti täiesti uimastavat seadet koheselt tundega. Me räägime MEDIA STONEERi ChromeCastist (Chromkast), täiuslikuma ja taskukohase versiooni eelmise aasta soositud mängija Nexus Q.</p> <p>Dongle Cromkast, mille mõõtmed ei ületa 2 tolli, ühendab teleri HDMI-pordiga ja võimaldab teil nautida streaming veebisisu vaatamist. Juhtimisjuhtimise juhtimiseks saate kasutada mis tahes seadet (tablett, PC, nutitelefoni), mis põhineb IOS-i, Windowsi, Android või Mac OS-i tööplatvormil.</p> <p>See artikkel on pühendatud Android-süsteemi mäluseadmele, probleemidele, mis võivad tekkida selle puudumise ja nende lahendamise tõttu. Ma ise ei olnud nii kaua aega tagasi, et minu Android telefon hakkas regulaarselt väljastama sõnumeid mälupuuduse kohta konkreetse rakenduse loomise kohta. Mis oli minu jaoks väga kummaline, hoolimata asjaolust, et turul kirjelduses oleks pidanud olema umbes 16 GB ja suurendasin seda mahtu ka täiendava mälukaardi abil. Probleem oli aga ja ma pidin enne õige lahenduse leidnud põhjalikult tinkerit, mis ei nõua juurjuurdepääsu kättesaamist või telefoni täielikku taastumist tehase olekusse.</p> <p>Hiljuti pööratakse e-äri süsteemide ehitamisele suurt tähelepanu või kui neid nimetatakse ka - B2B (äri äri). Arvestades soovitusi ehitamise Exchange Streaming süsteemid koordineerivad Interneti-tehnoloogiate - WWW Consortium: Rõhk on tehtud XML-tehnoloogiate ja hoone XML dokumendi vahetussüsteemide.</p> <p>XML-i kasutamine e-äri kasutamisel on B2B-süsteemide kõrge efektiivsus madalate kuludega selle loomiseks, mis on tingitud struktureeritud teabe selgest ja visuaalsest kujutist, võime kasutada kaasaegseid võrguprotokolle ja luua reaalajas ärisüsteeme.</p> <p>Teabe esitluse sõltumatus XML-dokumentide kujul võimaldab elektroonilises äris osalemist erinevates osades osaleda üksteisest sõltumatu.</p> <p>Kõigis süsteemides ehitatakse vahetus tavaliselt sama skeemiga, kasutades HTTP-päringuid. SSL-protokolli rakendatakse SSL-i protokollina (kuid see on eraldi teema).</p> <p>Üks võimalikke valikuid XML-sõnumite töötlemiseks on ehitada bin / CGI (ISAPI) -News või COM (server) komponendid moodustavad või töötlemise XML-dokumente.</p> <p>Ühest küljest toimib rakendus kliendina, mis postitamisrežiimis väljastab HTTP-päring HTTP-päringu, on veebiserver küljele, mille külje töötlemine ja vastus töödeldakse. Infovahetus kasutab XML-dokumente.</p> <p>Üks tõhusamaid rakendusvalikuid on olemasoleva XML parseri kasutamine, mis toetab DOM mudelit. Selline parser on Win`98 ja lahutamatu osa IE 4.7 ja üle selle (WIN`95) ja esindab COM-server asub MSxMl.dll raamatukogus.</p> <p>Komponendi objekti mudel (com) on kapseldatud andmed ja meetodid üheks olemuseks ja viis nende juurde pääsemiseks liidese süsteemi kaudu. Delphi on lihtsalt kättesaadav juurdepääsu com objekti klasside (mitu klassi võib lisada ühes com server). Juurdepääs objektidele viiakse läbi klassi astme alustamise kaudu liidese süsteemi kaudu. Liideste kirjeldus viiakse läbi liidese määratluse keel (IDL), mis on võimalik läbi viia keskmise vahendid automaatselt.</p> <p>Delphi tähendab import COM-serverist <i>msxml.dll</i>IDL-liidese kirjeldus Failid on ehitatud ja raamatukogu tüüpi binaarkirjeldus on TLB. See operatsioon viiakse läbi süsteemi menüü kaudu: <b>Projekt | Tüüp Raamatukogu import:</b>(pilt 1). Ekraanile ilmub järgmine dialoogiboks (joonis 2), kus soovite valida COM-objekti (meie puhul, on objekt registreeritud "Microsoft.xmldom (versioon 2.0)") ja looge TLB-fail (nupp) <b>Loo üksus.</b>). Kasutades TLB-faili, genereerib keskkond "Paskalevsky" faili kirjeldus com server - msxml_tlb.pas</p> <p>MSXML_TLB.PAS-fail kirjeldab kõiki liideseid, konstantide ja com serverid.</p> <p>Juurdepääsuks Com elemendi objektidele on see direktiivis vajalik <b>Kasutusalad.</b>lisage raamatukogu kirjelduse faili nimi (msxml_tlb.pas). Allpool on kõige lihtsam programm, mis kasutab dom-standardse MSXML.DLL analüsaatori, mis laadib XML-dokumenti alla laadida ja kuvab selle memo1 tekstikastis elementi.</p> <b>kasutusalad.</b> Aknad, sõnumid, sysutils, klassid, graafika, juhtimisseadmed, vormid, dialoogid, Oleserver, MSXML_TLB, STDCTRLS; <b>tüüp</b> Tform1 \u003d. <b>klass</b>(TFORM) nupp1: tbutton; MEMO1: TMEMO; <b>menetlus.</b> Button1Click (saatja: tofject); <b> lõpp;</b> <b>var.</b> Vorm1: TForm1; <b>rakendamine</b> ($ R * .dfm) <b>Menetlus.</b>TForm1.button1click (saatja: tofject); <span> // deklaratsiooni Soklass objekti domendokment;</span> <b>var.</b>codoc: koodomdokment; <span> // klass, mis on kooskõlas Idomdocumentliidesega;</span> <b>var.</b>DOC: ixmldocument; <b>alusta.</b> <span> // Domendocument objekti eksemplari loomine;</span> DOC: \u003d Codoc.create; <span> // helistage režiimi meetodile Domedokment-objekti eksemplari;</span> Doc.oad ("Data.xml"); <span> // Juurdepääs Domendocument Objekti XML-i kinnisvara astmele;</span> MEMO1.TEXT: \u003d DOC.XML; <b>lõpp;</b> <b>lõpp.</b> <h2>Dom kontseptsioon - objekti dokumendi mudel</h2> <p>Iga XML-dokument on esindatud komplektina paljude objektide (klasside) komplektina, mille juurdepääs üksikutele elementidele (objekti väljad) on võimalik. DOM - liidese kirjeldab juurdepääsu nii lihtsale domringi või carchandata objektide ja osade või eraldi XML elemendid dokumendi: domfragmentelektri, Domnode, domeli.</p> <p>Järgnevalt on kõige olulisemad omadused ja meetodid XMldomdocument, XMldomnode, XMldomnodelile. Tuleb märkida, et mudel MSXML.DLL XML analüsaator, MSXML.DLL XML analüsaator, mida allpool esitatud MSXML.DLL XML-analüsaator, kasutavad MSXML.DLL XML analüsaator kui W3C mudeli poolt heaks kiidetud Dom konsortsium.</p> <p>Interface Dom objektide täielikum kirjeldus võib leida</p> <table cellspacing="0" cellpadding="4" width="500" border="1"><tbody><tr><td valign="top" colspan="2"> Xmldompdocument objekti</td> </tr><tr><td valign="top" colspan="2">Esitab objekti hierarhia tipptasemel ja sisaldab meetodeid dokumendiga töötamiseks: selle allalaadimine, analüüs, elementide loomine, atribuudid, kommentaarid selles jne. .</td> </tr><tr><td valign="top" colspan="2"><b>Omadused</b> </td> </tr><tr><td valign="top" width="39%"><b>Async.</b> </td> <td valign="top" width="61%">Voolu töötlemise režiimi tuvastamine</td> </tr><tr><td valign="top" width="39%" height="19"><b>Parserror</b> </td> <td valign="top" width="61%" height="19">Tagastab viide XMLdomomparseErrori vea töötlemise objektile</td> </tr><tr><td valign="top" width="39%"><b>Luba - keelata dokumendi kontrollimine.</b> </td> <td> </td> </tr><tr><td valign="top" width="39%"><b>url</b> </td> <td valign="top" width="61%">Tagastab dokumendi URL-i</td> </tr><tr><td valign="top" width="39%"><b>dokumentatsioon</b> </td> <td valign="top" width="61%">Sisaldab viidet dokumendi juureelemendile XMldomemement-objektina.</td> </tr><tr><td valign="top" colspan="2"><b>Meetodid</b> </td> </tr><tr><td valign="top" width="39%"><b>koormus (URL) <br>loadxml (xmlstring)</b> </td> <td valign="top" width="61%">Laadib XML-dokumenti</td> </tr><tr><td valign="top" width="39%"><b>salvesta (Objtarget)</b> </td> <td valign="top" width="61%">Salvestab XML-dokumendi faili</td> </tr><tr><td valign="top" width="39%"><b>katkestama.</b> </td> <td valign="top" width="61%">Dokumendi allalaadimise ja töötlemise protsessi katkestamine.</td> </tr><tr><td valign="top" width="39%"><b>credeatTribute (nimi)</b> </td> <td valign="top" width="61%">Loob uue atribuudi määratud nimega praeguse elemendi jaoks.</td> </tr><tr><td valign="top" width="39%"><b>kreditenode (tüüp, nimi, nimeSpaceri)</b> </td> <td valign="top" width="61%">Loob kindlaksmääratud tüübi ja pealkirja sõlme</td> </tr><tr><td valign="top" width="39%"><b>createelement (Tagname)</b> </td> <td valign="top" width="61%">Loob dokumendi elemendi määratud nimega.</td> </tr><tr><td valign="top" width="39%"><b>createTextnode (andmed)</b> </td> <td valign="top" width="61%">Loob dokumendi sees teksti</td> </tr><tr><td valign="top" width="39%"><b>geteelementsbyTagname (Tagname)</b> </td> <td valign="top" width="61%">Tagastab lingi dokumendi kirjete kogumisele määratud nimega</td> </tr><tr><td valign="top" width="39%"><b>nodefromid (IDString)</b> </td> <td valign="top" width="61%">Otsi element identifikaatori järgi</td> </tr></tbody></table><br><table cellspacing="0" cellpadding="4" width="500" border="1"><tbody><tr><td valign="top" colspan="2"> <b>Xmldomnode objekt</b> </td> </tr><tr><td valign="top" colspan="2">Xmldomnode objekt, mis rakendab põhilist domliidet <b>Sõlme.</b>, Mille eesmärk on manipuleerida dokumendipuu eraldi sõlme. Selle omadused ja meetodid võimaldavad teil saada ja muuta täielikku teavet praeguse sõlme - selle tüübi, nimi, täielik nimi, täielik nimi, selle sisu, lasteelementide loend jne.</td> </tr><tr><td valign="top" colspan="2"><b>Omadused</b> </td> </tr><tr><td valign="top" width=" "><b>nomename, Basename.</b> </td> <td valign="top" width="65%">Tagastab praeguse sõlme nime.</td> </tr><tr><td valign="top" width="35%"><b>eesliide.</b> </td> <td valign="top" width="65%">Tagastab nimeruumi eesliide.</td> </tr><tr><td valign="top" width="35%"><b>andmetüüp</b> </td> <td valign="top" width="65%">Määrab sisu tüüp praeguse sõlme</td> </tr><tr><td valign="top" width="35%"><b>nodetype, Nodetystring</b> </td> <td valign="top" width="65%">Tagastab praeguse sõlme tüübi:</td> </tr><tr><td valign="top" width="35%"><b>atribuudid.</b> </td> <td valign="top" width="65%">Tagastab praeguse sõlme atribuutide nimekirja XMldomnamendemapi kollektsiooni.</td> </tr><tr><td valign="top" width="35%"><b>tekst.</b> </td> <td valign="top" width="65%">Tagastab praeguse toetuse sisu teksti kujul.</td> </tr><tr><td valign="top" width="35%"><b>xml</b> </td> <td valign="top" width="65%">Tagastab praeguse toetuse XML-i esindatuse.</td> </tr><tr><td valign="top" width="35%"><b>nodevalue.</b> </td> <td valign="top" width="65%">Tagastab sisu praeguse sõlme sisu.</td> </tr><tr><td valign="top" width="35%"><b>childnods.</b> </td> <td valign="top" width="65%">Tagastab lapse elementide nimekirja XMldomnodelilusena.</td> </tr><tr><td valign="top" width="35%"><b>esmaajal, Lastelchild.</b> </td> <td valign="top" width="65%">Tagastab esimese / viimase lapse elemendi</td> </tr><tr><td valign="top" width="35%"><b>eelmineSizing, Nextibling</b> </td> <td valign="top" width="65%">Tagastab eelmise / järgmise õendusabi elemendi.</td> </tr><tr><td valign="top" width="35%"><b>vanemnodeerimine.</b> </td> <td valign="top" width="65%">Sisaldab viidet vanemaelemendile.</td> </tr><tr><td valign="top" width="35%"><b>omanikdokument</b> </td> <td valign="top" width="65%">Tagastab osuti dokumendile, kus praegune sõlme asub.</td> </tr><tr><td valign="top" colspan="2"><b>Meetodid</b> </td> </tr><tr><td valign="top" width="35%"><b>appechild (Newchild)</b> </td> <td valign="top" width="65%">Lisab uue lapse elemendi praegusele sõlmele.</td> </tr><tr><td valign="top" width="35%"><b>inseSeBefore (Newchild, mittevastavus)</b> </td> <td valign="top" width="65%">Lisab lapse sõlme, millel on see resferaadilise parameetri määratud sõlme praeguses substree "vasakul".</td> </tr><tr><td valign="top" width="35%"><b>klonenood (sügav)</b> </td> <td valign="top" width="65%">Looge praeguse elemendi koopia.</td> </tr><tr><td valign="top" width="35%"><b>getaatribute.</b><b>(Nimi) <br> </b><b>getaatributenode.</b><b><span> (Nimi) <br>sETATTRIBUTE (nimi, väärtus) <br>sETATTRIBUTENODE (XMLDOMATTRIBUTE)</span> </b> </td> <td valign="top" width="65%">Juurdepääs atribuutidele (loomine, lugemine, kirjutamine) objekti. Nimi - atribuudi nimi, väärtus - selle väärtus. Tagastab xmldomattribute objekti väärtuse.</td> </tr><tr><td valign="top" width="35%"><b>asenda (Newchild, Oldchild) Removerchild (Oldchold)</b> </td> <td valign="top" width="65%">Asendamine Oldchildi objekti praeguse nimekirja tütarettevõtjate nimekirja Newchildis. Oldchildi objekti eemaldamine</td> </tr><tr><td valign="top" width="35%"><b>selected vali</b> </td> <td valign="top" width="65%">Tagastab otsingumustri või esimese sõlme xmldomnodelisti objekti</td> </tr><tr><td valign="top" width="35%"><b>transformanode (styesheet) <br>transformanodetobject (stiilis, Outtobject)</b> </td> <td valign="top" width="65%">Määrab stiililaua toetamiseks praeguse sõlme ja tagastab stringi - tulemus töötlemise. Viide Domedocument objektile edastatakse parameetrina, milles asuvad XSL-juhised.</td> </tr></tbody></table><br><h2>XML-i kasutamine äris.</h2> <p>Selgema pildi jaoks on vajalik selgitus ja miks see kõik on vajalik sellega, kuidas see mõista, kuidas see toimib:</p> <p>B2B või ettevõtte ERP-süsteemi ehitamisel XML-i dokumentide teabevahetuse korraldamisel Prom-I ettevõtete või filiaalide vahel kasutatakse tõhusalt tõestatud infosüsteemi HTTP-protokollide kättesaadavate veebiserverite alusel.</p> <p>Ühest küljest toimib rakendus kliendina, mis postitamisrežiimis väljastab HTTP-päringu, teiselt poolt, veebiserver asub küljel, mille taotlus töödeldakse ja vastus. XML-dokumente kasutatakse vahetustena.</p> <p>Näiteks on raamatupidamisprogrammi lihtsa ettevõtte ERP-süsteemis (ACS-i raamatupidamine) vaja moodustada teatud taotluse esitamise ja edastada selle harule, millel on ladu (ACS Warehouse). Kunst on sarnase probleemi seadistus süsteemi B2B loomisel, kui ettevõte taotleb toodete kättesaadavust (tellimuse ostmiseks) tarnija V.</p> <p>Ettevõte A ja tema programm tegutseb kliendina. Laos teenindab tarnija, kellel on SQL Serveris ladu BD kompleks. Exchange viiakse läbi ettevõtte veebiserveri tarnija V. kaudu</p> <p>Allpool on järgmine tüüpiline vahetus algoritm:</p> <br>Joonis 3. <ol><li><b>Ettevõte A.</b>algatab <b>process A.</b>(Toote järjekorras), mis tegutseb veebi kliendina.</li><li><b>Process A.</b>loob XML-dokumendi (näiteks arve) ja edastab selle Web tarnija server V. Post HTTP-päringuna URI-i - töötlemise taotluse identifikaatorina. URI võib olla sama igat liiki dokumentide või üksikute puhul iga tüübi puhul. See kõik sõltub struktuuri B2B (Web) server.</li><li>Veebiserver analüüsib taotlust ja genereerib serverit <b>Protsess B.</b>Vastates XML-dokumendi parameetrina. <br>Protsess veebiserver käivitatakse ja töödeldakse kas ASP-leheküljel, CGI (ISAPI) - rakenduse või Java Sevrlet (Server rakendus)</li><li><b>Protsess B.</b>- Loob taotluse SQL andmebaasi serverisse.</li><li>SQL Server teeb andmebaasi vajalikud toimingud, moodustab vastuse ja tagastab selle. <b>Protsess B.</b>.</li><li>SQL Serveri vastus <b>Protsess B.</b> Loob XML-dokumendi (vastus) ja võimaldab tal vastusena HTTP-päringule kliendirakendusele.</li><li>Veelgi enam, sõltuvalt kliendi poole olukorrast moodustub kas uus HTTP-päring või seanss lõpeb.</li> </ol><h2>Mõned sõnad dokumendihalduse korraldamise kohta.</h2> <p>XML-i vahetussüsteemi üldreegel on:</p><ul><li><b>esiteks</b>- elektrooniliste dokumentide voolu ja nende struktuuri voolu arendamine;</li><li><b>teiseks</b>- protsesside funktsioonide (subprocesses) funktsioonide arendamine s.t. Mis funktsiooni, mille suhtes XML-dokument rakendab iga protsessi.</li> </ul><p>Iga XML-dokument, nagu HTML-dokument, peaks koosnema sõnumi päisest (teabevahetaja) ja sõnumiorganisatsioonist (päringule selle teabe päringule, mida märgistatakse taotlusele vastamiseks). Selleks, et XML-dokument on õigesti moodustatud, on vaja näiteks kahte komponenti "Päise" ja "taotlus" raamitud silte, näiteks. Standarddokumendi vaade on esitatud allpool:</p> <p>Pealkiri (joonis 4), erinevalt dokumendi HTML-i, peaks sisaldama teistsugust teenindusandmeid, sealhulgas teavet edastatud dokumendi tüübi kohta. Dokumendi informatiivne töötlemine on kättesaadav, s.o. Mõelnud osa on sildiga raamitud. Tuleb märkida, et päise struktuur peaks olema ühendatud igasuguste dokumentide jaoks.</p> <p>Serveri käigus töötava protsessi jaoks on töötlemise algoritm eelistatavalt (kuid vajalik) ehitamiseks järgmiselt:</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>Joonis 6. <h2>Mõned peamised hetked kliendi osa loomisel</h2> <p>Nagu juba selgitatud, kasutab XML-dokumendi loomisel oma esindatust dom mudeli kujul. Allpool on XML-sõnumi päise programmi Delphi teksti teksti näide.</p> <b>menetlus.</b>Thread1.HeaderCreate (saatja: tofject); <b>var.</b> <span> // klasside teade on vaja luua</span> Codoc: koodomdokment; <span> // xmldomdocument objekti</span> Doc: Domdocument; R: Ixmldomelement; Sõlme: ixmldomelement; // domtext txt: ixmldomtext; // domattribute attration: ixmldomattribute; <b>alusta.</b> <span> // DOM-dokumendi loomine</span> DOC: \u003d Codoc.create; Doc.SET_ASYNC (FALSE); <span> // esialgse algatamise domineerimine</span> Doc.loadxml (" <Header/>"); <span> // domelite loomine (silt<<b>Saatja.</b>>) </span> Sõlme: \u003d Doc.CreatEelement ("saatja"); <span> // Tekstiõlme loomine " <b>LLC "Typhoon"</b>" </span> Txt: \u003d doc.creteTextnode ("LLC" Typhoon "); <span> // sõlme määramine<<b>Saatja.</b>\u003e Väärtus</span> <span> // teksti sõlme " <b>LLC "Typhoon"</b>" </span> Node.ApendChild (txt); <span> // elemendi lisamine<<b>Saatja.</b>\u003e Dokumendi juurena tütarettevõtjana</span> R.Appendchild (sõlme); <span> <<b>Alates.</b>> </span> Sõlme: \u003d Doc.CreatEelement ("alates"); Txt: \u003d doc.creteTextnode ("http://tayfun.ru/xml/default.asp"); Node.ApendChild (txt); R.Appendchild (sõlme); <span> // Sarnased toimingud sildile<<b>.</b>> </span> Sõlme: \u003d Doc.CreatEelement ("to"); Txt: \u003d doc.creteTextnode ("http://irbis.ru"); Node.ApendChild (txt); R.Appendchild (sõlme); <span> // luua domelite ()</span> Sõlme: \u003d Doc.CreatEelement ("kirjupedokument"); <span> // xmldomattribute sõlme loomine</span> ATT: \u003d DOC.CreatipeatTribute ("ID", "tellimus"); <span> // <TypeDocument Id="Order"/> </span> Node.Appendchild (ATT); R.Appendchild (sõlme); <b>lõpp;</b> <p>Tuleb märkida, et teatis Codoc: Codomdocument ja Doc: Domdocument muutuja, samuti loomise loomise meetod (doc: \u003d Codoc.create;) viiakse läbi üks kord. Muutuse deklaratsioon on ülemaailmsete muutujate kirjelduse jaotises, mitte kohalikus menetluses, nagu on näidanud nähtavuse nähtavuseks (s.o Domendokmenti üks globaalne muutuja).</p> <p>Ülaltoodud programmi tulemus on loodud päis, seoses meie XML-dokumendi näitega: kujutatud joonisel 5 kujutatud.</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>Joonis 5. <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>Joonis 6.</p><p>Põhiline eelis edastada teavet kujul XML-dokumentide kujul on see, et on võimalik moodustada sõnumi, kasutades sõltumatu struktuuri tabelite DBMS nii vastuvõetud ja edastatud küljel. Kasutades meie näidet, siis on tal kohustatud edastama informatsiooni ettevõtte A arvete kohta joonisel fig 6 näidatud struktuuri DBMS-is</p> <p>Arve sisaldava XML-dokumendi moodustamine, ehitatud SQL-i taotlus (päring A) teabe kohta arve kohta:</p> <b>Valige</b> * Invoice_General <b>Kus</b> Invoicenum \u003d: Num <b>Valige</b>Kaubad, quulity, hind, Hz_cod <b>Alates.</b>Kaubad <b>Kus</b> Invoicenum \u003d: Num <span> //: Num - parameeter, mis määrab arve number.</span> <p>Allpool on osa programmist, mis moodustab XML-dokumendi keha:</p> <b>menetlus.</b> Thread1.databodycreate (saatja: tobject); <b>var.</b> <span> // klasside ja XMldomdocument</span> // Codoc: Codomdocument; <span> // peab olema kogu mooduli jaoks globaalne.</span> // doc: domendokment; <span> // domeliteobjektide teadaanne</span> R: Ixmldomelement; // domelite; Sõlme, Node2: Ixmldomelement; Node3, Node4: Ixmldomelement; // domtext txt: ixmldomtext; Str: string; <span> // Inveroicumber: <b>täisarv;</b> - Globaalne muutuja - // Masching 987654 // Querya, Queryb: <b>String;</b> - Ülemaailmne muutuja, // taotluste säilitamine // Querya - taotlus ja üldine teave arve // \u200b\u200bQueryb - päringu B-teabe kohta B-informatsioon // Arve (vt teksti)</span> <b>alusta.</b> Query.Close; <span> // vt teksti "Taotlus A"</span> Query.Text: \u003d Querya; <span> // taotleda täitmist</span> Query.execSQL; Query.open; <span> // Get aadressi juure element</span> R: \u003d doc.get_documellement; Node2: \u003d Doc.CreatEelement ("taotlus"); <span> // luua domelite (sildi)</span> Sõlme: \u003d Doc.creatEelement ("arve"); <span> // elemendi lisamine root</span> R.Appendchild (sõlme2); <span> // elemendi lisamine</span> Node2. Appenchild (sõlme); <span> // luua domelite (sildi)</span> Node3: \u003d Doc.CreatEelement ("saastumine"); <span> // elemendi lisamine</span> Sõlme. Appenchild (sõlme3); <span> // Apense "Salvesta" väljale</span> Str: \u003d Query.fieldbynimi ("Salvestage"). <span> // Tekstiõlme loomine \u003d Field Väärtus</span><span> // sõlme loovutamise väärtus</span> <span> // teksti sõlme, muutuja str</span> Node.ApendChild (txt); <span> // Sarnased toimingud sildile <Destination>, <DataSend>, // <DataDepurture>, <Currency> // <DestinationCompany> (Field DB "kaubasaaja")</span> Sõlme: \u003d Doc.CreatEelement ("sihtkoht"); <span> // andmebaasi väli ei pruugi nimega kokku langeda</span> Str: \u003d Query.fieldbynimi ("kaubasaaja") .Sstring; <span> // Tagas, selle kasutamise eelises</span> Txt: \u003d doc.creteTextnode (str); <span> // Dom liides enne DBMS-i, millel on XML-liidese toetamine, // Type Oracle 8i või pr SQL 2000</span> Node.ApendChild (txt); ... <span> // Kaubataotluse moodustamine</span> <span> // sulgeb juurdepääsutaotluse</span> Query.Close; <span> // vt teksti "Taotlus", Info. Toodete kohta</span> Query.Text: \u003d Queryb; <span> // parameetrite väärtuste määramine</span> Query.Parrams.asinteger: \u003d Invoicumber valm <span> // taotleda täitmist</span> QueryE2.execSQL; <span> // avamine juurdepääsu andmetele</span> Query.open; <span> // luua domelite (sildi)</span> Node3: \u003d Doc.creatEelement ("immed"); <span> // elemendi lisamine</span> Sõlme. Appenchild (sõlme3); <span> // tsükkel kõigil taotlustel</span> <b>samas</b> <b>mitte.</b> Eof.Query. <b>teha.</b> Alustamine Node4: \u003d Doc.CreatEelement ("iMem"); <span> // elemendi lisamine</span> Node3.Appendchild (sõlme4); <span> // andmete genereerimine sildi jaoks</span> Str: \u003d Query.fieldbyname ("hind"). Assstring; Txt: \u003d doc.creteTextnode (str); Node.ApendChild (txt); ... <span>// Sarnased toimingud silte jaoks <HZ_Cod>, <Quality>, <GoodName> </span> <b>lõpp;</b> <b>lõpp;</b> <p>Selle protseduuri tulemusena moodustatakse XML-dokumendi järgmine tekst:</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>Avatud meetodit kasutatakse päringu moodustamiseks. <b>Ixmlhttptprequest</b>:</p> <b>menetlus.</b> Open (CONST BSTRMETHOD, - meetod tüüp \u003d "Post" Bstrorl, - URL Varasync Server Aadress, - Asünkroonne / sünkroonse kommunikatsioonirežiim \u003d TRUE BSTRUSER, - kasutajanimi BSTRPasswordi autentimiseks) - parool <h2>Dokumendi töötlemise serveri osa loomine</h2> <p>Nagu varem märgitud, saab HTTP-päringu töötlemist teostada kas CGI-rakenduste või Java servletide. Võimalikud võimalused ASP-lehekülgede kirjutamiseks. Kuid sel juhul on andmeedastus võimalik ainult päringu stringi abil "Get" abil. Kuigi ASP-lehekülje taotluse HTTP-töötlemine töötab tõhusamalt CGI-rakenduses. Kuid minu arvates, ilma mis tahes vahe, kuidas töödelda ja mis veelgi olulisem lahendada küsimus - kuidas ehitada töötlemisprogrammi ja mitte Mis vahenditega.</p> <p>Kui me üle XML-dokumendi moodustamise valikud eelmise peatükis, siis ülesande server taotluse on vastupidine XML dokumentide. Allpool on osa programmist, mis analüüsib XML-dokumenti:</p> <b>menetlus.</b>Thread1.dataparser (saatja: tobject); <b>var.</b> <span>// domeliteobjektide teadaanne</span> R, fnode: ixmldomelement; Tn, failinimi: string; Parm: string; <span>// Soklass teadaanne ja</span> Codocxml, CoDocxsl, CodocreSuult: Codomdocument; <span>// xmldompdocument objekt</span> Xmldoc, xsldoc, tulemusDoc: domendokment; <span>// httpstr: string; - http päringu stringi sisaldav ülemaailmne muutuja</span> <b>Alusta.</b> XMldoc: \u003d CoDocxml.create; Xmldoc.loadxml (httpstr); <span> // Get aadressi juure element</span> R: \u003d doc.get_documellement; <span> // elemendi väärtuse saamine</span> FNODE: \u003d R.SelectSinglenode ("// kirjupedoktuuri"); <span> // saada atribuutiväärtuse ID \u003d "tellimus"</span> FileName: \u003d fnode.getsetttibute ("ID"); <span> // ja moodustades failinime tellimuse.xsl</span> FileName: \u003d FileName + ". XSL"; <span> // dokumendi xsldoc loomine</span> Xsldoc: \u003d codocxsl.create; Xsldoc.loadxml (failinimi); <span> // XMLDOC-dokumendi loomine</span> TulemusDoc: \u003d CodocreSult.create; <span> // Sünkroonse töötlemise režiimi seadistamine</span> Tulemusdoc.set_async (FALSE); <span> // Debureerimiskontrolli installimine</span> Tulemusdoc.Validateonparaas: \u003d tõsi; <span> // kollaps xmldoc xsl malli</span> Xmldoc.transformnoc, tulemusdoc (xsldoc, tulemusdoc); <span> // muutuja str on määratud teksti väärtus</span> <span> // saadud dokument.</span> Str: \u003d tulemusdoc.Text; <span> // otsinguelement</span> FNODE: \u003d R.SelectSinglenode ("// inVuicumber"); <span> // ja saada elemendi väärtuse</span> Parm: \u003d fnode.Text; <span> // sulgeb juurdepääsutaotluse</span> Query.Close; Query.Text: \u003d str; <span> // parameetri väärtuse määramine</span> Query.params.asstring: \u003d Parm; <span> // taotleda täitmist</span> Query.execSQL; <b>lõpp;</b> <p>Kogu parsimise valik on rakendada XSL-malli, mis on moodustatud iga dokumendi tüübi jaoks eraldi. Analüüsi tulemus on SQL päringu string. Sellest tulenevalt teeb genereeritud SQL-i päringu stringi täitmine vajalikud DBMSi vajalikud muudatused.</p> <p>Malli kaudu parsimise kasutamise eeliseks on ka selles, et saadakse mõnede andmete paindlikkuse ja algoritmi toimimise täielik sõltumatus programmi koodist. Allpool on XSL-malli tekst vastavalt dokumendi tüübi töötlemiseks.</p><p> <!-- файл Order.xsl --> <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="/"> <xsl:for-each select="//header"> Sisestage tabregi (alates, typeDoc, keha) väärtused (" <xsl:value-of select="from" />", "<xsl:value-of select="to" />", "<xsl:value-of select="TypeDocument/@id" />") </xsl:for-each> <xsl:for-each select="//item"> Lisage kaupu (inVuicumber, nimi, hind, kvaliteeti) väärtused ("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>Ülaltoodud näite selgitust tuleb märkida, et siltepaaride kasutamine ja formaalne, sest Pärast parsimist peaks saadud XML-dokumendis esinema vähemalt üks sõlme. Tulemusdoc.Text meetod määrab XML-dokumendi tulemusDoc analüüsimisel saadud teksti väärtuse. Sel juhul on väärtus kõik, mida siltepaarid on raamitud ja, st. Oleme moodustanud SQL taotluse.</p> <p>Programmi kirjutamise teine \u200b\u200bomadus tuleb märkida SQL parameetri kasutamise võimalus <b>: Num.</b> Parameetri kasutamine võimaldab teil lihtsustada XSL-malli teksti. Määratlus XML-dokumendi sõlmede vastavate elementide väärtus määratakse esialgu vastava sõlme nime valimisel näiteks:</p><h2>Lühidalt XSL kohta</h2> <p>XSL lühend pärineb laiendatavast stiilis keele - stiilis tabeli vormindamise keel (XML-andmed). Kuna XML-andmete vormindamiseks kasutatakse XML-andmete vormindamiseks laiendatud stiilis keelt (XSL) päisest (XSL). W3C XSL määratluse järgi koosneb kahest osast:</p> <ul><li>XSLT - XSL transformatsioon. Keele kasutatakse teisendada või vormindada (transformeerida) XML dokumente. Seega, kasutades XSLT-d, saame erinevate andmete ja andmeedastuse vormide erinevate osade.</li><li>Vormindamise elemendid. Need elemendid hõlmavad kõiki tüpograafiliste andmete disaini elemente, pärast seda, kui neid töödeldakse XSL-i abil. Kasutatakse ainult HTML-lehekülgede moodustamiseks.</li> </ul><p>Kasutades XSLT-d, saame valida andmeid XML-faililt, mida vajate, ja korraldage need kasutajale vormis. Näiteks meie puhul muutsime XML-andmed SQL-i päringuna. Klassikaline XSL-rakendus on tavaliselt vormindamise andmed HTML-lehekülgedena või haruldase esindatusena RTF-failide kujul.</p> <p>XSL-failis kirjeldatakse malli (malli), mille kohaselt viiakse läbi XML-andmete konversioon. XSL-i mallide juurde naasmine võib XSLT-s (Direktiivides) eraldada järgmisi elemente:</p> <table cellspacing="0" cellpadding="4" width="500" border="1"><tbody><tr><td valign="top" width="31%"> <b>XSL direktiiv</b> </td><th align="middle" width="69%"> <b>kirjeldus</b> </th> </tr><tr><td>xSL: Rakenda-mallid</td> <td>Direktiiv, mis näitab asjakohaste mallide atribuudi rakendamist Vali \u003d "Malli nimi"</td> </tr><tr><td>xSL: atribuut.</td> <td>loob atribuudi puu ja lisab selle väljundlemendile, nimi \u003d "atribuut nimi" parameeter, nimeruumi - URI nimeruumi (nimeruumi eesliide)</td> </tr><tr><td>xSL: kõne-mall</td> <td>põhjustab malli, atribuudi nimi \u003d "Uri mallil"</td> </tr><tr><td>xSL: valige. <br>xSL: millal. <br>xSL: vastasel juhul.</td> <td>valiku tegemine seisundi järgi XSL: Kui expr \u003d "Arvutamine ekspressiooni skripti", <br>keel \u003d "Keelenimi" <br>test \u003d "Arvutatud väljend"</td> </tr><tr><td>xsl: kommentaar</td> <td>genereerib väljunddokumendi kommentaari</td> </tr><tr><td>xSL: koopia <br>xSL: koopia-of</td> <td>kopeerib praegune sõlme väljundallikas või lisab dokumendi fragmendi sõlmele, kus valige \u003d "allika sõlme nimi" Atribuut</td> </tr><tr><td>xSL: element</td> <td>loob väljundielemendi nime järgi, atribuudi nimi \u003d "Element nimi", nimeruumi \u003d "URI viide nimeruumile"</td> </tr><tr><td>xSL: igaüks</td> <td>re-rakendage malli kõigile sõlmede loendisse sõlmedele, valige atribuut Seade nimekirja sõlmedest.</td> </tr><tr><td>xSL: kui.</td> <td>tingimuste kontroll määrab katse atribuut väljendina</td> </tr><tr><td>xSL: Lisage</td> <td>sisaldab välise malli, atribuut href \u003d "URI viide"</td> </tr><tr><td>xSL: väljund</td> <td>määrab väljundi tulemus, meetodi atribuut võib olla "XML", "HTML" või "Tekst"</td> </tr><tr><td>xSL: param</td> <td>määrab parameetri väärtus, nimi \u003d "Parameetri nimi" atribuut, valige \u003d "Väärtus"</td> </tr><tr><td>xSL: töötlemise juhendamine</td> <td>loob juhiseid töötlemiseks, atribuutide nimi \u003d "Nimi Protsessi juhised"</td> </tr><tr><td>xSL: Sorteeri.</td> <td>sorteerib paljud sõlmed, atribuudid Vali \u003d "Nood nimi", Data-Type \u003d andmetüüp ("Tekst" | "number" |</td> </tr><tr><td>xSL: stiilis.</td> <td>määrab XSL-malli dokumendi, on XSLT juureelement</td> </tr><tr><td>xSL: mall.</td> <td>määrab XSL-malli, nimi \u003d "URI eesliide atribuut malli nimele", Match \u003d "Märkus sõlmele, millele mall kehtib"</td> </tr><tr><td>xSL: Tekst.</td> <td>genereerib teksti väljundvoog, keelata väljund-põgenemine \u003d "Jah" või "Ei" atribuut näitab võimalust luua ESC tähemärki</td> </tr><tr><td>xSL: väärtus</td> <td>lisab valitud sõlme väärtuse tekstina, valige SELECT \u003d "Pointer sõlme" atribuut, millest väärtus on võetud</td> </tr><tr><td>xSL: muutuja</td> <td>määrab muutuva piiride väärtuse, nimi atribuut \u003d "muutuja nimi", valige \u003d "Arvutage muutuja väärtus"</td> </tr><tr><td>xSL: parameetriga</td> <td>rakendab parameetrit malli, nimi atribuut \u003d "parameetri nimi", valige \u003d Expression arvutada praeguse konteksti, vaikeväärtuse "."</td> </tr></tbody></table><h2>Järeldus</h2> <p>Kokkuvõttes tuleb märkida, et standardse XML-parseri kasutamine <i>msxml.dll</i>see ei ole ainus vahend XML-dokumentide parsimise ja loomise vahend. Näiteks XML-dokumentide loomiseks komponentide tõhusaks kasutamiseks <b>Tpageproduser.</b>ja <b>Ttableproduser.</b>. Aga see artikkel rõhutab ainult laius ja võimalust rakendada dom mudel praktikas.</p> <p>Autor on väga tänulik tagasisidet teema asjakohasuse kohta, üldise sisu, esitluse stiili, samuti kõik muud märkused, mis aitavad veelgi parandada artiklite kogumise kvaliteeti ja raamatute vabastamist, mis katab XML-dokumentide kasutamise praktilise poole teema e-kaubanduses. Lisateavet elektrooniliste dokumentide rakendamise praktilise külje kohta saate õppida aadressilt www.edocs.al.ru autori veebisaidil, samuti on plaanis asetada allikas tekstid ja näited.</p> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast?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>Eelmine artikkel</span><a href="https://obanracer.ru/et/ustanovit-novoe-znachenie-v-vide-vyrazheniya-1s.html">Määrake uue väärtuse 1C-s</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>Järgmine artikkel</span><a href="https://obanracer.ru/et/ustanovka-na-server-1s-iis-nastroika-veb-serverov-dlya-raboty-s-1s-predpriyatiem.html">Veebiserverite seadistamine töötada "1C: Enterprise</a></div> <!-- /next_post --> </div> </div> <div class="td-author-name vcard author" style="display: none"><span class="fn"><a href="https://obanracer.ru/et/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="#">Sarnased artiklid</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/et/1s-8-3-kak-zakryt-nachalnuyu-stranicu-nastroika-nachalnoi-stranicy.html" rel="bookmark" title="3 Kuidas kodulehe sulgeda"><img width="218" height="150" class="entry-thumb" src="/uploads/e727e0c935b97e8db211d1b5d2ca1f9d.jpg" alt="3 Kuidas kodulehe sulgeda" title="3 Kuidas kodulehe sulgeda"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/et/category/security/" class="td-post-category">Ohutus</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/et/1s-8-3-kak-zakryt-nachalnuyu-stranicu-nastroika-nachalnoi-stranicy.html" rel="bookmark" title="3 Kuidas kodulehe sulgeda">3 Kuidas kodulehe sulgeda</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/et/kak-ubrat-nachalnuyu-stranicu-v-1s-8-3-nastroika-nachalnoi.html" rel="bookmark" title="Kuidas eemaldada koduleht 1C 8"><img width="218" height="150" class="entry-thumb" src="/uploads/82e9c5ed520e4606ae1334729138755b.jpg" alt="Kuidas eemaldada koduleht 1C 8" title="Kuidas eemaldada koduleht 1C 8"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/et/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/et/kak-ubrat-nachalnuyu-stranicu-v-1s-8-3-nastroika-nachalnoi.html" rel="bookmark" title="Kuidas eemaldada koduleht 1C 8">Kuidas eemaldada koduleht 1C 8</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/et/chto-znachit-oshibka-pole-obekta-ne-obnaruzheno-chto-delat-esli-pole.html" rel="bookmark" title="Mida teha, kui"поле объекта не обнаружено""><img width="218" height="150" class="entry-thumb" src="/uploads/0e626392e5e6490e86ec30bbe7f58dbd.jpg" alt="Mida teha, kui"поле объекта не обнаружено"" title="Mida teha, kui"поле объекта не обнаружено""/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/et/category/processors/" class="td-post-category">Töötlejad</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/et/chto-znachit-oshibka-pole-obekta-ne-obnaruzheno-chto-delat-esli-pole.html" rel="bookmark" title="Mida teha, kui"поле объекта не обнаружено"">Mida teha, kui "objekti väljale ei tuvastata"</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/et/pavel-chistov-pavel-chistov-sopostavlenie-nomenklatury.html" rel="bookmark" title="Pavel Chistovi võrdlus nomenklatuur"><img width="218" height="150" class="entry-thumb" src="/uploads/7a54987d3ce2bc1add6bc8963fe26f12.jpg" alt="Pavel Chistovi võrdlus nomenklatuur" title="Pavel Chistovi võrdlus nomenklatuur"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/et/category/processors/" class="td-post-category">Töötlejad</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/et/pavel-chistov-pavel-chistov-sopostavlenie-nomenklatury.html" rel="bookmark" title="Pavel Chistovi võrdlus nomenklatuur">Pavel Chistovi võrdlus nomenklatuur</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/et/programmirovanie-1s-8-3-s-nulya-samouchitel-osnovy-programmirovanie-v-srede-1s-predpriyatie-eto-bo.html" rel="bookmark" title="Programmeerimine 1c 8,3 null juhendajast. Fundamentals Programmeerimine keskmises "1c: ettevõte. See on rohkem kui raamatupidamine"><img width="218" height="150" class="entry-thumb" src="/uploads/1e418d2d2e2348a32d3af4093b1b07a8.jpg" alt="Programmeerimine 1c 8,3 null juhendajast. Fundamentals Programmeerimine keskmises "1c: ettevõte. See on rohkem kui raamatupidamine" title="Programmeerimine 1c 8,3 null juhendajast. Fundamentals Programmeerimine keskmises "1c: ettevõte. See on rohkem kui raamatupidamine"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/et/category/internet/" class="td-post-category">Internet</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/et/programmirovanie-1s-8-3-s-nulya-samouchitel-osnovy-programmirovanie-v-srede-1s-predpriyatie-eto-bo.html" rel="bookmark" title="Programmeerimine 1c 8,3 null juhendajast. Fundamentals Programmeerimine keskmises "1c: ettevõte. See on rohkem kui raamatupidamine">Programmeerimine 1c 8,3 null juhendajast. Fundamentals Programmeerimine keskmises "1c: ettevõte. See on rohkem kui raamatupidamine</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/et/obuchenie-yazyku-programmirovaniya-1s-8-3-osnovy-programmirovanie-v-srede-1s.html" rel="bookmark" title="Õppimine keele programmeerimine 1c 8"><img width="218" height="150" class="entry-thumb" src="/uploads/6cc6953e99367d45a2fe345b2b0fc8c3.jpg" alt="Õppimine keele programmeerimine 1c 8" title="Õppimine keele programmeerimine 1c 8"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/et/category/graphics-card/" class="td-post-category">Videokaart</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/et/obuchenie-yazyku-programmirovaniya-1s-8-3-osnovy-programmirovanie-v-srede-1s.html" rel="bookmark" title="Õppimine keele programmeerimine 1c 8">Õppimine keele programmeerimine 1c 8</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/et/pole-obekta-ne-obnaruzheno-kod-sistemy-nalogooblozheniya-chto-delat.html" rel="bookmark" title="Mida teha, kui"поле объекта не обнаружено""><img width="218" height="150" class="entry-thumb" src="/uploads/4eceb97c92b9d88f0e184f56a2535b7a.jpg" alt="Mida teha, kui"поле объекта не обнаружено"" title="Mida teha, kui"поле объекта не обнаружено""/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/et/category/windows-7/" class="td-post-category">Windows 7.</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/et/pole-obekta-ne-obnaruzheno-kod-sistemy-nalogooblozheniya-chto-delat.html" rel="bookmark" title="Mida teha, kui"поле объекта не обнаружено"">Mida teha, kui "objekti väljale ei tuvastata"</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/et/kak-nastroit-glavnyi-ekran-v-1s-nastroika-nachalnoi-stranicy-prilozheniya.html" rel="bookmark" title="Konfigureerige rakenduse esialgne leht"><img width="218" height="150" class="entry-thumb" src="/uploads/321603510ea9ab0ad3fef208f331373d.jpg" alt="Konfigureerige rakenduse esialgne leht" title="Konfigureerige rakenduse esialgne leht"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/et/category/security/" class="td-post-category">Ohutus</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/et/kak-nastroit-glavnyi-ekran-v-1s-nastroika-nachalnoi-stranicy-prilozheniya.html" rel="bookmark" title="Konfigureerige rakenduse esialgne leht">Konfigureerige rakenduse esialgne leht</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/et/chislo-propisyu-podrobnoe-opisanie-chislo-propisyu-podrobnoe.html" rel="bookmark" title="Number püüdmine, üksikasjalik kirjeldus 1c number osutab toime"><img width="218" height="150" class="entry-thumb" src="/uploads/98a0c2a93aba6552f37593b09a4e3b56.jpg" alt="Number püüdmine, üksikasjalik kirjeldus 1c number osutab toime" title="Number püüdmine, üksikasjalik kirjeldus 1c number osutab toime"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/et/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/et/chislo-propisyu-podrobnoe-opisanie-chislo-propisyu-podrobnoe.html" rel="bookmark" title="Number püüdmine, üksikasjalik kirjeldus 1c number osutab toime">Number püüdmine, üksikasjalik kirjeldus 1c number osutab toime</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">Soovitatav</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/et/sopostavlenie-nomenklatury-klassifikator-alkogolnoi-produkcii.html" rel="bookmark" title="Alkoholi toote klassifikaator"><img width="324" height="235" class="entry-thumb" src="/uploads/38c293223c7ea785903f2519ab66da09.jpg" alt="Alkoholi toote klassifikaator" title="Alkoholi toote klassifikaator"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/et/category/ram/" class="td-post-category">Ram</a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/et/sopostavlenie-nomenklatury-klassifikator-alkogolnoi-produkcii.html" rel="bookmark" title="Alkoholi toote klassifikaator">Alkoholi toote klassifikaator</a></h3> <div class="td-module-meta-info"> </div> <div class="td-excerpt"> Programm võimaldab registreerida meie ettevõtte teabebaasi meie tarnijate nomenklatuuri. Selleks kasutage katalooginomenklatuuri ...</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/et/ustanovit-otbor-dinamicheskogo-spiska-1s-8-3-ogranicheniya-i.html" rel="bookmark" title="Seadistage dünaamilise nimekirja valiku 1c 8"><img width="100" height="70" class="entry-thumb" src="/uploads/427a3d58e64d473892a695f97c5f5dfd.jpg" alt="Seadistage dünaamilise nimekirja valiku 1c 8" title="Seadistage dünaamilise nimekirja valiku 1c 8"/ loading=lazy loading=lazy></a></div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/et/ustanovit-otbor-dinamicheskogo-spiska-1s-8-3-ogranicheniya-i.html" rel="bookmark" title="Seadistage dünaamilise nimekirja valiku 1c 8">Seadistage dünaamilise nimekirja valiku 1c 8</a></h3> <div class="td-module-meta-info"> <a href="https://obanracer.ru/et/category/motherboard/" class="td-post-category">emaplaadid</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/et/1s-8-3-ne-ustanavlivaetsya-na-xp.html" rel="bookmark" title="3 ei ole XP-le installitud"><img width="100" height="70" class="entry-thumb" src="/uploads/4e7d4e18756f59b9bb9b2522a93f0767.jpg" alt="3 ei ole XP-le installitud" title="3 ei ole XP-le installitud"/ loading=lazy loading=lazy></a></div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/et/1s-8-3-ne-ustanavlivaetsya-na-xp.html" rel="bookmark" title="3 ei ole XP-le installitud">3 ei ole XP-le installitud</a></h3> <div class="td-module-meta-info"> <a href="https://obanracer.ru/et/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/et/1s-uf-otkryt-formu-vybora-kak-otkryt-formu-spiska-s.html" rel="bookmark" title="Kuidas avada nimekirja vorm mõne valikuga?"><img width="100" height="70" class="entry-thumb" src="/uploads/5a508ae09194fefa55d8487e24073d1e.jpg" alt="Kuidas avada nimekirja vorm mõne valikuga?" title="Kuidas avada nimekirja vorm mõne valikuga?"/ loading=lazy loading=lazy></a></div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/et/1s-uf-otkryt-formu-vybora-kak-otkryt-formu-spiska-s.html" rel="bookmark" title="Kuidas avada nimekirja vorm mõne valikuga?">Kuidas avada nimekirja vorm mõne valikuga?</a></h3> <div class="td-module-meta-info"> <a href="https://obanracer.ru/et/category/more/" class="td-post-category">Teine</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/et/goryachie-klavishi-globalnye-deistviya.html" rel="bookmark" title=""Горячие" клавиши: глобальные действия"><img width="100" height="70" class="entry-thumb" src="/uploads/9648bf237a896db8e7a413c818205052.jpg" alt=""Горячие" клавиши: глобальные действия" title=""Горячие" клавиши: глобальные действия"/ loading=lazy loading=lazy></a></div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/et/goryachie-klavishi-globalnye-deistviya.html" rel="bookmark" title=""Горячие" клавиши: глобальные действия">"Hot" võtmed: globaalne tegevus</a></h3> <div class="td-module-meta-info"> <a href="https://obanracer.ru/et/category/processors/" class="td-post-category">Töötlejad</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/et/perenos-dannyh-perenos-dannyh-perenos-dannyh-1s.html" rel="bookmark" title="Andmete edastamise andmeedastus 1c"><img width="100" height="70" class="entry-thumb" src="/uploads/fd46f9c6d855cc17b8cefec19b84a739.jpg" alt="Andmete edastamise andmeedastus 1c" title="Andmete edastamise andmeedastus 1c"/ loading=lazy loading=lazy></a></div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/et/perenos-dannyh-perenos-dannyh-perenos-dannyh-1s.html" rel="bookmark" title="Andmete edastamise andmeedastus 1c">Andmete edastamise andmeedastus 1c</a></h3> <div class="td-module-meta-info"> <a href="https://obanracer.ru/et/category/power-supply/" class="td-post-category">Toiteallikad</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/et/perenos-dannyh-perenos-dannyh-perenos-dannyh-1s.html" rel="bookmark" title="Andmete edastamise andmeedastus 1c"><img width="100" height="70" class="entry-thumb" src="/uploads/6d2e4e0d43297636fac5df5e772f425c.jpg" alt="Andmete edastamise andmeedastus 1c" title="Andmete edastamise andmeedastus 1c"/ loading=lazy loading=lazy></a></div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/et/perenos-dannyh-perenos-dannyh-perenos-dannyh-1s.html" rel="bookmark" title="Andmete edastamise andmeedastus 1c">Andmete edastamise andmeedastus 1c</a></h3> <div class="td-module-meta-info"> <a href="https://obanracer.ru/et/category/security/" class="td-post-category">Ohutus</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/et/pereraschet-itogov-1s.html" rel="bookmark" title="Tulemuste ümberarvutamine 1c"><img width="218" height="150" class="entry-thumb" src="/uploads/ba4b620b96fd30fca2d70fbace87fafa.jpg" alt="Tulemuste ümberarvutamine 1c" title="Tulemuste ümberarvutamine 1c"/ 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/et/pereraschet-itogov-1s.html" rel="bookmark" title="Tulemuste ümberarvutamine 1c">Tulemuste ümberarvutamine 1c</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/et/1-s-ne-rabotaet-na-windows-10-vy-yavlyaetes-zayadlym-geimerom-igry-world-of-tanks.html" rel="bookmark" title="Sa oled avid gamer mängu maailma mahutite"><img width="218" height="150" class="entry-thumb" src="/uploads/8347b851ead37ff27150b63e50664635.jpg" alt="Sa oled avid gamer mängu maailma mahutite" title="Sa oled avid gamer mängu maailma mahutite"/ 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/et/1-s-ne-rabotaet-na-windows-10-vy-yavlyaetes-zayadlym-geimerom-igry-world-of-tanks.html" rel="bookmark" title="Sa oled avid gamer mängu maailma mahutite">Sa oled avid gamer mängu maailma mahutite</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/et/svernut-odinakovye-znacheniya-1s-8-kak-delat-svertku-bazy.html" rel="bookmark" title="Ahendage samu väärtusi 1c 8"><img width="218" height="150" class="entry-thumb" src="/uploads/e220bb889c0b1160ce0dace8b7b76505.jpg" alt="Ahendage samu väärtusi 1c 8" title="Ahendage samu väärtusi 1c 8"/ 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/et/svernut-odinakovye-znacheniya-1s-8-kak-delat-svertku-bazy.html" rel="bookmark" title="Ahendage samu väärtusi 1c 8">Ahendage samu väärtusi 1c 8</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/et/kak-rabotat-s-hranilishchem-konfiguracii-1s-8-3-rabota-s.html" rel="bookmark" title="Kuidas töötada 1C 8 konfigureerimisega"><img width="218" height="150" class="entry-thumb" src="/uploads/3c575e574d9b3eec802bb6bd0888817d.jpg" alt="Kuidas töötada 1C 8 konfigureerimisega" title="Kuidas töötada 1C 8 konfigureerimisega"/ 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/et/kak-rabotat-s-hranilishchem-konfiguracii-1s-8-3-rabota-s.html" rel="bookmark" title="Kuidas töötada 1C 8 konfigureerimisega">Kuidas töötada 1C 8 konfigureerimisega</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/et/poluchenie-v-zaprose-cen-na-datu-dokumenta-osobennost.html" rel="bookmark" title="Viimaste dokumentide vabastamise omadus teabe registris Hankige taotluses olev hind dokumendi kuupäeva"><img width="218" height="150" class="entry-thumb" src="/uploads/20d7bbd3b35e0fd3bc854b7c014ba8c9.jpg" alt="Viimaste dokumentide vabastamise omadus teabe registris Hankige taotluses olev hind dokumendi kuupäeva" title="Viimaste dokumentide vabastamise omadus teabe registris Hankige taotluses olev hind dokumendi kuupäeva"/ 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/et/poluchenie-v-zaprose-cen-na-datu-dokumenta-osobennost.html" rel="bookmark" title="Viimaste dokumentide vabastamise omadus teabe registris Hankige taotluses olev hind dokumendi kuupäeva">Viimaste dokumentide vabastamise omadus teabe registris Hankige taotluses olev hind dokumendi kuupäeva</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/et/zagovor-na-udachu-pered-sudom.html" rel="bookmark" title="Vandenõu õnne"><img width="218" height="150" class="entry-thumb" src="/uploads/bcd4bb5f35121b24ace4bdb593a35332.jpg" alt="Vandenõu õnne" title="Vandenõu õnne"/ 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/et/zagovor-na-udachu-pered-sudom.html" rel="bookmark" title="Vandenõu õnne">Vandenõu õnne</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/et/vychislit-beglecov-kak-uznat-kto-otpisalsya-v-instagrame-kak.html" rel="bookmark" title="Kuidas teada saada, kes tellib Instagramis tellitult?"><img width="218" height="150" class="entry-thumb" src="/uploads/28ef9d0b7f80a016c25eaad1953a9d17.jpg" alt="Kuidas teada saada, kes tellib Instagramis tellitult?" title="Kuidas teada saada, kes tellib Instagramis tellitult?"/ 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/et/vychislit-beglecov-kak-uznat-kto-otpisalsya-v-instagrame-kak.html" rel="bookmark" title="Kuidas teada saada, kes tellib Instagramis tellitult?">Kuidas teada saada, kes tellib Instagramis tellitult?</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/et/neprivyazannyi-dzheilbreik-dlya-iphone-3gs-processy-kotorye-mozhno.html" rel="bookmark" title="Protsessid, mida saab eemaldada ilma tagajärgedeta"><img width="218" height="150" class="entry-thumb" src="/uploads/23fbf661e54bd7f35238b2ef27e09984.jpg" alt="Protsessid, mida saab eemaldada ilma tagajärgedeta" title="Protsessid, mida saab eemaldada ilma tagajärgedeta"/ 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/et/neprivyazannyi-dzheilbreik-dlya-iphone-3gs-processy-kotorye-mozhno.html" rel="bookmark" title="Protsessid, mida saab eemaldada ilma tagajärgedeta">Protsessid, mida saab eemaldada ilma tagajärgedeta</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/et/napominanie-na-ekrane-blokirovki-aifon-kak-zastavit-iphone-napominat-o-dnyah.html" rel="bookmark" title="Kuidas teha iPhone'i sünnipäevi meelde"><img width="218" height="150" class="entry-thumb" src="/uploads/7e4f8c7f13e743a68b384005e36645e9.jpg" alt="Kuidas teha iPhone'i sünnipäevi meelde" title="Kuidas teha iPhone'i sünnipäevi meelde"/ 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/et/napominanie-na-ekrane-blokirovki-aifon-kak-zastavit-iphone-napominat-o-dnyah.html" rel="bookmark" title="Kuidas teha iPhone'i sünnipäevi meelde">Kuidas teha iPhone'i sünnipäevi meelde</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/et/umnye-chasy-xiaomi-kakie-vybrat-umnye-chasy-ot-xiaomi-obzor-modelei.html" rel="bookmark" title="Smart Watch Xiaomi - Mudel Ülevaade"><img width="218" height="150" class="entry-thumb" src="/uploads/7e54ad2b31106399ae294f67567f954b.jpg" alt="Smart Watch Xiaomi - Mudel Ülevaade" title="Smart Watch Xiaomi - Mudel Ülevaade"/ 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/et/umnye-chasy-xiaomi-kakie-vybrat-umnye-chasy-ot-xiaomi-obzor-modelei.html" rel="bookmark" title="Smart Watch Xiaomi - Mudel Ülevaade">Smart Watch Xiaomi - Mudel Ülevaade</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/et/efirnoe-efirnoe-televidenie-chastoty-efirnogo-cifrovogo.html" rel="bookmark" title="Oluline televisioon oluline digitaaltelevisiooni Valgevene"><img width="218" height="150" class="entry-thumb" src="/uploads/bbc71c892b51f2ffb166d4240699a0cf.jpg" alt="Oluline televisioon oluline digitaaltelevisiooni Valgevene" title="Oluline televisioon oluline digitaaltelevisiooni Valgevene"/ 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/et/efirnoe-efirnoe-televidenie-chastoty-efirnogo-cifrovogo.html" rel="bookmark" title="Oluline televisioon oluline digitaaltelevisiooni Valgevene">Oluline televisioon oluline digitaaltelevisiooni Valgevene</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/et/kak-rabotaet-touch-id-na-iphone-6s-iphone-bez-touch-id-chto-eto-i-stoit-li-pokupat-sposoby.html" rel="bookmark" title="IPhone ilma puudutuse ID-ga - mis tasub osta?"><img width="218" height="150" class="entry-thumb" src="/uploads/34f3c386fcb7fd0e268d6668e7d86084.jpg" alt="IPhone ilma puudutuse ID-ga - mis tasub osta?" title="IPhone ilma puudutuse ID-ga - mis tasub osta?"/ 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/et/kak-rabotaet-touch-id-na-iphone-6s-iphone-bez-touch-id-chto-eto-i-stoit-li-pokupat-sposoby.html" rel="bookmark" title="IPhone ilma puudutuse ID-ga - mis tasub osta?">IPhone ilma puudutuse ID-ga - mis tasub osta?</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/et/sboi-pri-obnovlenii-ios-sboi-prilozheniya-ios-pri-obnovlenii-sboi-pri.html" rel="bookmark" title="IOS-i rakenduste ebaõnnestumine uuendamisel"><img width="218" height="150" class="entry-thumb" src="/uploads/cb82569b356a94472d2a1ec045ea6a13.jpg" alt="IOS-i rakenduste ebaõnnestumine uuendamisel" title="IOS-i rakenduste ebaõnnestumine uuendamisel"/ 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/et/sboi-pri-obnovlenii-ios-sboi-prilozheniya-ios-pri-obnovlenii-sboi-pri.html" rel="bookmark" title="IOS-i rakenduste ebaõnnestumine uuendamisel">IOS-i rakenduste ebaõnnestumine uuendamisel</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/et/kak-zastavit-iphone-napominat-o-dnyah-rozhdeniya-opredelyaem-vozrast-iphone.html" rel="bookmark" title="Me määratleme iPhone iPhone'i vanuse oma sünnipäeva jaoks"><img width="218" height="150" class="entry-thumb" src="/uploads/dd3f20febdb184deba35fca972a88ac3.jpg" alt="Me määratleme iPhone iPhone'i vanuse oma sünnipäeva jaoks" title="Me määratleme iPhone iPhone'i vanuse oma sünnipäeva jaoks"/ 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/et/kak-zastavit-iphone-napominat-o-dnyah-rozhdeniya-opredelyaem-vozrast-iphone.html" rel="bookmark" title="Me määratleme iPhone iPhone'i vanuse oma sünnipäeva jaoks">Me määratleme iPhone iPhone'i vanuse oma sünnipäeva jaoks</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/et/mobilnyi-mts-internet-telefona-belarus-nastroiki-interneta-mts.html" rel="bookmark" title="Interneti-seaded MTS Valgevene: Automaatne ja käsitsi"><img width="218" height="150" class="entry-thumb" src="/uploads/f99d0894ccfc86df53143f3c702c1540.jpg" alt="Interneti-seaded MTS Valgevene: Automaatne ja käsitsi" title="Interneti-seaded MTS Valgevene: Automaatne ja käsitsi"/ 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/et/mobilnyi-mts-internet-telefona-belarus-nastroiki-interneta-mts.html" rel="bookmark" title="Interneti-seaded MTS Valgevene: Automaatne ja käsitsi">Interneti-seaded MTS Valgevene: Automaatne ja käsitsi</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/et/kreplenie-v-mashinu-dlya-ipad-mini-ustanovka-plansheta-apple-ipad-v.html" rel="bookmark" title="Apple Apple'i tableti paigaldamine autotööstuse hoidikustele iPad mini jaoks"><img width="218" height="150" class="entry-thumb" src="/uploads/7e172512bc7cb3b2dcb847c4193eb965.jpg" alt="Apple Apple'i tableti paigaldamine autotööstuse hoidikustele iPad mini jaoks" title="Apple Apple'i tableti paigaldamine autotööstuse hoidikustele iPad mini jaoks"/ 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/et/kreplenie-v-mashinu-dlya-ipad-mini-ustanovka-plansheta-apple-ipad-v.html" rel="bookmark" title="Apple Apple'i tableti paigaldamine autotööstuse hoidikustele iPad mini jaoks">Apple Apple'i tableti paigaldamine autotööstuse hoidikustele iPad mini jaoks</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/et/meizu-m3-note-32gb-kitaiskaya-versiya-obzor-smartfona-meizu-m3-note-otshlifovannyi-fablet.html" rel="bookmark" title="Meizu M3 Note nutitelefoni ülevaade: haaratud fablett"><img width="218" height="150" class="entry-thumb" src="/uploads/a7fe0ad3398eedff6cc6bce87744eef4.jpg" alt="Meizu M3 Note nutitelefoni ülevaade: haaratud fablett" title="Meizu M3 Note nutitelefoni ülevaade: haaratud fablett"/ 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/et/meizu-m3-note-32gb-kitaiskaya-versiya-obzor-smartfona-meizu-m3-note-otshlifovannyi-fablet.html" rel="bookmark" title="Meizu M3 Note nutitelefoni ülevaade: haaratud fablett">Meizu M3 Note nutitelefoni ülevaade: haaratud fablett</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/et/budet-li-novyi-ipad-mini-5-planshety-apple-ipad-rezyume-po-besprovodnoi.html" rel="bookmark" title="Kas on uus iPad mini 5"><img width="218" height="150" class="entry-thumb" src="/uploads/590a6bd6a3fd34ebcd23febb601d52dd.jpg" alt="Kas on uus iPad mini 5" title="Kas on uus iPad mini 5"/ 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/et/budet-li-novyi-ipad-mini-5-planshety-apple-ipad-rezyume-po-besprovodnoi.html" rel="bookmark" title="Kas on uus iPad mini 5">Kas on uus iPad mini 5</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 - Arvutite ja sülearvutite remont. Videokaardid, kõvakettad, internet, monitorid.</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>