az internet ablakok Android

Az XML használata a Delphi környezetben. Az XML dokumentum objektummodell használata XML létrehozása a Delphi XE fedéllel

Üdvözöljük! Ez a blog az internetre és a számítógépekre vonatkozik, és pontosabban elkötelezettek őket.

Valószínűleg azonnal látható, hogy sok éve nem jelent meg sok éven át a helyszínen. Igen, ez a legtöbb blog sorsa. Amint ez a projekt ambiciózus vállalkozás volt, és a szerző, mint sokan, akik abban az időben írtak, nagyszabású tervek voltak, hogy az egyik legjobb orosz blogger. Nos, ha most úgy nézel ki, akkor azoknak a blogoknak, amelyeket egyidejűleg hoztak létre az enyémhez, a legtöbbet már az örökkévalóságban feloldották. És tritely lett hiányzó idő blog. Tehát igen, ez már nem frissül. Bár egyszer nyertem ezen az oldalon a 2011-es blogversenyen.

Még az ötletem is eltávolítottam ezt, de aztán átdolgoztam a régi anyagokat, és rájöttem, hogy még mindig hasznosak lehetnek az olvasók számára. Igen, egyes cikkek elavultak (ha elég erővel rendelkezem, megkapják a megfelelő jeleket), de a webhely például hasznos lehet a kezdőknek - itt olvashat az internet alapfogalmáról, megtanulhatja, hogy testreszabhatja a testreszabást Internet, ablakok, vagy akár úgy döntenek, hogy Linuxra mennek. Tehát nézd meg a fejezeteket, és válassza ki azt, amely alkalmas az Ön számára.

És végül is remélem, hogy több, mint egy blog, hanem egy igazi internetes útmutató. A webhely megtalálható a könyvtár módban, ahol az összes rendelkezésre álló cikk kategóriák szerint strukturálódik. És ki tudja, hogy az új minőségi cikkek itt jelennek meg.

Csiszoló

A Picodi.ru a nemzetközi kuponok kedvezményes portálja, a lengyel szakértő és az olcsó vásárlások. Lengyelek tartják az egyik leggazdaságosabb nemzet a világon, ezért nem meglepő, hogy az ilyen típusú projektek nőtt a lengyel indítási KODYRABATOWE.PL. Mi lehet hasznos ez a portál egy rendes internet-felhasználó Oroszországban?

A modern Android telefonok több mint telefonok. Szoksz a telepített programok sorához, a hívások és szöveges üzenetek, fotók gyűjteményeihez és sokat. De az idő múlásával, és a teljesen rendezett készülék lassulni kezd, bogár, vagy egyszerűen elveszíti a szalonképes kilátás, mert a forgácsolás az ügyben, vagy karcolás a képernyőn. Van egy kérdés, hogy megválasztja az új telefont és megváltoztatja az Android-telefont. És ha a választás kérdése, most már megkerüljük a pártot, akkor a "mozgó" egy új telefon továbbra is komoly probléma - abszolút nem akarom elindítani az összes adatot a semmiből. Itt beszélünk erről ma.

A blog olvasói többsége, valószínűleg soha nem szembesült a verzióvezérlés verziói, és nem jön fel a közeljövőben. És sajnálom. Ezt a rendkívül felhasználóbarát találmányt széles körben használják a programozók, de véleményem szerint nagyon hasznos lehet, és azok számára, akik aktívan dolgoznak a szövegekkel. De valószínűleg nincs olyan verzióvezérlő rendszer, amelyet könnyen kezelhet az "Office" (Microsoft Office) használatához. Mindazonáltal úgy vélem, hogy a cikkben meghatározott anyag érdekes lehet minden olvasó számára.

Ha gondoltál arról, hogy a TV-hez filmjei a hálózaton keresztül, és hozzáférj az internethez, ez a cikk az Ön számára. Nem, tudom, hogy néhány televízió rendelkezik az intelligens TV funkcióval, de soha nem láttam jól működik. Úgy tűnik, ezért a Google nemrégiben teljesen lenyűgöző eszközt mutatott, azonnal véget ért az érzéssel. A média Streamer Chromecast (Chromkast), a tavalyi kedvelt játékosok kedvezménnyel rendelkező, tökéletesebb és megfizethetőbb verziójáról beszélünk Nexus Q.

Szakadék Chromkast, amelynek mérete nem haladja meg a 2 inches, csatlakozik a HDMI port a TV és lehetővé teszi, hogy élvezheti a streaming webes tartalmat. A Streamer vezérléséhez bármely eszköz (tabletta, PC, okostelefon) az iOS, Windows, Android vagy Mac OS operációs platform alapján használható.

Ez a cikk az Android-rendszer memóriaeszközre, a hiánya miatt felmerülő problémákra kerülnek, és hogyan oldják meg őket. Én magam nem volt olyan régen, hogy az Android-telefonom rendszeresen kiadja az üzeneteket a memóriahiányról, amikor egy adott alkalmazást próbál létrehozni. Mi nagyon furcsa volt számomra, annak ellenére, hogy a leírás a piacon kellene már mintegy 16 GB-os, és azt is növekedett ez a kötet egy olyan járulékos memóriakártyát. A probléma azonban az volt, és meg kellett alaposan bádogos mielőtt megtalálta a megfelelő megoldást, amely nem igényel átvételét root hozzáférést, vagy a teljes felépülés a telefon a gyári állapotba.

Nemrégiben nagy figyelmet fordítanak az e-üzleti rendszerek építésére, vagy ahogyan azt is - B2B (üzleti üzleti tevékenység) is nevezik. Tekintettel a testület internetes technológiáinak koordinálására szolgáló csere streaming rendszerek építésére vonatkozó ajánlásokra: a hangsúly az XML technológiák és az XML dokumentumcsere-rendszerek építésére szolgál.

Az XML-ben az e-üzletágban az előnye a B2B rendszerek nagy hatékonysága alacsony költséggel a strukturált információk világos és vizuális ábrázolása miatt, a modern hálózati protokollok használatának képessége és valós idejű üzleti rendszerek létrehozása.

Az információ bemutatása XML-dokumentumok formájában történő bemutatásának függetlensége lehetővé teszi az elektronikus üzleti tevékenységben való részvételt, hogy egymástól független legyen.

Minden rendszerben a csere általában ugyanazon a rendszer által épített HTTP-kérésekkel. Az SSL protokollt SSL protokollként alkalmazzák (de ez egy külön téma).

Az XML-üzenetek feldolgozásának egyik lehetséges lehetősége a bin / cgi (isapi) -news vagy a com (kiszolgáló) komponensek létrehozása, amelyek XML dokumentumokat alkotnak vagy feldolgoznak.

Egyrészt az alkalmazás ügyfélként működik, amely post módban http lekérdezést tesz lehetővé, másrészt egy webszerver, amelynek oldalán a lekérdezés feldolgozása és a válasz feldolgozása. Az információcsere XML dokumentumokat használ.

Az egyik leghatékonyabb megvalósítási lehetőség a DOM modellt támogató meglévő XML-parser használata. Egy ilyen elemző egy elosztó kínálat Win`98 vagy szerves részét IE 4.7 és a fent (a Win`95) és képviseli a COM-kiszolgáló található a Msxml.dll könyvtárban.

A komponens objektummodell (COM) kapszulázott adatok és módszerek egyetlen lényegébe és egy módja annak, hogy hozzáférjenek az interfészrendszeren keresztül. A Delphi egyszerűen megközelíthető a COM objektumosztályokhoz való hozzáféréshez (több osztály is szerepelhet egy COM-kiszolgálóban). Az objektumokhoz való hozzáférést az osztálypéldány inicializálásával végezzük az interfészrendszeren keresztül. Az interfészek leírását az Interface Definition Language (IDL) végzi, amely automatikusan végrehajthatja a közeg eszközeit.

A Delphi azt jelenti, hogy behozatal a COM szerverről msxml.dll.Az IDL interfész leírása fájlok épülnek, és a könyvtár típusának bináris leírási fájlja a TLB. Ez a művelet a Rendszer menüben történik: Projekt | Típus Könyvtár importálása:(1. kép). Megjelenik a következő párbeszédpanel (2. ábra), amelyben kiválasztani kívánt COM objektumot (a mi esetünkben az objektum "Microsoft.xmldom (2.0 verzió)") regisztrálva van, és hozzon létre egy TLB fájlt (gomb) Hozzon létre egységet.). A TLB fájl használatával a környezet generál "Passalevsky" fájl leírását a COM Server - MSXML_TLB.PAS

Az msxml_tlb.pas fájl leírja az összes interfészt, konstansot és a COM szervereket.

A COM elem tárgyához való hozzáféréshez az irányelvben szükséges Használ.adja hozzá a könyvtár leírási fájljának nevét (MSXML_TLB.PAS). Az alábbiakban a legegyszerűbb program, amely a DOM szabvány msxml.dll analizátort használja, amely letölti az XML dokumentumot, és megjeleníti azt a Memo1 szövegmezőelemben.

használ. Windows, üzenetek, sysutils, osztályok, grafikák, vezérlők, űrlapok, párbeszédek, oleserver, msxml_tlb, stdctrls; típus Tform1 \u003d. osztály(Tform) gomb1: tbutton; MEMO1: tmemo; eljárás. BUTTONT1CLICK (SENDER: SUBDECT); vége; var. Űrlap: tform1; végrehajtás ($ R * .dfm) Eljárás.Tform1.button1click (küldő: átszámolása); // Soklass objektum Domdocument nyilatkozata; var.cODOC: CodomDocument; // osztály, összhangban az idomdocument interfésszel; var.Doc: ixmldokumentum; kezdődik. // a domdocument objektum példányának létrehozása; Doc: \u003d codoc.Create; // hívja a Domdocument objektum példányának módját; Doc.load ("data.xml"); // hozzáférés a domdocument objektum XML tulajdonság példányához; Memo1.text: \u003d doc.xml; vége; vége.

Dom Concept - Objektum-dokumentum modell

Minden XML-dokumentumot számos objektum (osztály) állapítanak meg, amelyekkel az egyes elemekhez való hozzáférés (objektummezők) lehetséges. A DOM - interfész írja le az egyszerű DOMSTRING vagy CHARTYDATA objektumok és alkatrészek vagy különálló XML elemeihez való hozzáférést: DOMFRAMMENTELEMENT, DOMNODE, DOMELEMENT.

Az XmldomDocument, az Xmldomnode, az Xmldomnodelist legfontosabb tulajdonságai és módszerei. Meg kell jegyezni, hogy az msxml.dll xml analizátor modell, az alábbiakban bemutatott msxml.dll xml analizátor, az MSXML.DLL XML analizátor használja, mint a W3C modell által jóváhagyott DOM konzorcium.

A DOM objektumok teljesebb leírása megtalálható

Xmldomdocument objektum
Az objektum hierarchiájának felső szintjét képviseli, és tartalmaz egy dokumentummal való együttműködés módszereit: letöltése, elemzése, elemek, attribútumok, megjegyzések stb. .
Tulajdonságok
Async. Az aktuális feldolgozási mód azonosítója
ParseError Visszaadja az XMldomparseError hibafeldolgozó objektumra való hivatkozást
Engedélyezés - Dokumentumellenőrzés letiltása.
url Visszaadja a dokumentum URL-jét
dokumentáció Tartalmaz egy hivatkozást a dokumentum gyökérelemére Xmldomemememement objektumként.
Mód
terhelés (URL)
loadxml (XMLString)
Betölti az XML dokumentumot
mentés (objtarget) Elmenti az XML dokumentumot a fájlban
eLVETÉL. Megszakítja a dokumentum letöltésének és feldolgozásának folyamatát.
creatEattribute (név) Új attribútum létrehozása az aktuális elem megadott nevével.
createnode (Típus, név, névpappauri) A megadott típus és cím csomópontja
createelement (TagName) Dokumentumelemet hoz létre a megadott névvel.
createTextNode (adatok) Szöveget hoz létre a dokumentum belsejében
getElemsbytagname (TagName) Visszaad egy linket a dokumentumelemek gyűjteményéhez a megadott névvel
nodeFromid (idstring) Keresési elem azonosítóval

Xmldomnode objektum
Xmldomnode objektum, amely végrehajtja az alap Dom felületet Csomópont., Úgy tervezték, hogy egy dokumentumfa külön csomójával manipuláljon. Tulajdonságok és módszerek lehetővé teszik, hogy megkapja és módosítsa az aktuális csomópontról - típusát, nevét, teljes nevét, tartalmát, a gyermekelemek listáját stb.
Tulajdonságok
nodename, Basename. Visszaadja az aktuális csomópont nevét.
előtag. Visszaadja a névtér előtagot.
adattípus Meghatározza az aktuális csomópont tartalmi típusát
nodetype, nodetypestring Visszaadja az aktuális csomópont típusát:
attribútumok. Visszaadja az aktuális csomópont attribútumainak listáját, mint XmldomnamnamnamDemap gyűjtemény.
sZÖVEG. Visszaadja az aktuális támogatás tartalmát szöveg formájában.
xML Visszaadja az aktuális támogatás XML ábrázolását.
nodeMalue. Visszaadja az aktuális csomópont tartalmát.
gyermeknevek. Visszaadja a gyermekelemek listáját Xmldomnodelistként.
fIRDILD, LASTCHLILD. Visszaadja az első / utolsó gyermek elemet
előző, Nextsling Visszaadja az előző / következő ápoló elemet.
parentnode. Tartalmaz egy hivatkozást a szülőelemre.
tulajdonos Visszaadja a mutatót a dokumentumhoz, amelyben az aktuális csomópont található.
Mód
appendchild (newchild) Új gyermekelemet ad hozzá az aktuális csomóponthoz.
beilleszteni (newchild, refchild) Helyezzen be egy gyermekcsomópontot, amelynek a REFCHILD paraméter által megadott csomópont "bal oldali" jelenlegi alterében van.
clonenode (mély) Hozzon létre egy példányt az aktuális elemről.
getattribute.(Név)
getattributenode. (Név)
setattribute (név, érték)
setattributenode (xmldomattribute)
Hozzáférés az attribútumokhoz (létrehozás, olvasás, írás) objektum. Név - attribútumnév, érték - annak értéke. Visszaadja az xmldomattribute objektum értékét.
cserélje ki (Newchild, Oldchild) RemoveChild (Oldchild) A leányvállalatok jelenlegi listájának öregedő objektumának helyettesítése a NewChild-on. Az Oldchild objektum eltávolítása
selectNodes SelectSingLende (PatternString) Visszaadja a keresési minta vagy az első csomópont által kiválasztott xmldomnodelista objektumot
transzformnode (styesheet)
transzformnodetobject (stylesheet, outputobject)
Olyan stílusú táblát rendelünk az aktuális csomópont támogatásához, és visszaadja a karakterláncot - a feldolgozás eredményét. A domdocument objektumra való hivatkozást paraméterként továbbítják, amelyben az XSL utasítások találhatók.

XML-t használva az üzleti életben.

A világosabb képhez egy magyarázat szükséges, és miért szükséges mindez, hogy mit kell értenie, hogyan működik:

Amikor az épület egy B2B vagy a vállalati ERP rendszer megszervezése során az információcsere az XML dokumentumok között a vállalkozások vagy ágai Prom-én, hatékonyan bevált információs rendszert alkalmazunk alapján rendelkezésre álló webszerverek HTTP protokollt.

Egyrészt az alkalmazás ügyfélként működik, amely post módban http lekérdezést tesz lehetővé, másrészt a webszerver azon oldalán van, amelyen a kérés feldolgozása és a válasz. Az XML dokumentumokat kicserélik.

Például egy egyszerű vállalati ERP rendszer a számviteli program (ACS számviteli), szükséges, hogy egy bizonyos kérelem számlát, és öntsük egy ágat, hogy van egy raktár (ACS raktár). A művészet a probléma egy B2B létrehozásakor hasonló megoldás, ha egy vállalkozás kéri a termékek elérhetőségét (megrendelést tesz a vásárlástól) a Szállító V.

Vállalkozás A és Programja ügyfélként működik. A raktár szolgálja a szállítót, aki rendelkezik egy raktár BD komplexummal az SQL szerveren. Az Exchange vállalati webszerveren keresztül történik V.

Az alábbiakban a következő tipikus csere algoritmus:


3. ábra.
  1. Vállalat A.kezdeményez a. folyamat.(Termékrendelés), amely webes kliensként működik.
  2. A. folyamat.xML-dokumentumot (például egy számlát) hoz létre, és posta HTTP lekérdezésként továbbítja egy webes beszállítói kiszolgálót V. URI-ként - feldolgozási alkalmazásazonosítót használ. Az URI lehet ugyanaz, mint minden típusú dokumentum vagy egyén minden típus esetében. Mindez a B2B (Web) kiszolgáló szerkezetétől függ.
  3. A webszerver elemzi a kérést, és generálja a kiszolgálót B. folyamat.Az XML-dokumentum paraméterként történő átadásával.
    A webszerver folyamatát az ASP oldal, a CGI (ISAPI) - alkalmazás vagy a Java Sevrlet (Server alkalmazás) elindítja és feldolgozza
  4. B. folyamat.- Kérjen kérést az SQL adatbázis-kiszolgálóra.
  5. Az SQL Server megkönnyíti a szükséges műveleteket az adatbázisban, a választ, és visszaadja. B. folyamat..
  6. Az SQL Server válaszában B. folyamat. XML-dokumentumot (válasz) létrehoz, és lehetővé teszi, hogy válaszoljon a HTTP kérésére az ügyfélalkalmazáshoz.
  7. Továbbá az ügyféloldali helyzet függvényében, akár egy új HTTP lekérdezés, vagy a munkamenet vége.

Néhány szó a dokumentumkezelés megszervezéséről.

Az XML Exchange rendszer általános fejlesztési szabálya:

  • először- az elektronikus dokumentumok áramkörének és struktúrájának áramkörének kialakítása;
  • másodszor- A folyamatok funkciói (alprocesszelek) táblázatainak fejlesztése, azaz azaz Milyen funkcióval rendelkezik, amelyhez az XML dokumentum minden egyes folyamatot hajt végre.

Minden XML dokumentum, mint egy HTML dokumentum tartalmaz egy olyan üzenet fejléc (információk fogoly) és az üzenet szövegét (a lekérdezés az információkat keretezi tagging, hogy válaszoljon a kérésre). Annak érdekében, hogy az XML-dokumentum helyesen legyen kialakítva, a "fejléc" és a "kérés" két összetevőjéhez szükséges, például a keretes címkékhez. A standard dokumentum nézete alatt szerepel:

A cím (4. ábra) a dokumentum HTML-jével ellentétben különböző típusú szolgáltatási információkat kell tartalmaznia, beleértve az átadott és feldolgozási folyamat típusát. A dokumentum információs feldolgozása érkezik, azaz Az értelmes rész a címkével keretes. Meg kell jegyezni, hogy a fejlécstruktúrát mindenféle dokumentum esetében egyesíteni kell.

A kiszolgáló által futott folyamat esetében a feldolgozó algoritmus előnyösen (de nem szükséges) az alábbiak szerint:


6. ábra.

Néhány fő pillanat, amikor egy ügyfélrész létrehozásakor

Amint azt már elmagyarázta, amikor egy XML-dokumentumot hoz létre, a bemutatót dom modell formájában használja. Az alábbi példa az XML üzenet fejléc programjának Delphi szövegének szövegére.

eljárás.TTHREAD1.HEADERCREATE (SENDER: TÁVOLSÁG); var. // osztályok bejelentése szükséges a létrehozásához CODOC: CodomDocument; // xmldomdocument objektum Doc: Domdocument; R: ixmldomelement; Csomópont: ixmldomelement; // domtext txt: ixmldomtext; // domattribute attr: ixmldomattribute; kezdődik. // DOM dokumentum létrehozása Doc: \u003d codoc.Create; Doc.set_async (FALSE); // kezdeti kezdeményezés dom dokumentum Doc.loadxml ("
"); // Domeletement létrehozása (címke<Feladó.>) Csomópont: \u003d doc.Createels ("Sender"); // szövegcsomópont létrehozása " LLC "Typhoon"" Txt: \u003d doc.CreateTextNode ("LLC" Typhoon "); // csomópont hozzárendelése<Feladó.\u003e Érték // szövegcsomópont " LLC "Typhoon"" Node.appendchild (txt); // elem hozzáadása<Feladó.\u003e A dokumentum gyökerében leányvállalatként R.appendchild (csomópont); <Tól től.> Csomópont: \u003d doc.createels ("from"); Txt: \u003d doc.creatextnode ("http://tayfun.ru/xml/default.asp"); Node.appendchild (txt); R.appendchild (csomópont); // Hasonló tagok hasonló műveletei<Nak nek.> Csomópont: \u003d doc.createels ("to"); Txt: \u003d doc.createTextNode ("http://irbis.ru"); Node.appendchild (txt); R.appendchild (csomópont); // Domeletement létrehozása () Csomópont: \u003d doc.Createels ("tipadokumentum"); // xmldomattribute csomópont létrehozása ATT: \u003d doc.createatribute ("ID", "megrendelés"); // Node.appendchild (ATT); R.appendchild (csomópont); vége;

Meg kell jegyezni, hogy a CODOC bejelentése: CodomDocument és Doc: Domdocument változó, valamint a létrehozási módszer létrehozása (doc: \u003d codoc.create;) egyszerre történik. A nyilatkozatot a változó a részben a leírás a globális változók, és nem a helyi eljárás, amint ez a láthatóság ebben a példában (vagyis egy globális változó a DomDocument típusú egy program modul).

A fenti program eredménye a létrehozott fejléc, az XML dokumentum példájával kapcsolatban: az 5. ábrán látható.


5. ábra.


6. ábra.

Az XML-dokumentumok formájában történő információ továbbításának fő előnye, hogy üzenetet kaphat az asztalok független szerkezetével a DBMS-ben, mind a beérkezett és a továbbított oldalon. Példánk alkalmazásával, legyen szükség ahhoz, hogy át kell adnia az A vállalat számlájáról, a 6. ábrán bemutatott struktúra DBM-jétől

A számlát tartalmazó XML-dokumentumot alkotva egy kezdetben épített SQL kérés (lekérdezés a) a számla információval kapcsolatban:

Kiválaszt * Invoice_general Hol Invoicenum \u003d: Num KiválasztÁruk, termelés, ár, hz_cod Tól től.Áruk Hol Invoicenum \u003d: Num //: NUM - A számla számát meghatározó paraméter.

Az alábbiakban része az XML-dokumentum testét alkotó programnak:

eljárás. Thread1.databodycreate (küldő: tobect); var. // osztályok és xmldomdokumentum // Codoc: CodomDocument; // globálisnak kell lennie, az egész modulhoz. // doc: domdocument; // Dombement objektumok bejelentése R: ixmldomelement; // dombement; Csomópont, Node2: Ixmldomelement; Node3, Node4: ixmldomelement; // domtext txt: ixmldomtext; Str: string; // Számlaszám: egész szám; - Globális változó - // Masching 987654 // Querya, Queryb: Húr; - globális változó, // kérés kérése // Querya - kérés és általános információk a számláról // Queryb - lekérdezés b Információ a // számla (lásd a szöveget) kezdődik. Query.Close; // Lásd a "A kérés a" szöveget Query.Text: \u003d Querya; // kérés végrehajtása Query.execsql; Query.open; // kapja meg a root elem címét R: \u003d doc.get_documentelement; Node2: \u003d doc.Createels ("kérés"); // Domeletement létrehozása (címke) Csomópont: \u003d doc.createels ("számla"); // egy elem hozzáadása a gyökérhez R.appendchild (csomópont2); // elem hozzáadása Csomópont2. Appendchild (csomópont); // Domeletement létrehozása (címke) Node3: \u003d doc.Createels ("Depurture"); // elem hozzáadása Csomópont. Appendchild (csomópont3); // A "Depurture" mező felkérése Str: \u003d Query.fieldbyname ("függő"). Asspring; // szöveges csomópont létrehozása \u003d mező értéke // csomópont hozzárendelési érték // szövegcsomópont, változó str Node.appendchild (txt); // Hasonló tagok hasonló műveletei , , // , // (Field db "címzett") Csomópont: \u003d doc.createels ("úticél"); // Az adatbázis mező neve nem egyezik meg a névvel Str: \u003d Query.fieldbyname ("címzett") .Assstring; // taga, ebben az előnyben Txt: \u003d doc.createTextNode (STR); // DOM interfész az XML interfész támogatásával, // típusú Oracle 8i vagy SQL 2000 Node.appendchild (txt); ... // az áruszállítási kérelem kialakítása // bezárja a hozzáférési kérelmet Query.Close; // Lásd a "kérés in" szövegét, info. A termékekről Query.Text: \u003d Queryb; // Paraméterértékek hozzárendelése Query.params.aSinteger: \u003d invoicenumber; // kérés végrehajtása Query2.execsql; // megnyitása az adatok kérésére Query.open; // Domeletement létrehozása (címke) Node3: \u003d doc.Createels ("Imems"); // elem hozzáadása Csomópont. Appendchild (csomópont3); // ciklus minden kérésen míg nem. EoF.Query. tegye. Kezdje a csomópontot4: \u003d doc.createels ("Imem"); // elem hozzáadása Node3.appendchild (csomópont4); // adatgyártás a címkéhez Str: \u003d Query.fieldbyname ("Ár"). Asspring; Txt: \u003d doc.createTextNode (STR); Node.appendchild (txt); ... // Hasonló műveletek a címkékhez , , vége; vége;

Ennek az eljárásnak köszönhetően az XML-dokumentum következő szövege van kialakítva:


A nyitott módszer a lekérdezés kialakítására szolgál. Ixmlhttpequest:

eljárás. Open (Const Bstrmethod - módszer tipus \u003d "POST" BSTRURL, - URL VARASYNC szerver címe, - aszinkron / szinkron kommunikációs mód \u003d True Bstruser, - Felhasználó számára BSTRPASSWORD hitelesítés) - Jelszó

A dokumentumfeldolgozás szerverének létrehozása

Amint korábban megjegyeztük, a HTTP kérés feldolgozása CGI-alkalmazások vagy Java Servlets. Lehetséges lehetőségek az ASP oldalak írására. De ebben az esetben az adatátvitel csak a lekérdezési karakterlánc használatával lehetséges. Bár az ASP oldalkérelem HTTP feldolgozása hatékonyabban működik, mint a CGI alkalmazás. Véleményem szerint azonban különbség nélkül, hogyan kell feldolgozni, és ami még fontosabb, hogy megoldja a kérdést - hogyan lehet feldolgozási programot építeni, és nem, hogy milyen eszközökkel.

Ha áttekintettük az előző fejezet XML-dokumentumképződési lehetőségeit, akkor a kiszolgáló alkalmazás feladata az XML-dokumentumok ellenkezője. Az alábbiakban része a programnak, amely elemzi az XML dokumentumot:

eljárás.Thread1.dataparser (feladó: tobect); var. // Dombement objektumok bejelentése R, fnode: ixmldomelement; Str, fájlnév: string; Parm: String; // Soklass bejelentés és CODOCXML, CHOCOCXSL, CODOCRESURT: CodomDocument; // xmldomdocument objektum Xmldoc, xsldoc, rendoc: domdocument; // httpstr: string; - a HTTP lekérdezési karakterláncot tartalmazó globális változó Kezdődik. Xmldoc: \u003d codocxml.Create; Xmldoc.loadxml (httpstr); // kapja meg a root elem címét R: \u003d doc.get_documentelement; // az elem értékének megszerzése Fnode: \u003d r.selectsinglenode ("// typedocument"); // kap egy attribútum értékét \u003d "megrendelés" Fájlnév: \u003d fnode.getattibute ("ID"); // és a fájlnév sorrendje.xsl Fájlnév: \u003d fájlnév + ". XSL"; // dokumentum létrehozása xsldoc Xsldoc: \u003d codocxsl.Create; Xsldoc.loadxml (fájlnév); // xmldoc dokumentum létrehozása Rendoc: \u003d codocresult.Create; // A szinkron feldolgozási mód beállítása Reserdoc.set_async (FALSE); // debütáló csekk telepítése Haterdoc.validateonEronparase: \u003d igaz; // összeomlása xmldoc by xsl sablon Xmldoc.transformnoc, retidoc (xsldoc, rendoc); // A STR változó szövegértékhez van rendelve // kapott dokumentumot. Str: \u003d retidoc.text; // keresési elem Fnode: \u003d r.selectsinglenode ("// invoicenumber"); // és az elem értékének megszerzése Parm: \u003d fnode.text; // bezárja a hozzáférési kérelmet Query.Close; Query.Text: \u003d str; // a paraméter értékének hozzárendelése QUERY.PARAMS.ASSTRING: \u003d parm; // kérés végrehajtása Query.execsql; vége;

Az elemzés teljes választéka az XSL-sablon alkalmazása, amely minden egyes dokumentumban egyedileg van kialakítva. Az elemzési eredmény az SQL lekérdezési karakterlánc. Ennek következtében a generált SQL lekérdezési karakterlánc végrehajtása meg fogja tenni a szükséges változtatásokat a DBMS-ben.

Az elemzés előnye a sablonon keresztül is abban a tényben van, hogy kiderül néhány adat rugalmasságot, és az algoritmus működésének teljes függetlensége a programkódból származik. Az alábbiakban az XSL sablon szövege a dokumentum típusának feldolgozásához használt.

Helyezzen be Tabregbe (a, Typedoc, Body) értékek (" ", "", "") Helyezzen be árukba (invoicenum, név, ár, minőség) értékek (": Num", " ", "", " ")

A fenti példát ismertetve meg kell jegyezni, hogy a címkék párjainak használata és formális, mert Az elemzés után legalább egy csomópont jelen kell lennie a kapott XML dokumentumban. Az EREDDOC.Text módszer az XML-dokumentum EREDDOC elemzése során kapott szövegértéket hozzárendeli. Ebben az esetben az érték mindaz, amit a címkék párok keretesek, és azaz. SQL kérést alakítottunk ki.

A program írásának másik jellemzőjét meg kell jegyezni az SQL paraméter használatának lehetőségét : NUM. A paraméter használata lehetővé teszi az XSL-sablon szövegének egyszerűsítését. Definíció Az XML dokumentumcsomópontok megfelelő elemeinek értékét meghatározzák a megfelelő csomópont nevének kiválasztásával, például:

Röviden az XSL-ről

Az XSL rövidítés az extensible stylesheet nyelv - stílus asztali formázási nyelv (XML adat). Mivel a kiterjeszthető stíluslap nyelv (XSL) fejléc (XSL) az XML-adatok formázására szolgál. A W3C XSL meghatározásával két részből áll:

  • XSLT - XSL transzformáció. Az XML dokumentumok átalakítására vagy formázására használt nyelv. Így az XSLT használatával különböző szekciókat kaphatunk több adat és adatremenet formanyomtatványok.
  • Formázási elemek. Ezek az elemek tartalmazzák a tipográfiai adatok minden elemét, miután feldolgozták az XSL-t. Csak HTML oldalak formájában használható.

Az XSLT használatával kiválaszthatjuk az adatokat a szükséges XML fájlból, és gondoskodhatunk az űrlapon, hogy biztosítsák a felhasználót. Például a mi esetünkben az XML-adatokat SQL lekérdezésként átalakítottuk. A klasszikus XSL alkalmazás általában formázza az adatokat HTML oldalakként vagy ritka ábrázolásként RTF fájlok formájában.

Az XSL fájl leírja a sablont (sablon), amely szerint az XML adatátalakítás végrehajtásra kerül. Visszatérve az XSL sablonokra, az XSLT (irányelvekben) a következő elemeket lehet osztani:

XSL irányelv leírás
xSL: Alkalmazás-sablonok Irányelv, amely jelzi a megfelelő sablonok attribútumának alkalmazását, kiválasztja \u003d "sablon neve"
xSL: attribútum. létrehozza az attribútumfát, és hozzáadja a kimeneti elemhez, a név \u003d "attribútum neve" paraméter, névtér - URI a névtéren (névtér előtag)
xSL: Call-sablon sablont okoz, attribútumnév \u003d "URI a sablonon"
xSL: Válasszon.
xSL: Mikor.
xSL: Ellenkező esetben.
kiválasztás az XSL állapot szerint: ha az expr \u003d "kiszámítása a forgatókönyvben",
nyelv \u003d "Nyelv neve"
teszt \u003d "kiszámított kifejezés"
xSL: Hozzászólás hozzászólást generál a kimeneti dokumentumra
xSL: Másolás.
xSL: Másolás
másolja az aktuális csomópontot a kimeneti forrásban, vagy behelyezi a dokumentumfragmenst a csomóponthoz, ahol a SECORE \u003d "A SOURCE NODE" attribútum kiválasztása
xSL: Elem. kimeneti elemet hoz létre név szerint, attribútumnév \u003d "Element Name", Namespace \u003d "URI hivatkozás a névtérre"
xSL: Minden egyes adja újra a sablont az összes csomópontok listájához, válassza az Attribútum lehetőséget a csomópontok listáját.
xSL: Ha. a feltételek ellenőrzése a teszt attribútum, mint kifejezés
xsl: tartalmazza tartalmaz egy külső sablont, attribútum href \u003d "URI referencia"
xSL: kimenet megadja a kimeneti eredményt, a módszer attribútuma lehet "XML", "HTML" vagy "szöveg"
xSL: Param megadja a paraméter értékét, a név \u003d "paraméter neve" attribútum, válassza a \u003d "Érték"
xSL: Feldolgozási oktatás a feldolgozásra vonatkozó utasításokat hozza létre, attribútumnév \u003d "Név folyamati utasítások"
xSL: Rendezés. sok csomópont, attribútumok kiválasztása \u003d "csomópontnév", adat-típus \u003d Adat típus ("szöveg" | "" "" Qname), megrendelés \u003d rendezési irány ("csökkenő" |
xSL: Stíluslap. meghatározza az XSL sablon dokumentumot, az XSLT gyökér eleme
xSL: Sablon. megadja az XSL sablont, a NAME \u003d "URI PREFIX attribútumot a sablon nevére", Match \u003d "Megjegyzés a csomópontra, amelyre a sablon érvényes"
xSL: Szöveg. szöveget generál a kimeneti áramláshoz, a letiltás-kimenet-menekülés \u003d "Igen" vagy "NO" attribútum jelzi az ESC karakterek létrehozásának képességét
xSL: Érték beilleszti a kiválasztott csomópont értékét szövegként, a kiválasztott \u003d "mutató a csomóponthoz" attribútum, amelyből az érték
xSL: változó megadja a változó határok értékét, a név attribútum \u003d "változó neve", válassza a \u003d "kiszámítja a változó értékét"
xSL: A-param a paramétert a sablonhoz alkalmazza, a név attribútum \u003d "Paraméter neve", válassza ki \u003d Expression az aktuális kontextus kiszámításához, az alapértelmezett érték "."

Következtetés

Következésképpen meg kell jegyezni, hogy az XML-parser szabvány használata msxml.dll.ez nem az egyetlen eszköz az elemzés és az XML dokumentumok létrehozásának módja. Például az XML-dokumentumok létrehozásához az összetevők hatékony használatához TPageProduser.és TTableProduser.. De ez a cikk csak hangsúlyozza a DOM modell alkalmazásának szélességét és lehetőségeit a gyakorlatban.

A szerző nagyon hálás lesz a visszajelzésekért a téma relevanciájáról, a teljes tartalom, a bemutató stílusának, valamint az összes többi megjegyzésnek, amely segít továbbá javítani a cikkek gyűjteményének és a borítóinak felszabadításának minőségének javítását az XML-dokumentumok felhasználásának gyakorlati oldalának tárgya az e-kereskedelemben. További információ a gyakorlati oldalát a kérelem elektronikus dokumentumok tanulhat www.edocs.al.ru a szerző honlapján, azt is tervezik, hogy helyet forrásszövegek és példákat.

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

Ebben a cikkben megfontoljuk az XML dokumentum objektum modelljét (DOM) és annak megvalósítását a Microsoft - Microsoft XML DOM.

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

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

XML DOM-ot használva Borland Delphiben

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

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

XML DOM eszköz

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

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

Teszt XML dokumentum

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

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

Most készen állunk arra, hogy az XML DOM objektummodelljét figyelembe vesszük, amellyel az xmldomdocument objektummal kezdődik.

XML dokumentum - XmldomDocument objektum

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

A dokumentum letöltésének módjának (szinkron vagy aszinkron) módosításához az async tulajdonságot használják. Alapértelmezés szerint ez a tulajdonság igaz, jelezve, hogy a dokumentumot aszinkron módon töltik be, és a vezérlést még akkor is visszaküldi az alkalmazáshoz, amíg a dokumentum teljesen betöltődik. Ellenkező esetben a dokumentum szinkronban van betöltve, majd ellenőriznie kell a ReadeTate tulajdonság értékét, hogy megtudja, a dokumentum betöltötte vagy sem. Hozzon létre egy OnreadyStatechange eseménykezelőt is, amely a ReeanTate tulajdonság értékének megváltoztatásakor irányítást kap.

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

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

A dokumentum betöltése után a tulajdonságaira utalunk. Így a Nodename tulajdonság tartalmazza a #dokumentum értékét, a NodePestring tulajdonság dokumentumérték, az URL tulajdonság a fájl: /// c: /Data/data.xml érték.

A feldolgozás hiba

Különös érdeklődés a dokumentum feldolgozásához kapcsolódó tulajdonságok, amikor betöltötték. Így a ParseError tulajdonság visszaadja az XMldomparseError-objektumot, amely a feldolgozási folyamat során bekövetkezett hibainformációt tartalmaz.

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

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

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

Empire Burlesque Bob Dylan. USA. Kolumbia. 10.90 1985

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

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

Var newnode: ixmldomnode; Gyermek: ixmldomnode; ... // létrehozhat egy új fióktelepet - Newnode: \u003d xmldoc.createnode (1, 'CD', ''); // add elem hozzáadása Gyermek: \u003d xmldoc.Createnode (1, ',', ','); // hozzáad egy újnode.appendchild (gyermek) elemet; //, és állítsa be a gyermek értékét.Text: \u003d 'Pink Floyd'; // add elem hozzáadása <ARTIST> Gyermek: \u003d xmldoc.Createnode (1, 'művész', ''); // hozzáad egy újnode.appendchild (gyermek) elemet; // és a gyermek értékének megállapítása: \u003d 'Division Bell'; // add elem hozzáadása <COUNTRY> Gyermek: \u003d xmldoc.Createnode (1, 'ország', ''); // hozzáad egy újnode.appendchild (gyermek) elemet; // és állítsa be a gyermek értékét.Text: \u003d 'UK'; // add elem hozzáadása <COMPANY> Gyermek: \u003d xmldoc.Createnode (1, 'Társaság', ''); // hozzáad egy újnode.appendchild (gyermek) elemet; //, és állítsa be az értéket a Child.Text: \u003d 'EMI Records Ltd.'; // add elem hozzáadása <PRICE>Gyermek: \u003d xmldoc.createnode (1, 'ár', ''); // hozzáad egy újnode.appendchild (gyermek) elemet; // és a gyermek értékének megteremtése: \u003d '11 .99 "; // Adjon hozzá egy elemet <YEAR> Gyermek: \u003d xmldoc.Createnode (1, 'Év', ''); // hozzáad egy újnode.appendchild (gyermek) elemet; // és a gyermek értékének megállapítása: \u003d '1994'; //, és adja hozzá a root.appendchild ág (Newnode); ...</p><p>A fenti kód a következő műveletek sorozatát mutatja új fiók hozzáadásához:</p> <ul><li>Új fiók létrehozása a Createnode használatával: <ul><li>elem létrehozása a CreatEnode módszerrel;</li> <li>egy elem hozzáadása az ághoz az AppendChild módszerrel;</li> <li>az elem értékének beállítása a szöveges tulajdonságon keresztül;</li> <li>... Ismételje meg az összes elemet.</li> </ul></li> <li>Új fiók hozzáadása a dokumentumhoz az AppendChild segítségével.</li> </ul><p>Emlékezzünk vissza, hogy az appendchild módszer egy ágat ad egy fa végén. Ha egy ágat szeretne hozzáadni a fa adott helyére, akkor a beillesztési módot kell használnia.</p> <h2> Ágazatok készlete - Xmldomnodelista objektum</h2> <p>A XMLNodelist objektum tartalmaz egy listát ágak építhető a SelectNodes vagy getElementsByTagName módszerekkel, és szintén nyert Childnodes tulajdon.</p> <p>Már figyelembe vesszük az objektum használatát a "Document Tree" szakaszban megadott példában. Itt adunk néhány elméleti megjegyzéseket is.</p> <p>A listán szereplő ágak száma a hosszúságú tulajdonság értéke. Az ágaknak 0-tól hossza-1-ig terjedő indexek vannak, és minden egyes ág kapható egy elem tömbelemen keresztül a megfelelő indexben.</p> <p>Az ágak listáján való elmozdulás a következő ágon, vagy a Nil, ha az aktuális ág az utóbbi. A lista tetejére való visszatéréshez hívja a visszaállítási módszert.</p> <table border="0" width="100%"><tr><td width="50%"> </td> <td width="50%"> </td> </tr></table><h2> Dokumentumok létrehozása és mentése</h2> <p>Tehát megnéztük, hogyan lehet hozzáadni ágakat és elemeket a meglévő XML dokumentumokhoz. Most hozzon létre egy XML-dokumentumot "a repülésen". Először is emlékeztetünk arra, hogy a dokumentum nem csak az URL-ről, hanem a szokásos karakterláncból is betölthető. Az alábbiakban bemutatjuk, hogyan kell létrehozni egy root elemet, amelyet ezután felhasználhatunk a fennmaradó elemek dinamálására (amelyeket már figyelembe vettünk a "leányvállalatok manipulációja" szakaszában):</p><p>Var xmldoc: ixmldomdokumentum; Gyökér: ixmldomnode; Csomópont: ixmldomnode; S: széleskörű; ... s: \u003d ' <CATALOG></CATALOG>"; Xmldoc: \u003d codomdocument.Create; Xmldoc.async: \u003d hamis; Xmldoc.loadxml (ek); Gyökér: \u003d xmldoc.documentelement; Csomópont: \u003d xmldoc.Createnode (1, 'CD', ''); Root.appendchild (csomópont); Memo1.lines.add (xmldoc.xml); ... xmldoc: \u003d nil;</p><p>Az XML dokumentum megteremtése után mentse el a fájlt a mentési módszer segítségével. Például:</p> <p>Xmldoc.save ('c: \\ data \\ newcd.xml);</p> <p>A fájl mentése mellett a mentési mód lehetővé teszi, hogy az XML-dokumentumot egy új XmldomDocument objektumban mentse el. Ebben az esetben a dokumentum teljes feldolgozás, és ennek következtében ellenőrzi struktúráját és szintaxisát. Az alábbiakban bemutatjuk, hogyan lehet egy dokumentumot menteni egy másik objektumban:</p><p>Eljárás TFLEX1.Button2Click (Feladó: Togrect); Var xmldoc2: ixmldomdokumentum; Kezdődik xmldoc2: \u003d codomdocument.Create; Xmldoc.save (xmldoc2); Memo2.lines.add (xmldoc2.xml); ... xmldoc2: \u003d nulla; vége;</p><p>Összefoglalva, megjegyezzük, hogy a mentési módszer lehetővé teszi, hogy mentse el az XML-dokumentumot más COM objektumokba, amelyek támogatják az Istream, az IsetStream vagy az iPescistStreaminit interfészeket.</p> <table border="0" width="100%"><tr><td width="50%"> </td> <td width="50%"> </td> </tr></table><h2> Az XSL sablonok használata</h2> <p>Az Xmldomnode Object Selectmes módszerrel való megvitatás, megemlítettük, hogy rugalmasabb módja a dokumentum ágai eléréséhez. A rugalmasság abban rejlik, hogy az ágak kiválasztásához kritériumként megadhat egy XSL sablont. Az ilyen sablonok erőteljes mechanizmust biztosítanak az XML dokumentumok információinak kereséséhez. Például annak érdekében, hogy a zenei CD-ROM nevét a könyvtárunkban megjelenik, követheti a következő lekérdezést:</p><p>Annak megállapításához, hogy az előadók felszabadulnak-e az Egyesült Államokban, a kérés a következőképpen alakul ki:</p><p>Csomópontok: \u003d root.Selectnodes ('CD / Artist');</p><p>Az alábbiakban látható, hogyan kell megtalálni az első lemezt a könyvtárban:</p><p>Csomópontok: \u003d root.Selectnodes ('CD / title');</p><p>És utoljára:</p><p>Csomópontok: \u003d root.Selectnodes ('CD / title');</p><p>A Bob Dilan lemezek megtalálásához a következő lekérdezést hajthatja végre:</p><p>Csomópontok: \u003d root.Selectnodes ('CD [$ bármilyen $ arsten \u003d "bob diyan"] / cím ");</p><p>És az 1985 után kiadott lemezek listáját, a következő lekérdezést végezzük:</p><p>Csomópontok: \u003d root.Selectnodes ('CD / title');</p><p>Az XSL Syntax részletesebb megvitatása külön kiadást igényel. Az olvasók intrika és további kutatás, csak egy kis példát adok az XSL lehetséges használatára. Tegyük fel, hogy a könyvtárat a szokásos HTML asztalra kell átalakítani. Kihasználva a hagyományos módszereket, ki kell rendezni az összes fa ágakat, és minden egyes elemet a megfelelő címkék létrehozásához <TD>…</TD>.</p> <p>Az XSL használatával egyszerűen létrehozunk egy sablont (vagy stílusos táblát), amelyben jelezzük, hogy mit és hogyan lehet átalakítani. Ezután ezt a sablont a katalógusunkhoz - és kész: előttünk az XSL sablon szövege, amely átalakítja a könyvtárat a táblázatban (2. lista).</p> <p>Az XSL sablon átfedése a katalógusunkhoz így néz ki:</p><p>Eljárás TFLEX1.Button2Click (Feladó: Togrect); Var xsldoc: ixmldomdokumentum; Kezdődik az xsldoc: \u003d codomdocument.Create; Xsldoc.load ('c: \\ data \\ data.xsl); Memo2.text: \u003d xmldoc.transformnode (xsldoc); Xsldoc: \u003d nulla; vége;</p><p>Az XSL megvitatásának befejezésével azt kell mondani, hogy jelenleg ez a nyelv aktívan alkalmazható a különböző XML-dokumentumok közötti átalakításhoz, valamint a dokumentumok formázásához.</p> <table border="0" width="100%"><tr><td width="50%"> </td> <td width="50%"> </td> </tr></table><h2> Következtetés</h2> <p>Elég érthető okokból, egy cikkben lehetetlen figyelembe venni az összes Microsoft XML DOM objektumot, és példákat használhatjuk. Itt csak az XML DOM használatának fő kérdéseire érkeztünk az alkalmazásokban. A lapon. A 3. ábra a Microsoft XML DOM-ban végrehajtott összes objektumot mutatja.</p> <p>Computerpress 12 "2000</p> <p>Megrendelés megoldása feladatok a Delphi-on <br> Delphi a második programozási nyelv, amellyel a diákok leggyakrabban megismerkednek a tanulási folyamatban. Ez az objektumorientált programozás kezdete. Én, mint egy diák, azt a következtetést, hogy nincs könnyebb módszer a nyelv elsajátítására, mint egy számológép írásához. Még akkor is, ha két szám hozzáadása elemi funkcióját észleli, ez már sok fényben van.</p> <p>Codegaear, Delphi 7, Lázár különböző fordítóprogramok, programok kerül át a gépi kód Ön által írt, átalakítása zoliki és egy. Ezek minden program a programok létrehozására, és nem külön programozási nyelvek. Ezek a fordítók a Delphi nyelv alapjául szolgáló objektum programozási nyelvet használják, amely hasonló a szokásos Pascalhoz hasonló szintaxishoz, de funkcionális jelentősen eltérő. <br></p> <h2>Mi a programozási nyelv szintaxis?</h2> <p>Ez a különböző operátorok írására szolgáló formátum. Például a Pascal "for" ciklusának a következő formátuma van: "N: \u003d 1-re k-re", stb.</p><p>A C ++ programozási nyelvben ugyanazt a ciklust másképp írják le: a (n \u003d 1, n számológépet írunk</p><p>Ezzel megérti Önnek, hogy a programkóddal rendelkező tárgyak hogyan kapcsolódnak egymáshoz, mi a "változók", hogyan működik a matematikai funkciók. Minden esetben mindenképpen számítás lesz. A játék olyan program is, amely folyamatosan úgy véli, hogy valami, számokkal és numerikus funkciókkal működik. A programozás elválaszthatatlan a matematikától.</p> <p>A Lazarus fejlesztési környezetét írjuk. A funkcionalitás nem olyan gazdag, mint, mondjuk, kódszed, de szabad hozzáférés, és úgy tervezték, hogy tanulmányozzák.</p><p>A fejlesztési környezet megnyitása, az elemek alakját és panelét látjuk. Itt van egy űrlap.</p> <p><img src='https://i1.wp.com/reshatel.org/wp-content/uploads/2018/09/Bez-imeni-24.jpg' width="100%" loading=lazy loading=lazy></p><p>Itt van az elem panel.</p><p>Az első dolog, amit meg fog tenni, hogy adjunk a három elem meg kell végrehajtani hozzáadása funkció két szám. Szükségünk van: "Tedit" a három darab és a "tbutton". Az alábbi képen látható a nyilak panelen. Kattints rájuk egyszer, majd egyszer, és megjelennek rajta.</p><p>Ezek a szöveges mezők a bemenethez és a rendszeres gombhoz. Ezekkel az elemekkel szinte minden Windows program segítségével találkozik. Nézd meg.</p><p><img src='https://i0.wp.com/reshatel.org/wp-content/uploads/2018/09/Bez-imeni-27.jpg' width="100%" loading=lazy loading=lazy><br></p> <p>Most tisztítsa meg ezeket a feliratokat. Kattintson a Nézet fülre. És kattintson az "Objektumok felügyelőjére. Ez az ablak jelenik meg.</p><p><img src='https://i1.wp.com/reshatel.org/wp-content/uploads/2018/09/Bez-imeni-28.jpg' width="100%" loading=lazy loading=lazy></p><p>Kattintson egyszerre a "Gomb" gombunkon, és módosítsa a "felirat" értéket az Inspector ablakban bármely másra. Például az "ok" szóban. Kattintson az Enter gombra. Az űrlapon látjuk, mivel az elem megváltoztatta a nevet.</p><p>Csak tedd a szerkesztést, csak ne nevezzük át, de tartalom nélkül meg fogjuk tenni őket. Kiemeljük őket viszont, és tisztítsa meg a szöveg értékét az ellenőrben. Ne felejtse el megnyomni az Enter billentyűt.</p><p><img src='https://i2.wp.com/reshatel.org/wp-content/uploads/2018/09/Bez-imeni-29.jpg' width="100%" loading=lazy loading=lazy></p><p>Az eredmény szerint az űrlapunk így néz ki.</p><p><img src='https://i0.wp.com/reshatel.org/wp-content/uploads/2018/09/Bez-imeni-30.jpg' width="100%" loading=lazy loading=lazy><br></p> <p>Most, hogy a számológépünk megszerzett, regisztrálnia kell a szükséges szoftverkódot a gombunkhoz. Kattintson kétszer a gomb elemre, és nyissa meg a forrásszerkesztőt.</p><p><img src='https://i2.wp.com/reshatel.org/wp-content/uploads/2018/09/Bez-imeni-31.jpg' width="100%" loading=lazy loading=lazy></p><p>Lát? Button1 Click eljárás. Ez egy olyan eljárás, amely felelős azért, hogy mi történik, ha egyszer kattintunk a gombra. És a következőnek kell előfordulni: A program szükséges a harmadik szerkesztésben, hogy az első két mezőben bevezetett számok összegét hozza meg. Írjuk be a kódot.</p><p><img src='https://i0.wp.com/reshatel.org/wp-content/uploads/2018/09/Bez-imeni-32.jpg' width="100%" loading=lazy loading=lazy></p><p>Ilyen egyszerű 5 soros kódot kell írnunk. A fenti képen látható megjegyzések és magyarázatok láthatóak. Ezt követően kattintson erre a gombra.</p> <p>A projektünk összeállítását össze kell állítani. A programban összeszerelhető. A számokat az első két mezőbe adjuk meg, kattintson a gombra, és kapja meg az összeg értékét.</p><p><img src='https://i1.wp.com/reshatel.org/wp-content/uploads/2018/09/Bez-imeni-34-2.jpg' width="100%" loading=lazy loading=lazy></p> <h2>Következtetés</h2> <p>Kattintson a "Fájl" gombra, majd a "Mentés mindent", válassza ki a mentési mappát, és teljes körű programot kapsz, amelynek megkezdése az asztalról elvégezhető. Most próbálja meg kitalálni önmagában, hogy újra kell írnia ezt a kódot, hogy a programot két számmal kell osztani, és nem hajtogatva. Tipp: Meg kell változtatnia az adattípust. Az alábbi videó hasonló példát mutat, de a Delphi 7-ben, nem Lazarusban.</p><p><span class="6qR5tjJKK3g"></span></p> <p>Sok Delphi programozó, a mentési beállítások társulnak <i>Ini.</i> A programokban szereplő fájlok. Ennek a módszernek a használata, kevésbé komoly projektekben kell elkerülni, mivel a rugalmasság korlátozása, amely megakadályozza a program további bővülését. Érdemes megmondani, hogy egy ilyen megközelítés meglehetősen népszerű, az egyszerű használat és a beépített pénzeszközök jelenléte miatt a fejlesztési környezetben. <br><br> Azonban a programbeállítások tárolására szolgáló ideális lehetőség <i>XML</i> Fájlok. Előnyük az, hogy a paraméterek száma nem rögzíthető. Ahhoz, hogy jobban megértsük, fontolja meg egy konkrét példát.</p><p>Az Usearch programban, amikor a felvételre kattint, megjelenik egy helyi menü, amely megjeleníti a pontok listáját. Ezek az elemek parancsok, amelyek bekapcsolódnak a Beállítások fájlból. Abban az esetben, ha a beállításokat tárolták <i>Ini.</i> A fájl, a program mentheti és betölthet egy bizonyos számú parancsot, például 10-et vagy 50-et. Amint fontosabbnak kell lennie, újra kell írnia a kódot, és ennek megfelelően újra össze kell fordítania.</p><p><img src='https://i1.wp.com/zoo-mania.ru/wp-content/uploads/2011/08/settings.ini_.jpg' height="145" width="247" loading=lazy loading=lazy><br> Megközelítés alkalmazása <i>XML</i> Fájlok, mi lesz képes letölteni a szakasz összes paramétereit dinamikusan. Mindezek esetében a konfigurációs fájl elegánsabb lesz, anélkül, hogy a paraméterek túlzott számozása lenne. Azonban a szabványos eszközök a munkához <i>XML</i> A Delphi számos hátránya van, ezért javaslom a szabványos könyvtár használatával <b>MSXML.</b>. Általában ez a Windows családi rendszerek alapértelmezett része.</p><p><img src='https://i1.wp.com/zoo-mania.ru/wp-content/uploads/2011/08/settings.xml_.jpg' align="center" width="100%" loading=lazy loading=lazy><br> Csatlakozáshoz <b>MSXML.</b>Interfészfájlt kell létrehoznunk az összes funkció listájával, importálva a COM szerverről. Az interfész importálása nem elegendő részletes cikk, azt javaslom, hogy töltse le a fájlt <b>Msxml2_tlb.pas.</b> Már készen áll a használatra. A fájl letöltése után helyezze el a projekt mellett, vagy dobja a Delphi lib lib mappába. Így minden létrehozott program képes lesz a modul használatára. <b>MSXML.</b>, Elegendő az MSXML2_TLB hozzáadása a felhasználásokhoz.</p><p>Az egyértelműség érdekében vegye figyelembe a következő példát a könyvtár alkalmazására:</p><p>Eljárás loaddata; Var xmldoc: domdocument; Gyökér: ixmldomelement; Kezdődik az xmldoc: \u003d codomdocument.create; Xmldoc.load ("settins.xml"); Gyökér: \u003d xmldoc.documentelement; Showmessage ("Méret / szélesség"). Szöveg); Gyökér: \u003d nulla; Xmldoc: \u003d nulla; vége;</p><p>Először is létrejött a domdocument osztály példánya, amely után a beállítások tartalma a memóriába van betöltve. A szabvány szerint <i>XML</i> A fájlnak tartalmaznia kell a gyökércímkét (ebben az esetben) <i>config</i>), akkor meg kell kapnunk a funkció használatával <i>Dokumentáció</i>. Ezután a tartalom tartalma a címkék között <width></width> ami viszont a címkék között van <size></size> . Így a Settings.xml fájlból a módszerünk szöveges üzenetet telepít <i>"100px"</i>.</p><p> <?xml version="1.0" encoding="utf-8"?> <config> <size> <height>500px</height> <width>100px</width> </size> </config> </p><p>Itt van a SelectSingLende módszer, amely a karakterláncot paraméterként veszi át.</p> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast_after?t44.1;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+ ";"+Math.random()+ "border='0' width='1' height='1' loading=lazy loading=lazy>");</script> </div> </article> <div class="post-bottom"> <div class="post-share"> <script src="//yastatic.net/es5-shims/0.0.2/es5-shims.min.js"></script> <script src="//yastatic.net/share2/share.js"></script> <div class="ya-share2" data-services="vkontakte,facebook,odnoklassniki,moimir" data-counter=""></div> </div> </div> <div class='yarpp-related'> <div class="related-items"> <div class="headline">Nem találta választ a kérdésedre? Nézd meg ide</div> <div class="items"> <div class="related-item"> <a class="related-item__title" href="https://totrdlo.ru/hu/1s-rasshirenie-raboty-failami-chrome-rasshirenie-dlya-raboty-s-failami-v.html"><img src="/uploads/b9a1cd0ff90fe53a44f4b868cd1ab03a.jpg" width="120" height="120" alt="Hosszabbítás a webes kliens fájlokkal való munkához" class="related-item__image" / loading=lazy loading=lazy>Hosszabbítás a webes kliens fájlokkal való munkához</a> <div class="related-item__comments"><span></span></div> </div> <div class="related-item"> <a class="related-item__title" href="https://totrdlo.ru/hu/kody-oshibok-elektronnoi-pochty-ispravlenie-oshibki-server.html"><img src="/uploads/c28f0dcb89eb151e87752da66b2f742f.jpg" width="120" height="120" alt="Hibajavítás"Сервер отказал в доступе по протоколу POP3" при подключении почты Gmail!" class="related-item__image" / loading=lazy loading=lazy>A hiba kijavítása „Server kitiltott POP3”, amikor csatlakoztatja a Gmail mailben!</a> <div class="related-item__comments"><span></span></div> </div> <div class="related-item"> <a class="related-item__title" href="https://totrdlo.ru/hu/1s-8-1-ne-zapuskaetsya-na-windows-10-ispravlyaem-oshibku-poryadok.html"><img src="/uploads/ac8a980357b9757325284a326b9fd268.jpg" width="120" height="120" alt="1 nem indul el a Windows 10 rendszeren" class="related-item__image" / loading=lazy loading=lazy>1 nem indul el a Windows 10 rendszeren</a> <div class="related-item__comments"><span></span></div> </div> </div> </div> </div> <div style="text-align: center; margin-top: 15px; margin-bottom: 15px; " id="vanna-1965575812"><div class="adsense"><script type="text/javascript">ga_1();</script></div></div> </main> <aside class="sidebar"> <div class="advices" data-theme="vannapedia_v.3"> <div class="headline"></div> <div class="advices-content"> <img src="/uploads/95c0d840f7878d6b89f8e322632280e2.jpg" width="120" height="120" alt="Külső nyomtatott formanyomtatvány hozzáadása az alap külső nyomtatott formák ZUP 3" class="advices__image" / loading=lazy loading=lazy> <div class="advices__title" data-id="3334"><a href="https://totrdlo.ru/hu/dobavlenie-vneshnei-pechatnoi-formy-v-bazu-dobavlenie-vneshnei.html">Külső nyomtatott formanyomtatvány hozzáadása az alap külső nyomtatott formák ZUP 3</a></div> </div> </div> <div class="vk-widget" id="text-3"> <div class="textwidget"><script type="text/javascript" src="//vk.com/js/api/openapi.js?130"></script> <div id="vk_groups"></div> </div> </div> <div class="sidebar-questions"> <div class="headline">Új</div> <ul> <li><a href="https://totrdlo.ru/hu/zapret-provedeniya-dokumentov-v-1s-8-3-buhuchet-info-avtomaticheskaya.html" >Az 1C 8-as dokumentumok tilalma</a></li> <li><a href="https://totrdlo.ru/hu/dlya-chego-nuzhno-razgranichenie-po-polzovatelyam.html" >Ahhoz, hogy mit kell tenni a felhasználók által</a></li> <li><a href="https://totrdlo.ru/hu/otbor-v-tablice-znachenii-1s-8-2-kakie-metody-sushchestvuyut-i-kak-iskat-odnovremenno-po-neskolkim-zna.html" >Kiválasztás az 1c értékek táblázatában 8</a></li> <li><a href="https://totrdlo.ru/hu/obnovlenie-buhgalterii-2-0-na-3-0-uchet-materialno-proizvodstvennyh-zapasov.html" >Számviteli frissítés 2.</a></li> <li><a href="https://totrdlo.ru/hu/login-parol-dlya-obnovleniya-1s-roznica.html" >Felhasználónév Jelszó az 1c-es frissítéshez</a></li> <li><a href="https://totrdlo.ru/hu/com-ustanovlen-bezopasnyi-rezhim-vypolnenie-operacii-zapreshcheno.html" >Szoftver megnyitása külső feldolgozás</a></li> </ul> </div> <div class="section"> </div> <div class="section"> <div class="headline">Népszerű cikkek</div> <ul class="sidebar-posts"> <li><a href="https://totrdlo.ru/hu/podklyuchennyh-fiskalnyh-ustroistv-ne-naideno-ustanovka-i.html"><img src="/uploads/5df9163e05fa9245cdb80b7f64ec6186.jpg" width="80" height="80" alt="Fiscal Regenerátor telepítése és konfigurálása" / loading=lazy loading=lazy>Fiscal Regenerátor telepítése és konfigurálása</a></li> <li><a href="https://totrdlo.ru/hu/kak-izmenit-nazvanie-organizacii-v-1s-8-3-izmenenie-sluzhebnyh-rekvizitov.html"><img src="/uploads/eb6c692f9abb4922889b5f4223818c4a.jpg" width="80" height="80" alt="Hogyan lehet megváltoztatni a szervezet nevét az 1C 8-ban" / loading=lazy loading=lazy>Hogyan lehet megváltoztatni a szervezet nevét az 1C 8-ban</a></li> <li><a href="https://totrdlo.ru/hu/1s-8-3-kak-sdelat-pole-nedostupnym.html"><img src="/uploads/2ab15198b6dd38b0d618cbde07d80615.jpg" width="80" height="80" alt="3 Hogyan lehet elérni a mezőt" / loading=lazy loading=lazy>3 Hogyan lehet elérni a mezőt</a></li> </ul> </div> <div class="section"> <div class="headline">Új az oldalon</div> <ul class="sidebar-posts sidebar-photo"> <li><a href="https://totrdlo.ru/hu/biblioteka-standartnyh-podsistem-vnedrenie-biblioteki-standartnyh.html">A szabványos alrendszerek könyvtárának végrehajtása BSP 1C</a></li> <li><a href="https://totrdlo.ru/hu/posle-obnovleniya-konfiguracii-1s-8-3-trebuet-licenziyu-ne-naidena-licenziya.html">A konfiguráció frissítése után 1C 8</a></li> <li><a href="https://totrdlo.ru/hu/instrumenty-razrabotchika-obnovlenie-vspomogatelnyh-dannyh.html">Új dokumentum létrehozása nyomtatott formákkal</a></li> <li><a href="https://totrdlo.ru/hu/1s-obnovlenie-vspomogatelnyh-dannyh-obnovlenie-spravochnika-identifikatory.html">A metaadatok objektumok frissítése nem Monopolis</a></li> <li><a href="https://totrdlo.ru/hu/periodicheskie-registry-svedenii-v-1s-8-3-poisk-i-chtenie-v-registre.html">Időszakos információs nyilvántartások az 1c 8-ban</a></li> </ul> </div> </aside> </div> <footer class="footer"> <nav class="footer__nav"><ul><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-1219"><a href="https://totrdlo.ru/hu/">Új</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-"><a href="https://totrdlo.ru/hu/tormoza-na-failovoi-baze---kak-izbezhat-iz-nedavnego-opyta-tormoza-na.html">Fékek a fájl adatbázisán - Hogyan lehet elkerülni (a legutóbbi tapasztalatokat) Nem sikerült blokkolni a Config 1C táblázatot</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-"><a href="https://totrdlo.ru/hu/kak-otklyuchit-obnovlenie-1s-8-3.html">Az 1C 8 frissítés letiltása</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-"><a href="https://totrdlo.ru/hu/skachat-shablon-1s-8-3-buhgalteriya-shablony-konfiguracii-i.html">Letöltés sablon 1c 8.3 Számvitel. Konfiguráció és frissítések sablonok. Töltse le a konfigurációs telepítési fájlokat</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-"><a href="https://totrdlo.ru/hu/vybor-nastroek-dinamicheskogo-spiska-1s-8-3-sposoby-polucheniya-i.html">Válassza ki a dinamikus lista beállításokat 1c 8</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-1230"><a href="https://totrdlo.ru/hu/">Népszerű</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-"><a href="https://totrdlo.ru/hu/vypolnenie-obrabotchikov-obnovleniya-ne-zakanchivaetsya-procedury.html">Adatfeldolgozási eljárások</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-"><a href="https://totrdlo.ru/hu/perenos-1s-bazovaya-na-drugoi-kompyuter-dobavlenie-bazy.html">Transzfer 1c alapvet egy másik számítógéphez</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-"><a href="https://totrdlo.ru/hu/pereustanovit-1s-na-drugoi-kompyuter-ustanovka-licenzii-na.html">Licenc telepítése egy új számítógépre</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-"><a href="https://totrdlo.ru/hu/portal-predostavleniya-gosudarstvennyh-uslug-gosuslugi-lichnyi-kabinet.html">Állami szolgáltatások Személyes fiók</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-"><a href="https://totrdlo.ru/hu/gosportal-gosudarstvennyh-uslug-gosuslugi--lichnyi-kabinet--vhod.html">Állami felügyeleti szekrény - bejárat a héjakon és telefonon</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-"><a href="https://totrdlo.ru/hu/edinyi-telefon-sluzhby-spaseniya-v-rossiiskoi-federacii-ekstrennye-telefony.html">Egyetlen telefonmentő szolgáltatás az Orosz Föderációban</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-"><a href="https://totrdlo.ru/hu/departament-informacionnyh-tehnologii-svyazi-i-zashchity-informacii.html">Információs Technologies Tanszék, Információs Minisztérium Informatikai Minisztérium</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-"><a href="https://totrdlo.ru/hu/okazanie-pervoi-pomoshchi-pri-elektricheskom-toke-deistviya-i.html">Cselekvések és elsősegély áramütéssel</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-1236"><a href="https://totrdlo.ru/hu/">Ajánlott</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-"><a href="https://totrdlo.ru/hu/ekstrennyi-vyzov-s-sotovogo-telefona-telefonnye-mobilnye-nomera.html">Telefonos mobil sürgősségi szolgáltatások</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-"><a href="https://totrdlo.ru/hu/upravlenie-departamenta-po-cao-go-i-chs-ministerstvo-rossiiskoi-federacii-po.html">Orosz Föderáció Minisztériuma Polgári Védelem, vészhelyzetek és a katasztrófa-koncepciók megszüntetése (Oroszország Emercom)</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-"><a href="https://totrdlo.ru/hu/so-optimizaciya-servernoi-infrastruktury-so-optimizaciya-servernoi.html">A szerver infrastruktúra technikai optimalizálási megoldásainak optimalizálása a szerverekhez</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-"><a href="https://totrdlo.ru/hu/tehnologiya-provedeniya-migracii-dannyh-v-krupnyh-proektah-migraciya.html">Migrációs adatbázis adatátviteli módszertan</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-"><a href="https://totrdlo.ru/hu/zafiksirovany-izmeneniya-v-konfiguracii-sistemy-izmeneniya.html">A módosítások a rendszerkonfigurációban kerülnek rögzítésre</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-"><a href="https://totrdlo.ru/hu/pometka-na-udalenie-1s-8-3-buhuchet-info-avtomaticheskoe-udalenie-obektov-po.html">Mark az eltávolításhoz 1c 8</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-"><a href="https://totrdlo.ru/hu/kak-rabotat-v-programme-gis-gmp-instrukciya-po-podklyucheniyu-uchastnikov-i-po.html">A résztvevők csatlakoztatására és a GIS GMP lapokkal történő kölcsönhatás ellenőrzésére vonatkozó utasítások nem kapcsolhatók a GIS GMP-hez</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-"><a href="https://totrdlo.ru/hu/1s-8-udalenie-pomechennyh-obektov-buhuchet-info-pochemu-ne.html">1C 8 A megjelölt objektumok eltávolítása</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-6898"><a href="https://totrdlo.ru/hu/">A webhelyről</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-6900"><a href="">A webhelyről</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-6901"><a href="">Reklám a honlapon</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-6902"><a href="">Névjegyzék</a></li> </ul> </li> </ul></nav> <div class="footer-bottom"> <div class="footer-left"> <div class="foot__logo"> <div class="footer__logo-sitename">totrdlo.ru. <span> Ru</span></div> </div> <style> .foot__logo { min-height: 35px; margin: 0 0 11px -79px; padding: 9px 0 0 79px; text-decoration: none; } </style> <p>© 2021 Minden jog fenntartva</p> <p>A mobil útmutató. Operátorok. Hasznos tanácsadás</p> <ul class="footer-bottom__nav"> <li><a href="" >Reklám a projekten</a></li> </ul> </div> <div class="footer-buttons"> </div> <ul class="footer__soc"> <li><a href="http://vk.com/" target="_blank" class="vk">Kapcsolatban áll</a></li> <li>Odnoklassniki.</li> <li><a href="http://www.facebook.com/" target="_blank" class="fb">Facebook.</a></li> <li><a href="https://twitter.com/" target="_blank" class="twi">Twitter.</a></li> </ul> <div class="footer-right"> <div class="footer__note"></div> <div class="footer__counters" id="text-2"> <div class="textwidget"></div> </div> </div> </div> </footer> </div> </div> <link rel='stylesheet' id='wp-lightbox-bank.css-css' href='/wp-content/plugins/wp-lightbox-bank/assets/css/wp-lightbox-bank.css?ver=4.8.3' type='text/css' media='all' /> <script type='text/javascript' src='https://totrdlo.ru/wp-content/themes/vannapedia_v.3/js/scripts.js'></script> <script type='text/javascript' src='/wp-includes/js/comment-reply.min.js?ver=4.8.3'></script> <script type='text/javascript' src='/assets/scripts1.js'></script> <script type='text/javascript'> /* <![CDATA[ */ var tocplus = { "smooth_scroll":"1"} ; /* ]]> */ </script> <script type='text/javascript' src='https://totrdlo.ru/wp-content/plugins/table-of-contents-plus/front.min.js?ver=1509'></script> <script type='text/javascript'> var q2w3_sidebar_options = new Array(); q2w3_sidebar_options[0] = { "sidebar" : "sidebar-fixed", "margin_top" : 10, "margin_bottom" : 0, "stop_id" : "respond", "screen_max_width" : 0, "screen_max_height" : 0, "width_inherit" : false, "refresh_interval" : 1500, "window_load_hook" : false, "disable_mo_api" : false, "widgets" : ['text-4'] } ; </script> <script type='text/javascript' src='https://totrdlo.ru/wp-content/plugins/q2w3-fixed-widget/js/q2w3-fixed-widget.min.js?ver=5.0.4'></script> <script type='text/javascript' src='/wp-includes/js/wp-embed.min.js?ver=4.8.3'></script> <script type='text/javascript' src='https://totrdlo.ru/wp-content/plugins/wp-lightbox-bank/assets/js/wp-lightbox-bank.js?ver=4.8.3'></script> <script type='text/javascript' src='https://totrdlo.ru/wp-content/plugins/akismet/_inc/form.js?ver=4.0'></script> </body> </html>