Konvertuoti dbf failą į xml. DBF failo atidarymas ir konvertavimas į EXCEL

Tikriausiai dažnai reikia konvertuoti an XML failą arba aplanką su XML failus į vieną ar kelis DBF failus. Problema ta, kad XML struktūra, jos hierarchija ir įdėjimo lygiai skiriasi priklausomai nuo failo. Šiame straipsnyje mes išsamiai apžvelgsime, kaip importuoti XML BET KOKIOS struktūros failą į butą DBF stalo.

Nauja funkcija vadinama Importuoti tinkintą XML buvo įgyvendintas m DBF Commander Professional 2.7 versija (40 versija). Ši komanda pasiekiama per komandinės eilutės sąsają. Sintaksė yra tokia:

dbfcommander.exe -icx [<-attr>]

Kaip matote, yra keturi parametrai:

  • -icx– reiškia Importuoti tinkintą XML.
  • – visas failo pavadinimas (įskaitant kelią) arba aplanko, kuriame yra XML failus, kuriuos reikia importuoti. Taip pat galite įkelti tam tikrus tik failus naudodami kaukę, pvz. “ D:\xml\some_prefix_*.xml". Šiuo atveju tik tie failai, kurių plėtinys yra XML ir kurio vardas prasideda " kai_priešdėlis“ bus konvertuotas į DBF. Jei norite konvertuoti visus aplanke esančius failus, naudokite šią kaukę: D:\xml\*.xml".
  • – paskirties aplanką, pvz. “ D:\dbf\“. Šiuo atveju visi esami DBF failai bus perrašyti. Jei norite importuoti šaltinį XML failus į vieną DBF failą, naudokite tikslų failo pavadinimą, pvz. “ D:\dbf\result.dbf". Tačiau tokiu atveju gautas failas turėtų būti sukurtas prieš pradedant konvertavimo procesą, kitaip įvyks klaida. Jei DBF Gautiems duomenims naudojamas failas, jis nebus perrašomas, o kiekvienas naujas įrašas bus įterptas tas pats failą.
  • – visas vadinamasis „ žemėlapis-failas“, kuris yra paprastas DBF failą, kuriame yra šaltinio apibrėžimas ir gaunami failo laukai. Žemiau mes apsvarstysime žemėlapio failo kūrimo procesą.
  • <-attr> – naudokite šį parametrą, jei norite importuoti žymas su tam tikrais atributais.

DBF laukų apibrėžimas arba Kaip sukurti žemėlapio failą

Visada geriau ką nors išmokti naudojant pavyzdį. Mūsų situacijoje mums reikia kai kurių gerai žinomų XML. Paimkime an RSS naujienų kanalas XML failas (galima):

Kaip matote, yra keturi<daiktas> elementų, įdėtų į<kanalas> elementas, kuris pats yra įdėtas į viršutinį lygį<rss> elementas. Yra taip pat to paties lizdo lygio elementai kaip<daiktas> elementai:<generatorius>, <titulą>, <apibūdinimas> ir kt.

Tarkime, kad kiekvienas<daiktas> elementas gautoje eilutėje turi būti pavaizduotas kaip viena eilutė DBF failą. Taigi mūsų faile bus keturi įrašai.

Norėdami sukurti žemėlapio failą, pirmiausia sukurkime gautą failą DBF failą. Mums to reikia, nes tada keliais paspaudimais galėsime sukurti žemėlapio failą. Paleiskite DBF Commander Professional, spustelėkite Failas -> Naujas ir sukurti a DBF failą. Tuo atveju, kai RSS XML failo struktūra yra tokia:

Spustelėkite Gerai. The DBF bus sukurtas ir dabar jis gali būti naudojamas kaip gautas failas importuojant iš XML procesas. Galite naudoti bet kokius galimus laukų tipus: Charakteris, Sveikasis skaičius, Skaitinis, Data ir kt.

Norėdami sukurti žemėlapio failą pagal gautą failą, spustelėkite Eksporto struktūraįrankio mygtukas (žr. paveikslėlį aukščiau). Atsidarius dialogo langui Įrašyti, pasirinkite kelią ir failo pavadinimą, tada išsaugokite struktūrą kaip a DBF failą.

XML žymų suderinimas su DBF laukais

Dar turime padaryti dar vieną dalyką: apibrėžti XMLžymos, kurios turėtų būti įterptos į gauto laukelius DBF failą.

Atidaryk DBF failą, kurį ką tik išsaugojote. Spustelėkite Failas -> Struktūra ir pridėkite naują lauką pavadinimu " xmtagname"iš Charakteris tipo. Jei norite, žemėlapio faile galite pridėti daugiau laukų. Pavyzdžiui, pridėkime lauką pavadinimu " komentarą“. Spustelėkite Gerai norėdami išsaugoti pakeitimus.

Dabar užpildykite kiekvieną eilutę nauja "xmtagname"laukas su XML mazgų kelias (atskirtas " -> “), kuris turėtų būti įterptas į atitinkamą lauką DBF failas:

Tai reiškia, kad vertė XML mazgas<titulą> įdėtas į<kanalas> mazgas, kuris yra įdėtas į viršutinį lygį<rss> bus įterptas į " titulą“ laukas; XMLžyma " rss -> kanalas -> aprašymas"bus įterptas į" aprašas“ lauką ir pan.

Jei naudojate " -attr" parametras, žemėlapio failo keliuose taip pat turi būti atitinkami atributai, pvz.: " rss version="2.0" -> kanalas -> pavadinimas".

Atkreipkite dėmesį į " item_desc lauke XMLžyma " rss -> kanalas -> elementas -> aprašymas“ yra CDATA skyrius su HTMLžymėjimas. Taigi jo žymos kelias turėtų būti baigtas „ #cdata skyrius"styga.

Paskutinė eilutė, kurią galite matyti aukščiau esančiame paveikslėlyje, yra vadinamoji " eilutės žyma". Šis žymos kelias leidžia DBF vadasžinoti, kuri XMLžyma turėtų būti naudojama kaip nauja gautoje eilutėje DBF failą. Mūsų atveju tai yra " rss -> kanalas -> elementas".

Atminkite, kad „ vardas" laukas turi būti tuščias įrašui, kuriame yra eilutės žyma, kad programa galėtų atpažinti eilutės žymą.

Na, tai viskas, dabar galime paleisti importą XMLį DBF pats. Vykdykite šią komandą iš komandinės eilutės arba iš a ŠIKŠNOSPARNIS failas:

dbfcommander.exe -icx "D:\xml\rss.xml" "D:\dbf\" "D:\map-file.dbf"

Dėl to „gausime naują failą“ D:\dbf\rss.dbf“, kuriame yra importuotas XML duomenys:

Galite atsisiųsti visus šioje konversijoje naudojamus failus iš .

DBF yra duomenų bazės failas, su kuriuo galimybė dirbti anksčiau buvo integruota į Microsoft Office aplinką. Su formatu veikė „Access“ ir „Excel“ programos, vėliau „Access“ buvo išimta iš paketo ir tapo atskira programa, o „Excel“ nuo 2007 m. DataBaseFile palaikymas buvo gerokai apribotas.

Jei neįmanoma atidaryti DBF failo tiesiogiai programoje Excel, pirmiausia turite jį konvertuoti.

Tačiau, nors daugelis mano, kad DBF yra pasenęs formatas, jis vis dar plačiai naudojamas specializuotose verslo, dizaino ir inžinerijos programose. Visur, kur reikia dirbti su dideliais informacijos kiekiais, jų struktūrizavimu ir apdorojimu bei užklausų vykdymu. Pavyzdžiui, „1C Enterprise“ programinės įrangos paketas yra visiškai pagrįstas duomenų bazių valdymu. Ir atsižvelgiant į tai, kad „Excel“ programa apdorojama daug biuro dokumentų ir duomenų, integruoto darbo su šiais formatais klausimas yra aktualus ir paklausus.

„Excel“ problemos dirbant su DBF

„Excel 2003“ turėjo galimybę atidaryti ir redaguoti DBF, taip pat išsaugoti XLS dokumentus šiuo formatu:

  1. Meniu juostoje pasirinkite „Failas“.
  2. Tada spustelėkite „Išsaugoti kaip“.
  3. Išskleidžiamajame sąraše pasirinkite „*.dbf“.

SVARBU. Nuo 2007 m. galite atidaryti ir peržiūrėti duomenų bazės formatą programoje „Excel“, bet negalite jame atlikti pakeitimų ar išsaugoti .xls dokumentų. Standartiniai programos įrankiai šios parinkties nebeteikia.

Tačiau programai yra specialių priedų, kurie prideda prie jos tokią funkciją. Programuotojai skelbia savo pokyčius internete įvairiuose forumuose, o jūs galite rasti įvairių variantų. Populiariausią priedą, vadinamą XslToDBF, galima atsisiųsti iš kūrėjo svetainės http://basile-m.narod.ru/xlstodbf/download.html. Atsisiuntimas nemokamas, tačiau jei norite, galite paremti projektą pervesdami bet kokią sumą į savo piniginę ar kortelę.

Montavimas ir naudojimas:

  1. Atsisiųskite archyvą iš aukščiau esančios svetainės.
  2. Iš jo ištraukite XlsToDBF.xla ir išsaugokite jį savo kompiuteryje.
  3. Programoje „Excel“ eikite į meniu su „Microsoft“ piktograma kairėje, „Parinktys“.
  4. Dalyje „Excel“ parinktys pasirinkite Priedai.
  5. Eilutėje Tvarkyti / „Excel“ priedus spustelėkite Eiti.
  6. Spustelėkite Naršyti ir suraskite išsaugotą XlsToDBF.xla.
  7. Įrašas „XLS -> DBF“ turėtų būti rodomas priedų sąraše su pažymėtu langeliu. Patikrinkite, ar jo nėra.
  8. Dabar galite išsaugoti .xls į .dbf formatą. Galite atsisiųsti iš tos pačios svetainės išsamias instrukcijas pagal naudojimą. Svarbiausia teisingai parengti lentelės duomenis.
  9. Kai lentelė bus paruošta, pasirinkite bet kurį užpildytą langelį ir paspauskite Alt ir F
  10. Atsidariusiame makrokomandos lange laukelyje įveskite XlsToDBF, didžiosios ir mažosios raidės nėra svarbios.
  11. Spustelėkite Vykdyti.
  12. Jei tinkamai paruošėte ir suformatavote duomenis, duomenų bazės failas taip pat bus išsaugotas aplanke, kuriame yra šaltinio XLS.

Jei nenorite nieko keisti „Office“, nepasitikėkite priedais ir trečiųjų šalių programas, tada galime pasiūlyti daugiau laiko reikalaujantį būdą konvertuoti XLS failą į DBF:

  1. Įsigykite ir įdiekite „Microsoft Access“.
  2. Programoje „Excel“ paruoškite ir išsaugokite dokumentą.
  3. Spustelėkite mygtuką „Atidaryti“ MS Access ir pasirinkite failą.
  4. Dabar reikia tinkamai sukonfigūruoti importavimą.
  5. Pasirinkite lapą, nuo kurio norite pradėti. Jei jų yra keletas, vis tiek turite atlikti po vieną.
  6. Jei lentelėje yra antraštės eilutė, pažymėkite atitinkamą laukelį.
  7. Tada galite pakeisti lentelės pavadinimą.
  8. Dabar spustelėkite „Išoriniai duomenys“.
  9. Spustelėkite mygtuką „Eksportuoti“, „Išplėstinė“.
  10. Pasirinkite dBase failą.
  11. Nurodykite pavadinimą ir išsaugokite vietą.

Šis metodas ne visada sėkmingai veikia duomenų apdorojimo ir vėlesnio išsaugojimo metu. Ir tai labai ilgas ir nepatogus.

Konversija

Kad patys nenukentėtų su biuro programomis, sukurta daug aplikacijų, kurios leidžia perkelti duomenis iš vieno formato į kitą. Pirma, beveik visos galingos DBVS programos suteikia galimybę eksportuoti į XLS ir įkelti iš jos. Antra, yra mažų komunalinių paslaugų, kurios specializuojasi konvertuojant. Štai keletas iš jų:


Visose šiose programose konvertuojama atidarant šaltinio failą ir paleidžiant komandą „Konvertuoti“ arba „Eksportuoti“.

Taip pat yra nemokamų internetinių konvertavimo paslaugų. Tokiose svetainėse jūsų prašoma atsiųsti (atsisiųsti) šaltinio failą, spustelėkite „Konvertuoti“, po kurio pasirodys nuoroda į konvertuotą dokumentą. Kiek galite pasitikėti tokiomis paslaugomis, sprendimas yra individualus, jūsų pačių rizika ir rizika.

Taigi galite atidaryti DBF programoje „Excel“, tačiau jei jos versija yra 2007 m. ar naujesnė, nieko daugiau su juo padaryti nebegalėsite, tiesiog pažiūrėkite. Yra specialūs priedai ar programos, skirtos redaguoti ir išsaugoti XLS, taip pat konvertuoti priešinga kryptimi. Jei turite patirties konvertuojant ir dirbant su DBF į skirtingos programos, pasidalinkite savo patarimais komentaruose.

Siųsti savo gerą darbą žinių bazėje yra paprasta. Naudokite žemiau esančią formą

Studentai, magistrantai, jaunieji mokslininkai, kurie naudojasi žinių baze savo studijose ir darbe, bus jums labai dėkingi.

Paskelbta http://www.allbest.ru/

Padniestrės Valstijos universitetas juos. T.G. Ševčenka

Inžinerijos ir technikos institutas

Informacinių technologijų ir automatizuoto gamybos procesų valdymo katedra

KVALIFIKACIJOS DARBAS

kryptimi 230100 „Informatika ir informatika“

tema: „DUOMENŲ BAZĖS KEITIMO PROGRAMA IŠ DBF FAILDŲ Į XML FORMATĄ“

Studentas Maksimovas Dmitrijus Olegovičius

Tiraspolis, 2013 m

ĮVADAS

1. DALYKO DOMENO TYRIMAS IR ANALIZĖ

1.1 Užduoties aprašymas

1.2 Tiriamos problemos aktualumo pagrindimas

1.3 Panašių problemų sprendimo būdų apžvalga

1.4 Problemos išdėstymas, sistemos reikalavimai, reikalavimai įvesties duomenims ir išvesties formoms

2. PROGRAMINĖS ĮRANGOS PRODUKTO STRUKTŪROS IR ARCHITEKTŪROS PROJEKTAVIMAS

2.1 Įgyvendinimo būdų ir priemonių parinkimas, jo pagrindimas

2.2 Naudotų algoritmų aprašymas

2.3 Struktūra, architektūra programinės įrangos produktas

2.4 Funkcinė schema, programinės įrangos produkto funkcinė struktūra

3. PROGRAMINĖS ĮRANGOS ĮDIEGIMAS IR BANDYMAS

3.1 Įgyvendinimo aprašas

3.2 Vartotojo sąsajos aprašymas

3.3 Programinės įrangos produkto patikimumo testavimas ir įvertinimas

3.4 Sąnaudų apskaičiavimas

3.5 Darbo sauga

IŠVADA

KONVENCIJŲ, SIMBOLIŲ, VIENETŲ IR TERMINŲ SĄRAŠAS

NAUDOJAMŲ NUORODŲ SĄRAŠAS

TAIKYMAS

ĮVADAS

Per visą kompiuterių egzistavimą buvo sukurta daug operacinių sistemų. Dabar jų skaičius matuojamas dešimtimis ir įvairiose šeimose yra failų formatų, naudojamų tik tam tikroje operacinių sistemų eilutėje. Pavyzdžiui, jei yra universalių vaizdų rengyklės programų, kurios atidaro bet kokį failų formatą, kuriame yra operacinės sistemos palaikomi vaizdai, tada, pavyzdžiui, duomenų bazėms tokių redaktorių nėra.

Norint dirbti su kiekvienu duomenų bazės formatu, yra individuali duomenų bazių valdymo sistema. Yra daugybė duomenų bazių tipų, kurios skiriasi pagal įvairius kriterijus:

1) Klasifikavimas pagal duomenų modelį:

a) hierarchinis;

b) tinklas;

c) santykinis;

d) objektinis ir objektinis;

e) objektinis-santykinis, funkcinis.

2) Klasifikavimas pagal nuolatinės saugojimo aplinką:

a) antrinėje atmintyje arba tradicinėje;

b) RAM;

c) tretinėje atmintyje.

3) Klasifikacija pagal pasiskirstymo laipsnį:

a) centralizuotas arba koncentruotas;

b) platinamas.

4) Kitų tipų duomenų bazės

a) erdvinis;

b) laikinas;

c) spatiotemporal;

d) cikliškas.

Didelis skirtingų duomenų bazių skaičius neleidžia tiesiogiai perkelti duomenų bazės turinio iš vieno tipo į kitą. Norėdami išspręsti šią problemą, yra konvertavimo programų, kurios konvertuoja vieną duomenų bazės formatą į kitą. Paprastai keitikliai egzistuoja tik labiausiai paplitusiems duomenų bazių formatams, o tai neleidžia tiesiogiai konvertuoti pasenusio formato į šiuolaikinį. Naudoti du keitiklius nėra racionalu, todėl optimalus sprendimas yra tarpinis žingsnis duomenų bazių saugojimas XML failuose.

XML failai ir kitų plėtinių failai, pagrįsti XML kalba, tapo labai plačiai paplitę beveik kiekviena šiuolaikinė operacinė sistema palaiko šį failo formatą. XML failuose saugomi įvairūs duomenys – nuo ​​programos nustatymų iki duomenų bazių. XML failai naudojami keistis informacija internete ir tarp programų (tam iš pradžių buvo sukurta žymėjimo kalba). Kadangi XML formato failuose yra tekstinių duomenų, juos galima lengvai redaguoti bet kuriame teksto rengyklėje, taip pat nustatyti bet kokią patogią duomenų kodavimą. Be to, yra daug XML dokumentų generatorių.

1 . DALYKO DOMENO TYRIMAI IR ANALIZĖ

1.1 Užduoties aprašymas

Baigiamajame kvalifikaciniame darbe būtina įdiegti konvertavimo programą, kuri pagal perkeltų dbf failų turinį sukuria XML failą pagal vartotojo nurodytą šabloną. Dbf failų skaičius ir struktūra gali būti bet koks išvesties XML failas turi būti vienodas. Kiekvienas dbf failas turi savo šabloną, pagal kurį programa įrašo informaciją į XML failą. Gebėjimą kurti šablonus būtina įgyvendinti dviem būdais: naudojant kodą ir naudojant konstruktorių. Šabloniuose, sukurtuose naudojant kodą, turite tiksliai pasirinkti, kokius duomenis reikia įrašyti į išvesties failą. Ši funkcija pasiekiama naudojant specialias kodo komandas, sukurtas specialiai šiai programai. Šabloniuose, sukurtuose naudojant dizainerį, reikia įdiegti paprastą ir patogią sąsają, kuri leis kurti pasirinktinius šablonus, pagal kuriuos programa įrašo informaciją į XML failą.

1.2 Aktualumo pagrindimas tiriama problema

XML – rekomenduoja konsorciumas Pasaulinis tinklasŽymėjimo kalba, kuri iš tikrųjų yra bendrųjų sintaksinių taisyklių rinkinys. XML yra teksto formatas, skirtas struktūrizuotiems duomenims saugoti (vietoj esamų duomenų bazės failų), keistis informacija tarp programų, taip pat jo pagrindu kurti labiau specializuotas žymėjimo kalbas (pavyzdžiui, XHTML).

XML dokumentas yra duomenų bazė tik pačia bendriausia to žodžio prasme, tai yra duomenų rinkinys. Tai niekuo nesiskiria nuo daugelio kitų failų – galiausiai visi failai susideda iš tam tikro tipo duomenų. Kaip „duomenų bazės“ formatas, XML turi tam tikrų pranašumų, pvz., gali savarankiškai aprašyti (žymėjimas apibūdina duomenis). Nesunku užtikrinti, kad juos būtų galima apdoroti įvairia programine įranga, nes duomenys yra saugomi Unicode, duomenys saugomi medžio ar grafiko pavidalu. Tačiau jis taip pat turi tam tikrų trūkumų, pavyzdžiui, jis yra per daug išsamus ir gana lėtas prieiga prie duomenų, nes reikia analizuoti ir konvertuoti tekstą.

KAM teigiamų aspektų Tai gali būti siejama su tuo, kad XML leidžia įgyvendinti daug ką galima rasti įprastose duomenų bazėse: saugyklą (XML dokumentai), schemas (DTD, XML Schema kalba), užklausų kalbas (XQuery, XPath, XQL, XML). -QL, QUILT ir kt.), programavimo sąsajos (SAX, DOM, JDOM) ir kt. Trūkumai yra tai, kad nėra daug galimybių modernios bazės duomenys: saugojimo efektyvumas, indeksai, saugumas, operacijų ir duomenų integravimas, kelių vartotojų prieiga, trigeriai, kelių dokumentų užklausos ir kt.

Taigi, nors XML dokumentus galima naudoti kaip duomenų bazę aplinkose su mažas kiekis duomenys, mažas vartotojų skaičius ir žemi našumo reikalavimai, to negalima padaryti daugumoje verslo aplinkų, kuriose yra daug vartotojų, griežti duomenų integravimo reikalavimai ir aukšti našumo reikalavimai.

„Duomenų bazės“, kuriai tinka XML dokumentas, pavyzdys yra .ini failas – tai yra failas, kuriame yra programos konfigūracijos informacija. Daug lengviau sugalvoti programavimo kalbą su nedideliu XML pagrindu veikiančių funkcijų rinkiniu ir parašyti SAX programą, kad ją interpretuotų, nei sukurti kableliais atskirtų failų analizatorių. Be to, naudojant XML duomenų elementus galima įdėti vienas į kitą, o tai padaryti gana sunku, kai duomenys atskiriami kableliais. Tačiau tokius failus vargu ar galima vadinti duomenų bazėmis visa to žodžio prasme, nes jie skaitomi ir rašomi linijiškai ir tik atidarius arba uždarius programą.

Įdomiausias duomenų rinkinių pavyzdys, kur patogu naudoti XML dokumentą kaip duomenų bazę, yra asmeninis kontaktų sąrašas (vardai, telefonų numeriai, adresai ir kt.). Tačiau dėl mažų duomenų bazių, tokių kaip dBASE ir Access, kainos ir paprasto naudojimo, net ir šiais atvejais nėra jokios priežasties naudoti XML dokumentą kaip duomenų bazę. Vienintelis tikras XML privalumas yra tai, kad duomenys yra lengvai perkeliami iš vienos programos į kitą, tačiau šis pranašumas nėra toks svarbus, nes duomenų bazių nuoseklinimo į XML formatą įrankiai jau yra plačiai paplitę.

Programinės įrangos kūrimas yra svarbus dėl šių priežasčių:

Dbf duomenų bazės formatas yra pasenęs ir neatitinka šiuolaikinių reikalavimų;

XML formatas nekelia griežtų reikalavimų turiniui vartotojas gali saugoti duomenis bet kokia tvarka ir kurti žymes bet kokiu pavadinimu;

Jokia konvertavimo programa neleidžia susikurti savo XML failų struktūros ir rašyti duomenis iš kelių dbf formato failų.

1.3 Panašių problemų sprendimo būdų apžvalga

"White Town" leidžia konvertuoti dbf failus į XML formatą. Programa gali konvertuoti dBase III, dBase IV, FoxPro, VFP ir dBase 7 formatų dbf failus. Programa palaiko komandinės eilutės sąsają. Taigi, jį galima paleisti iš .BAT arba .LNK failo, pirmiausia nurodant reikiamus parametrus arba pagal tvarkaraštį iš Windows planavimo priemonės. Šio programinės įrangos produkto trūkumas yra nesugebėjimas tinkinti išvesties failo formato. Pagrindinis programos langas parodytas 1.1 pav.

1.1 pav. – Pagrindinis programos „Baltasis miestas“ langas

DBF Converter yra universali, tačiau paprasta naudoti konvertavimo programa. Ši programa turi į vedlį panašią sąsają, bet taip pat gali būti naudojama kaip komandų eilutės priemonė, skirta failų grupei apdoroti. „DBF Converter“ palaiko visus šiuolaikinius duomenų mainų formatus, tokius kaip XML, CSV, TXT, HTML, RTF, PRG ir kt. Įdiegta galimybė konvertuoti DBF lenteles į SQL scenarijus, kuriuos galima importuoti į bet kurią SQL duomenų bazę.

Be paprastų konversijų, DBF Converter leidžia manipuliuoti duomenimis pasirenkant tik tam tikrus stulpelius ir taikant filtrus. Skirtingai nuo supaprastintų filtrų taisyklių, kurios paprastai yra kitose DBF programose, DBF konverteris dinamiškai sukuria paprastos formos duomenų bazės įrašai. Galimybė nustatyti išplėstinę kaukę ir taisykles bet kuriame paprasto įrašo lauke yra viena iš vertingiausių DBF Converter funkcijų. Pagrindinis šios programinės įrangos trūkumas yra 29,95 USD kaina.

Pagrindinis programos langas parodytas 1.2 pav.

1.2 pav. – Pagrindinis „DBF Converter“ programos langas

„DBF View“ yra nemokama, kompaktiška ir patogi programa, skirta darbui su DBF failais. Nereikalauja diegimo, veikia be papildomų tvarkyklių ir bibliotekų.

Pagrindinis privalumas yra jo universalumas, greita ir lanksti linijinė paieška, kuri savo greičiu lenkia daugelį SQL.

Papildomos funkcijos:

Paieška pagal kaukę (raštą);

Duomenų redagavimas, keitimas, trynimas, kūrimas, pridėjimas;

Rūšiavimo laukai;

Daugiakalbystė ir naujų žodynų kūrimas;

Importuoti ir eksportuoti DBF, TXT, CSV, SQL, XML;

Konvertavimas į DOS, Windows, transliteraciją ir kitus;

Paleidimo slaptažodis;

Įrašymo istorija.

Pagrindinis šios programinės įrangos trūkumas yra nesugebėjimas sukurti šablonų konvertuojant. Pagrindinis programos langas parodytas 1.3 pav.

1.3 pav. Pagrindinis „DBF View“ programos langas

1.4 Problemos išdėstymas, sistemos reikalavimai, reikalavimai išvesties duomenims ir išvesties formoms

Išnagrinėjus užduotį, ištyrus jos aktualumą ir išanalizavus esamas keitiklių programas, buvo sudarytas sąrašas būtinus reikalavimus kuriamai programinei įrangai.

Programinės įrangos gaminyje turi būti įdiegtos šios funkcijos:

Skaityti dbf failų turinį;

Šablonų kūrimas viename iš dviejų redaktorių;

Redaguoti šablonus;

Dbf failų konvertavimo tvarkos pasirinkimas;

Šablonų vykdymas;

Klaidų registravimas;

Programos rezultatų įrašymas į XML failą.

Programinė įranga parašyta „Microsoft Visual Studio 2008“ ir reikalauja:

Vienos iš versijų Windows šeimos operacinė sistema: Windows Vista, Windows 7 arba Windows 8;

Microsoft .NET Framework 4;

Visual FoxPro ODBC tvarkyklės.

Minimalūs sistemos reikalavimai programinės įrangos produktui atitinka minimalius reikalavimus operacinei sistemai.

Įvesties duomenys gali būti dbf formato dBase II, dBase III arba dBase IV failai.

Išvesties failai turi būti XML failas, kurio kalbos versija yra 1.x ir palaikoma bet kuriai naršyklei.

Kelias į įvesties ir išvesties failus gali būti savavališkas.

2 . PROGRAMINĖS ĮRANGOS PRODUKTO STRUKTŪROS IR ARCHITEKTŪROS PROJEKTAVIMAS

2.1 Įgyvendinimo metodų ir priemonių parinkimas, jo pagrindimas

Programinės įrangos produktui kurti buvo pasirinkta integruota kūrimo aplinka Microsoft Visual Studio 2008.

Visual Studio 2008 – išleista 2007 m. lapkričio 19 d. kartu su .NET Framework 3.5. Skirta kurti programas Windows Vista operacinei sistemai (tačiau palaiko ir XP), Office 2007 ir žiniatinklio programoms. Apima LINQ, naujas C# ir Visual Basic versijas. Visual J# nebuvo įtrauktas į studiją. Vienas iš jo pranašumų yra visiškai rusiška sąsaja.

„Visual Studio“ apima šaltinio kodo rengyklę su „IntelliSense“ technologijos palaikymu ir galimybe lengvai pakeisti kodą. Integruotas derintuvas gali veikti kaip šaltinio lygio arba kaip mašinos lygio derinimo priemonė. Kiti integruoti įrankiai apima formų rengyklę, kuri palengvina programos GUI kūrimą, žiniatinklio rengyklę, klasių dizainerį ir duomenų bazės schemos dizainerį. „Visual Studio“ leidžia kurti ir prijungti trečiųjų šalių priedus (įskiepius), kad išplėstumėte funkcijas beveik visais lygmenimis, įskaitant šaltinio kodo versijų valdymo sistemų (pvz., „Subversion“ ir „Visual SourceSafe“) palaikymą, naujų įrankių rinkinių pridėjimą (pvz., kodo redagavimui ir vizualiniam dizainui konkrečioms domeno programavimo kalboms arba kitiems programinės įrangos kūrimo proceso aspektams skirtais įrankiais (pavyzdžiui, Team Explorer klientas, skirtas darbui su Team Foundation Server).

Visos C# pagrindu sukurtos Visual Studio 2008 darbastalio sistemos turi šias funkcijas:

Gebėjimas formuluoti užduotis objektų sąveikos kalba;

Didelis programos kodo moduliškumas;

Pritaikymas vartotojo norams;

Aukštas programos pakartotinio naudojimo lygis;

Daug papildinių bibliotekų.

2. 2 Naudotų algoritmų aprašymas

Kuriant šią programinę įrangą galima išskirti du pagrindinius sunkumus: programuojamų šablonų atpažintojo sukūrimas ir programinės įrangos modelio kūrimas, kuris būtų naudojamas šablonuose, sukurtuose naudojant konstruktorių.

1. Programuojami šablonai. Kadangi šablonuose naudojamas kodas yra šiek tiek panašus į programavimo kalbose naudojamą kodą, šis sprendiklis turi perimti kai kurias kodo kompiliatoriaus funkcijas, tiksliau, jo analizavimo funkcijas. Kompiliatoriaus struktūroje analizuojamoji dalis susideda iš leksinės, sintaksinės ir semantinės analizės. Leksinis analizatorius nuskaito programos simbolius šaltinio kalba ir iš jų sukuria šaltinio kalbos žetonus. Jos darbo rezultatas – identifikatorių lentelė. Analizatorius atlieka pasirinkimą sintaksinės konstrukcijosšaltinio programos tekste, apdorotame leksiniu analizatoriumi. Suderina programos sintaksines taisykles su kalbos gramatika. Analizatorius yra teksto atpažinimo priemonė įvesties kalba. Semantinis analizatorius tikrina šaltinio programos teksto teisingumą pagal įvesties kalbos reikšmę.

Kodas turi įgyvendinti šias galimybes: sukurti kilpą, gauti ir rodyti duomenis apie eilučių ir stulpelių skaičių, gauti duomenų tipą ir stulpelių pavadinimus, taip pat gauti duomenų bazės langelių turinį. Norėdami tai padaryti, pirmiausia turite sudaryti visų galimų mašinos būsenų sąrašą. Galimos atpažintojo būsenos pateiktos 2.1 lentelėje.

2.1 lentelė – galimų atpažinimo būsenų sąrašas

Būklės indeksas

valstybė

apibūdinimas

Kintamasis

Ciklo skaitiklis

Aptarnaujantis žodis, nurodantis ciklo pradžią

Aptarnavimo žodis, nurodantis ciklo išėjimo sąlygą

Pagalbinis žodis, nurodantis, kad toliau bus daroma nuoroda į duomenų bazės stulpelius

Pagalbinis žodis, nurodantis, kad toliau bus daroma nuoroda į duomenų bazės eilutes

Kiekis

Pagalbinis žodis, nurodantis eilučių arba stulpelių skaičių, atsižvelgiant į tai, į ką buvo nurodyta ankstesnė nuoroda

Paslaugos žodis, nurodantis stulpelio, kurį reikia pasiekti, duomenų tipo išvestį

vardas

Pagalbinis žodis, nurodantis stulpelio, kurį reikia pasiekti, pavadinimo išvestį

Specialusis simbolių atskyrimas funkciniai žodžiai

= (lygybės ženklas)

Specialus simbolis, nurodantis, kokia reikšmė bus priskirta kintamajam prasidėjus ciklui

[ (atidarantis stačiakampį skliaustelį)

] (uždarymo stačiakampis skliaustas)

Specialus simbolis, nurodantis, kad buvo pasiektas konkretus stulpelis arba eilutė

Bet koks sveikasis skaičius

Remdamiesi sudaryta lentele, galite sukurti baigtinį galimų būsenų perėjimų automatą. 2.1 paveiksle parodyta baigtinių būsenų mašina.

2.1 pav. Galimų perėjimų baigtinė mašina

Remiantis sukonstruotu automatu, galite sukurti iš viršaus į apačią atpažintuvą su grąžinimu (su alternatyvų pasirinkimu). Norint nustatyti, ar eilutė priklauso gramatikai, naudojamas grįžimo iš viršaus į apačią sprendiklis. Jis analizuoja Dabartinė būsena, ieško perėjimo iš esamos būsenos į kitą taisyklės, jei kita būsena sutampa, procedūra kartojama kitai. Jei atpažintuvas neranda perėjimo iš esamos būsenos į kitą taisyklės, tai ši grandinė nepriklauso šiai gramatikai, tai yra, kodo eilutė parašyta su logine klaida. Jei yra keli perėjimo variantai, tada atpažinėjas prisimena būseną, kurioje atsirado alternatyva, ir grįžta į ją, jei grandinė nepriklauso gramatikai. 2.2 paveiksle parodytas iš viršaus į apačią nukreiptas sprendiklis su grįžimu atgal.

2.2 pav. Iš viršaus į apačią nukreipiamasis sprendimas su grąžinimu

Šablonų analizės metu vedamas klaidų žurnalas, kuriame pateikiama informacija apie tai, kuriame šablone yra klaida, kurioje konkrečioje kodo eilutėje ir klaidos tipą. Klaidos gali būti šių tipų: neatpažintas identifikatorius (bandymas naudoti specialius žodžius ar specialius simbolius, nenumatytus kode), loginės reikšmės pažeidimas (kodo eilutė nepraėjo atpažintojo patikrinimo), bandymas pasiekti neegzistuojantis kintamasis (nurodantis kintamąjį į nesukurtą kintamąjį arba prieiga prie kintamojo už ciklo ribų), ciklo pradžia nenurodyta (ciklo pradžia ir pabaiga turi būti nurodoma atidaromų ir uždaromų riestinių skliaustų forma ).

2. Šablonai sukurti naudojant dizainerį. Vienas iš sprendimų – loginio programavimo kalbose naudojama struktūra: bendrai įvesties informacijai taikyti sąlygų filtrus, kurie tokiu atveju yra duomenų bazės lentelės turinys. 2.3 paveiksle parodyta bendra duomenų bazės lentelės struktūra.

2.3 pav. Bendra duomenų bazės lentelės struktūra

3. Kaip įgyvendinimas pasirinktas sprendimas naudojant „Tiesos lentelę“. Ši lentelė yra lentelė su n+1 stulpelių ir m+1 eilučių, kur n ir m yra stulpelių ir eilučių skaičius įvesties lentelėje. Kiekviename lentelės langelyje saugoma tikroji arba klaidinga reikšmė. 2.4 paveiksle parodyta „Tiesos lentelė“.

2.4 pav. „Tiesos lentelė“

Pritaikius filtrą tikrosios reikšmės pakeičiamos klaidingomis, atsižvelgiant į tai, kam buvo pritaikytas filtras. Jei filtras buvo pritaikytas langelių turiniui, tada kiekvieno langelio reikšmės pasikeis konkrečiai, o jei eilutėms ar stulpeliams, tada tik papildomose eilutėse ar stulpeliuose.

Dirbant su duomenų baze galima išskirti šiuos objektus: eilučių indeksas, stulpelio indeksas, eilučių skaičius, stulpelių skaičius, stulpelio tipas, stulpelio pavadinimas, langelių turinys.

Taip pat buvo pabrėžtos šios sąlygos: „<», «>", "=", "yra", "atitinka".

4. Pasirinktų objektų ir sąlygų pakanka, kad būtų rodomi visi galimi duomenys arba būtų nustatytos visos galimos sąlygos. 2.5 paveiksle parodyta „Tiesos lentelė“ naudojant filtrus.

2.5 pav. „Tiesos lentelė“ naudojant filtrus

Išvesdama informaciją į XML failą, programa nustato, ką reikia išvesti, o tada, naudodama „Tiesos lentelę“, išveda tik tas reikšmes, kurios atitinka reikšmę true.

Norėdami sukurti šablono išdėstymą, sukūrėme šių tipųžymės: pagrindinis, paprastas, visuotinis, blokas. Pagrindinis yra žyma, kurios dokumente gali būti tik viena ir ji turi turėti informaciją apie XML dokumentą. Paprasta – šio tipo žymos yra vienintelis būdas išvesti duomenis ir nustatyti „tiesos lentelės“ sąlygas. Jas sudaro šios dalys: pavadinimas, šaltinis ir sąlyga. Anksčiau pasirinkti objektai naudojami kaip šaltinis ir sąlyga. Jei žyma turi tuščias vardas, jo turinys nebus rodomas, bet bus pritaikyta „Tiesos lentelės“ sąlyga.

Global – tokio tipo žymės nekelia jokios loginės apkrovos, jos tiesiog reikalingos išvedimui.

Blokas - šio tipo žymos yra būtinos norint sujungti paprastų žymų logiką, taip pat viskas, kas parašyta bloko žymoje, bus išvesta kiekvienam langeliui, atitinkančiam „Tiesos lentelę“. Pati bloko žyma XML dokumente nerodoma.

2.3 Programinės įrangos produkto struktūra, architektūra

Objektinio programavimo pagrindas yra loginio sistemos modelio kūrimas klasių diagramos pavidalu. Klasių diagrama naudojama objektinio programavimo klasių terminologijoje sistemos modelio statinei struktūrai pavaizduoti. Klasių diagrama visų pirma gali atspindėti įvairius ryšius tarp atskirų domeno objektų, tokių kaip objektai ir posistemiai, taip pat aprašyti jų vidinę struktūrą ir ryšių tipus.

Klasė šioje diagramoje naudojama žymėti objektų, kurie turi tą pačią struktūrą, elgesį ir ryšius su kitų klasių objektais, rinkinį. Grafiškai klasė vaizduojama kaip stačiakampis, kurį galima papildomai padalinti horizontalios linijosį skyrius ar skyrius. Šiose dalyse gali būti klasės pavadinimas, atributai (kintamieji) ir operacijos (metodai).

Be vidinės ar klasių struktūros, atitinkamoje diagramoje nurodomi santykiai tarp klasių:

Šiai programai buvo nustatytos 2.2 lentelėje aprašytos klasės.

2.2 lentelė. Programinės įrangos gaminyje naudojamų klasių aprašymas

Konverterio programos klasių diagrama parodyta 2.6 pav. Iš diagramos matote, kad MyCode klasė yra šablono klasės kintamasis. Šablonų klasėje yra šie laukai: dt, lv, thisTemplate, mycode, fs, sr, sw, right, masCode, masPerem, masPeremCount, masSost, masCodeLength. dt yra DataTable tipo kintamasis, kuriame yra duomenų bazėje saugoma informacija; lv - ListView tipo kintamasis, sąsajos objektas, į kurį rašomi klaidų pranešimai šablonuose; thisTemplate – kintamasis tipo eilutė, nurodant šiuo metu apdorojamo šablono pavadinimą; mycode - MyCode klasės masyvas, kuriame saugoma informacija apie visus šiame šablone rastus kodo fragmentus; fs yra „FileStream“ tipo kintamasis, kuris nustato, su kuriuo failu programa veiks; sr yra StreamReader tipo kintamasis, kuris nustato, iš kurio failo bus skaitoma informacija; sw – StreamWriter tipo kintamasis, kuris nustato, į kurį failą bus įrašoma informacija; teisinga - bool kintamasis, nurodantis, ar dabartinis kodo fragmentas buvo apdorotas teisingai; masCode - eilutės tipo masyvas, kuriame yra visos šablone rastos kodo eilutės; masCodeLength - int kintamasis, nurodantis, kiek kodo eilučių rasta šablone; masPerem yra dvimatis eilutės tipo masyvas, kuriame yra sukurtų kintamųjų pavadinimas ir reikšmė; masPeremCount – int kintamasis, nurodantis, kiek kintamųjų šiuo metu sukurta; masSost yra tarpinis masyvas, kuriame yra dabartinės kodo eilutės mašinos būsenų sąrašas.

Klasėje taip pat yra sekančius metodus: Prisijunkite, ieškokite, analizuokite, patikrinkite, vykdykite kodą. Prisijungimo metodas jungiasi prie šablono nurodytu keliu. Paieškos metodas šablone suranda kodo fragmentus. Analizės metodas nustato kodo eilutės būsenas. Patikrinimo metodas yra rekursyvus, jis nustato, ar eilutė yra logiškai teisinga. „ExecuteCode“ metodas vykdo dabartinį šabloną. Galite sukurti klasių diagramą aprašytoms klasėms. 2.6 paveiksle parodyta klasių diagrama.

2.6 pav. Klasių diagrama

2.4 Funkcinė schema, programinės įrangos produkto funkcinė paskirtis

Programinės įrangos produktas turi dvi galimas informacijos apdorojimo parinktis naudojant unikalius algoritmus.

Jei vartotojas naudoja kodo šablonus, pirmiausia jis turi nurodyti įvesties failus, tada arba sukurti naują šabloną, arba pasirinkti esamą. Tada vartotojas nurodo išvesties failo katalogą ir pavadinimą bei pradeda konvertavimo procesą. Šio proceso metu šablone iš pradžių parenkamos kodo sekcijos, tada kiekvienoje sekcijoje išskiriami žetonai, po kurių nustatoma jų loginė reikšmė ir vykdomas šablonas. Jei bet kuriame iš šių etapų atsiranda klaidų, informacija apie jas įrašoma klaidų žurnale. Kai visi šablonai bus įvykdyti, vartotojas gali naudoti išvesties failą.

Jei naudojate šablonus, sukurtus naudojant dizainerį, vartotojas turi nurodyti duomenų bazę, kurią reikia konvertuoti, tada nurodyti išvesties failo katalogą, sukurti šabloną ir pradėti konvertavimo procesą. Pats konvertavimas susideda iš dviejų dalių: tiesos lentelės sukūrimo pagal šabloną ir konversijos vykdymo pagal tiesos lentelę. Tada vartotojas gali naudoti išvesties failą pagal paskirtį.

Antrame skyriuje – išleistuvės kvalifikacinis darbas buvo pasirinktos kūrimo priemonės – Microsoft Visual Studio 2008, aprašyti pagrindiniai programinės įrangos produkto diegimo metodai, aprašyta jo struktūra. Taip pat buvo aprašyta funkcinė diagrama programinės įrangos produktas.

Pagrindiniai klausimai, į kuriuos buvo atsižvelgta antrajame skyriuje, buvo šie:

Įgyvendinimo būdų ir priemonių pasirinkimas, jo pagrindimas;

Naudotų algoritmų aprašymas;

Programinės įrangos produkto struktūra, architektūra;

Funkcinė schema, programinės įrangos produkto funkcinė paskirtis.

3 . ĮGYVENDINIMASIR BANDYMAIPROGRAMINĖS ĮRANGOS PRODUKTAS

3.1 Įgyvendinimo aprašymas

Vienas iš sunkumų diegiant šį programinės įrangos produktą yra atpažinimo algoritmo rašymas. Visas algoritmas aprašomas šiais metodais: Ieškoti, Analizuoti, Patikrinti, Vykdyti kodą.

Paieškos metodas nuskaito šabloną ir suranda kodo fragmentus, pažymėtus „*“ simboliais iš abiejų pusių, ir įrašo juos į masyvą.

public void Search()

bool ženklas = false;

while (!sr.EndOfStream)

if ((c != "*") && (ženklas == tiesa))

( s += c.ToString(); )

if ((c == "*") && (ženklas == klaidingas))

if ((c == "*") && (ženklas == tiesa))

masCode = s;

masCodeLength++; )

s += c.ToString(); ))

mano kodas = naujas mano kodas;)

Analizės metodas padalija kodo eilutę į atskirus žetonus ir nustato kiekvieno iš jų būseną, jei naudojami simboliai ar žodžiai, kurių nepateikia kalba, arba naudojami neteisingi kintamųjų pavadinimai, į klaidų žurnalą įtraukiamas atitinkamas klaidos pranešimas. Visas sąrašas Naudotos leksemos pateiktos 2.1 lentelėje.

public void Analizė()

( string masIdent = nauja eilutė;

int masIdentLength = 0;

bool ženklas = tiesa;

už (int a = 0; a< masCodeLength; a++)

( teisinga = klaidinga;

masIdentLength = 0;

masCode[a] = masCode[a].Trim();

masCode[a] = masCode[a].ToLower();

už (int b = 0; b< masCode[a].Length; b++)

(c = pagrindinis kodas [a][b];

masIdentLength++; )

masIdent = ".";

masIdentLength++;

if ((c == " ") && (s != ""))

( masIdent = s;

masIdentLength++;

( masIdent = s;

masIdentLength++; )

mano kodas [a] = naujas Mano kodas ("", nulis);

už (int z = 0; z< masIdentLength; z++)

mycode[a].code += masIdent[z] + " ";

masSost = naujas int;

Ankstesnėje metodo dalyje visos rastos leksemos buvo įrašytos į masIdent masyvą, tada inicijuojamas ciklas, kuriame nustatoma visų rastų leksemų būsena ir įrašoma į masSost masyvą.

už (int b = 0; b< masIdentLength; b++)

if (masIdent[b] == "už")

else if (masIdent[b] == "prieš")

else if (masIdent[b] == "stulpelis")

else if (masIdent[b] == "eilutė")

if (Char.IsLetter(masIdent[b]))

( bool f = tiesa;

už (tarp d = 1; d< masIdent[b].Length; d++)

if (!Char.IsLetterOrDigit(masIdent[b][d]))

jei (f == tiesa) masSost[b] = 1; Kitas

Klaidos įrašo įtraukimas į klaidų žurnalą, jei rastas identifikatorius neegzistuoja.

lv.Items.SubItems.Add("Neidentifikuotas identifikatorius " + masIdent[b]); )) Kitas

lv.Items.SubItems.Add(manokodas[a].kodas);

lv.Items.SubItems.Add("Neidentifikuotas identifikatorius " + masIdent[b]);))

mycode[a] = naujas ManoKodas(manokodas[a].kodas, masSost);

Check(0, masSost, a); )

Patikrinimo metodas pagrįstas atpažinimo iš viršaus į apačią veikimu su grąža: nustatoma esama būsena, jei įmanoma, pereinama į kitą. Jei tai neįmanoma, būsena persijungia į alternatyvią būseną, jei taip nėra, į klaidų žurnalą įtraukiamas klaidos pranešimas.

public void Check(int a, int s, int indc)

(jei (masSost[a] == s)

(jei ((s == 1) && (a == 0))

teisinga = tiesa; ) Kitas

jei ((s == 2) && (a == 0)) s = 1; Kitas

if (((s == 4) || (s == 5)) && (a == 0)) s = 8; Kitas

jei ((s == 1) && (a == 1)) s = 9; Kitas

jei ((s == 8) && (a == 1)) s = 6; Kitas

jei ((s == 10) && (a == 1)) s = 1; Kitas

jei ((s == 9) && (a == 2)) s = 12; Kitas

if ((s == 6) && (a == 2))

( if (a == masSost.Length – 1)

teisinga = tiesa; ) Kitas

if (((s == 1) || (s == 12)) && (a == 2)) s = 11; Kitas

jei ((s == 12) && (a == 3)) s = 3; Kitas

jei ((s == 11) && (a == 3)) s = 8; Kitas

jei ((s == 3) && (a == 4)) s = 12; Kitas

if ((s == 8) && (a == 4))

(jei (masSost == 4)

if ((s == 6) && (a == 7))

( if (a == masSost.Length – 1)

teisinga = tiesa; )

if (((s == 12) || (s == 1)) && (a == 7))

if ((s == 11) && (a == 8))

( if (a == masSost.Length – 1)

teisinga = tiesa; )

Jei įvesties būsenų masyvas buvo patikrintas atpažintojo ir visos būsenos sutampa, teisingam kintamajam priskiriama reikšmė true, o jei kažkur randamas neatitikimas, jis grąžinamas ir patikrinama, ar nėra alternatyvios būsenos.

jei (teisingai == klaidinga)

Check(a, s, indc); ) )

if ((s == 8) && (a == 1))

Check(a, s, indc); )

if ((s == 1) && (a == 2))

Patikrinkite (a, s, indc);)

if ((s == 1) && (a == 7))

Check(a, s, indc); )

Jei atliekamas perėjimas nebuvo atpažintas, apdorojamo kodo eilutė laikoma logiškai neteisinga ir į klaidų žurnalą įtraukiamas atitinkamas klaidos įrašas.

jei (teisingai == klaidinga)

lv.Elementai.Pridėti(šisŠablonas,šisŠablonas);

lv.Items.SubItems.Add(masCode);

lv.Items.SubItems.Add("Pažeidžiama loginė eilutės reikšmė");

mycode.correct = false;

Metodas ExecuteCode rašo šablono turinį į išvesties failą vykdydamas programos eilutes. Jei susiduriama su ciklu, sukuriamas laikinas failas, kuriame įrašomas ciklo turinys, ir, kol ciklas baigiasi, vykdomas šio failo turinys. Tai būtina norint atlikti įdėtas kilpas.

public void ExecuteCode (int NCode, bool cikcle, StreamReader sr, StreamWriter sw, int tempF)

while (!sr.EndOfStream)

c = Convert.ToChar(sr.Read());

Algoritmas skaito įvesties failą po simbolio, jei jis susiduria su uždarymu petnešomis, reiškiantis ciklo pabaigą, o cikcle kintamasis yra teisingas, tai reiškia, kad metodas buvo įdėtas ir jį užbaigia.

if ((c == ")") && (cikcle == true))

Jei skaitytas simbolis nebuvo „*“, tai reiškia, kad simbolis nepriklauso kodo komandoms ir turi būti tiesiog išvestas.

Jei skaitymo simbolis buvo „*“, algoritmas nuskaito kitą simbolį, jei jis taip pat yra „*“, tai reiškia, kad vartotojas norėjo šį simbolį išvesti į išvesties failą.

( c = Convert.ToChar(sr.Read());

Jei kitas simbolis nebuvo „*“, tai reiškia, kad visi kiti simboliai prieš „*“ reiškia kodo komandas.

jei (mano kodas.teisinga == tiesa)

if (mano kodas.masSost == 1)

( bool creat = false;

už (int a = 0; a< masPeremCount; a++)

(if (masPerem == mycode.code)

sw.Write(masPerem);

while (sr.Read() != "*")

Jei kode vartotojas bando išvesti kintamąjį, kuris anksčiau nebuvo deklaruotas, tada klaidų žurnale įrašoma klaida ir tolimas kodas nebevykdomas.

jei (sukurti == klaidinga)

( lv.Items.Add(thisŠablonas, thisTemlate);

lv.Items.SubItems.Add("Bandymas parodyti neegzistuojantį kintamąjį");

mycode.code = ""; )

while (sr.Read() != "*")

if (mycode.masSost == 4)

(jei (mycode.masSost == 6)

sw.Write(dt.Columns.Count.ToString());

while (sr.Read() != "*")

if (Convert.ToInt32(mycode.masValue)< dt.Columns.Count)

(jei (mycode.masSost == 7)

sw.Write(dt.Columns.masValue)].DataType.Name);

sw.Write(dt.Columns.masValue)].ColumnName);)

Jei vartotojas bando pasiekti stulpelį ar eilutę, kurios neegzistuoja, į klaidų žurnalą įtraukiamas atitinkamas klaidos įrašas.

lv.Elementai.Pridėti(šisŠablonas,šisŠablonas);

lv.Items.SubItems.Add(manokodas.kodas);

mycode.code = ""; )

while (sr.Read() != "*")

( bool creat = false;

už (int a = 0; a< masPeremCount; a++)

if (Convert.ToInt32(masPerem)< dt.Columns.Count)

(jei (mycode.masSost == 13)

sw.Write(dt.Columns)].StulpelioPavadinimas);

sw.Write(dt.Columns)].DataType.Name);

lv.Elementai.Pridėti(šisŠablonas,šisŠablonas);

lv.Items.SubItems.Add(manokodas.kodas);

lv.Items.SubItems.Add("Indeksas nepatenka į masyvo sritį");

mycode.code = ""; )

while (sr.Read() != "*")

if (sukurti == false) (

Jei vartotojas nurodo neegzistuojantį kintamąjį kaip stulpelio arba eilutės indeksą, klaidų žurnale pridedamas atitinkamas klaidos įrašas.

lv.Elementai.Pridėti(šisŠablonas,šisŠablonas);

lv.Items.SubItems.Add(manokodas.kodas);

lv.Items.SubItems.Add("Bandymas pasiekti neegzistuojantį kintamąjį");

while (sr.Read() != "*")

if (mano kodas.masSost == 5)

( int n1 = 0, n2 = 0, nn = 0;

if (mano kodas.masSost == 6)

( sw.Write(dt.Rows.Count.ToString());

while (sr.Read() != "*")

(jei (mycode.masSost == 12)

( ( n1 = Convert.ToInt32(mano kodas.masValue);

if (mycode.masSost == 12)

( n2 = Konvertuoti.ĮInt32(mano kodas.masValue);

( bool creat = false;

už (int a = 0; a< masPeremCount; a++)

if (masPerem == mycode.masValue)

n2 = Convert.ToInt32(masPerem);

Jei kintamasis buvo naudojamas kaip stulpelio arba eilutės indeksas ir jo reikšmė viršija atitinkamai lentelės stulpelių arba eilučių skaičių, klaidų žurnale įtraukiamas įrašas apie šią klaidą.

Else ( if (n1 >= dt.Rows.Count)

(jei (mano kodas.kodas != "")

(lt.Items.Add(thisŠablonas, thisTemplate);

lv.Items.SubItems.Add(manokodas.kodas);

lv.Items.SubItems.Add("Indeksas " + n1 + " nepatenka į masyvo apimtį");))

if (n2 >= dt.Stulpeliai.Skaičius)

(jei (mano kodas.kodas != "")

( lv.Items.Add(thisŠablonas, thisTemlate);

lv.Items.SubItems.Add(manokodas.kodas);

lv.Items.SubItems.Add("Indeksas " + n2 + " nepatenka į masyvo sritį"); ))

mycode.code = ""; )

while ((sr.Read() != "*") && (!sr.EndOfStream))

if (mano kodas.masSost == 2)

masPerem = mycode.masValue;

masPerem = mycode.masValue;

nk = masPeremCount;

masPeremCount++;

if (mycode.masSost == 12)

k = Konvertuoti.ĮInt32(manokodas.masValue); Kitas

if (mano kodas.masSost == 4) k = dt.Stulpeliai.Skaičiavimas;

else k = dt.Eilutės.Skaičius;

while (sr.Read() != "*") ( )

Jei vartotojas paskelbė kilpą, o tada nenurodė jo pradžios neįdėdamas „(“, tai laikoma klaida ir įrašas apie tai įtraukiamas į klaidų žurnalą.

c = Convert.ToChar(sr.Read());

c = Convert.ToChar(sr.Read());

c = Convert.ToChar(sr.Read());

( lv.Items.Add(thisŠablonas, thisTemlate);

lv.Items.SubItems.Add(manokodas.kodas);

lv.Items.SubItems.Add("Cilpos pradžia nenurodyta");

mycode.correct = false;

NCode++; ) Kitas (

Jei ciklo pradžia nurodyta teisingai, kintamasis, atsakingas už kilpų įdėjimo gylį, padidinamas vienu, kilpos turinys iki „)“ ženklo įrašomas į laikiną failą, pasikartojantį masyvą. Sukuriamos kintamųjų reikšmės, ir šiam laikinajam failui paleidžiamas šis rekursinis metodas.

Directory.CreateDirectory("Temp");

StreamWriter sw1=new StreamWriter("Temp\\Temp"+tempF.ToString()+.txt", false, Encoding.UTF8);

c = Convert.ToChar(sr.Read());

c = Convert.ToChar(sr.Read()); )

int cickleCount = 0;

o (c != ")")

if (sr.EndOfStream)

c = Convert.ToChar(sr.Read());

if ((c == ")") && (cickleCount != 0))

(cickleCount--;

c = Convert.ToChar(sr.Read()); ) )

StreamReader sr1 = new StreamReader("Temp\\Temp" + tempF.ToString() + ".txt", Encoding.UTF8);

int CickleCode = 0;

bool sign2 = klaidingas;

while (!sr1.EndOfStream)

( c = Convert.ToChar(sr1.Read());

if ((c != "*") && (sign2 == true))

( s1 += c.ToString(); )

if ((c == "*") && (sign2 == false))

if ((c == "*") && (sign2 == true))

(2 ženklas = klaidingas;

else s1 += c.ToString(); ) )

for (int a = Convert.ToInt32(mycode.masValue); a< k; a++)

( masPerem = a.ToString();

ExecuteCode (NCode + 1, true, new StreamReader ("Temp\\Temp" + tempF.ToString() + ".txt", Encoding.UTF8), sw, tempF);)

Kai ciklas baigiamas, laikinas failas ištrinamas, o kilpų įdėjimo gylis sumažinamas vienu.

masPerem = "";

masPerem = "";

NCode = CickleCode + 1;

File.Delete("Temp\\Temp" + tempF.ToString() + ".txt");

Darbo su konstruktoriumi sukurtais šablonais algoritmas aprašomas šiais metodais: Execute, GetTruthTable, ExecuteTag.

Metodas Vykdyti iškviečiamas vieną kartą, kai prasideda šablono apdorojimas. Šis metodas yra išorinis ir iš jo iškviečiami kiti metodai. Iš pradžių metodas sukuria išvesties failą ir „tiesos lentelę“.

DataTable truedt=new DataTable();

StreamWriter sw=new StreamWriter(textBox4.Text+"Išvesties failas.xml",false,Kodavimas.UTF8);

už (int a = 0; a<= dt.Columns.Count;a++)

truedt.Columns.Add("",tipas(bool));

už (int a = 0; a<= dt.Rows.Count; a++)

( DataRow dr = truedt.NewRow();

už (int b = 0; b< dr.ItemArray.Length; b++)

truedt.Rows.Add(dr); )

Po to pradedamas vykdyti ciklas, pasirenkantis kiekvieną žymą, kuri nustato jos tipą, ir, priklausomai nuo to, ją vykdyti.

kol (!užbaigta)

( tagind = GetTagIndex(Iitems);

if (mastag.type == tipai.globalus || mastag.type == tipai.pagrindinis)

if (mastag.type == tipai.blokas)

jei (prekės >= prekių skaičius)

pilnas = tiesa; )

Jei žymos tipas yra visuotinis arba pagrindinis, žymos turinys tiesiog įrašomas į failą.

if (mastag.name != "")

sw.WriteLine(elementai);

Jei žymos tipas yra blokas, tada visų šiam fragmentui priklausančių žymų sąrašas įrašomas į atskirą masyvą, taip pat nustatoma, ar šiame sąraše yra žymų, kurių reikšmėms rodyti reikia eilučių indeksavimo.

bool haveRow = false;

žyma blocktag = nauja žyma.indF - mastag.indS - 1];

for (int a = matag.indS + 1, b = 0; a< mastag.indF; a++, b++)

( bloko žyma [b] = mastagas;

if (blocktag[b].type == tipai.paprastas)

if (blocktag[b].source == "eilutės indeksas" || blocktag[b].source == "ląstelės turinys")

haveRow = tiesa;)

Po to sukuriama „tiesos lentelė“ ir jai taikomos visos sąraše rastų paprastų žymų sąlygos.

truedt=CreateTable(truthdt,dt);

už (int a = 0; a< blocktag.Length; a++)

if (blocktag[a].type == tipai.paprastas)

truedt = GetTruthTable(dt, truedt, blocktag[a]);

Be to, priklausomai nuo to, ar buvo rasta žymų, naudojančių eilučių indeksavimą, sukuriamas tik ciklas per stulpelius arba ciklas per stulpelius ir eilutes, kuriuose vykdomos visos aptiktos žymos, išskyrus blokines.

už (int a = 0; a< dt.Rows.Count; a++)

už (int b = 0; b< dt.Columns.Count; b++)

bool wasEx = false;

StreamWriter swt = new StreamWriter("temp.txt", false, Encoding.UTF8);

už (int c = 0; c< blocktag.Length; c++)

if (blocktag[c].type == tipai.globalus)

if (blocktag[c].name != "")

swt.WriteLine(elementai.indS + c + 1]);

if (blocktag[c].name != "")

wasEx=ExecuteTag(dt, truedt, blocktag[c], a, b, swt); )

( StreamReader sr = new StreamReader("temp.txt", Encoding.UTF8);

sw.Write(sr.ReadToEnd());

File.Delete("temp.txt");

( už (int a=0;a

už (int c = 0; c< blocktag.Length; c++)

(if (blocktag[c].type == tipai.globalus)

if (blocktag[c].name != "")

sw.WriteLine(elementai.indS + c + 1]);

if (blocktag[c].type == tipai.paprastas)

if (blocktag[c].name != "")

ExecuteTag(dt, truedt, blocktag[c], 0, a, sw);

Jei žymos tipas paprastas, tada jam sukuriama nauja „Tiesos lentelė“ ir vykdoma žyma.

if (mastag.type == tipai.paprastas)

( truedt=CreateTable(truthdt,dt);

DataTable tempdt = GetTruthTable(dt, truedt, mastag);

if(mastag.name!="")

ExecuteTag(dt, tempdt, matag, 0, 0, sw);

GetTruthTable metodas taiko sąlygas tiesos lentelei. Argumentams naudojama lentelė su reikšmėmis iš duomenų bazės, jau sukurta „Tiesos lentelė“ ir žyma, kurios sąlygą reikia apdoroti.

ExecutTag metodas vykdo paprastą žymą. Argumentais naudojama duomenų lentelė, tiesos lentelė, žyma, eilutės indeksas, stulpelių indeksas ir failo rašymo srautas.

3.2 Vartotojo sąsajos aprašymas

Pagrindinis programos langas yra padalintas į kelias dalis: „.dbf“, „Šablonai“, „.xml“ ir klaidų žurnalas. Visose dalyse, išskyrus žurnalą, yra elementai, atsakingi už katalogų, kuriuose yra failų arba kuriuose failai turi būti saugomi, pasirinkimą. Klaidų žurnalas pateikiamas kaip trijų stulpelių sąrašas: „schema“, „line“, „error“. Pirmame stulpelyje yra šablono, kuriame buvo rasta klaida, pavadinimas. Antroje eilutėje, kurioje įvyko klaida. Trečia, klaidos tipas.

Formoje taip pat yra elementų, kurie nepriklauso jokiai grupei. Vieni iš jų atspindi darbo eigą, kiti pradeda patį procesą.

3.1 paveiksle parodyta pagrindinė forma – pagrindinis programos langas.

3.1 pav. – Pagrindinis programos langas

Dirbant su šablonais, atsidaro papildomas programos langas, kurį sudaro šablono pavadinimo laukas, elementas su šablono kodu ir šablono išsaugojimo bei lango uždarymo mygtukai.

3.2 paveiksle parodytas papildomos programos lango vaizdas (šablonų rengyklė).

3.2 pav. – Šablonų rengyklės langas

Taip pat pagrindinėje formoje yra valdymo elementas, kuris atidaro formą šablonams kurti naudojant dizainerį.

Konstruktorių formoje yra šie valdikliai: jau sukurtų žymų sąrašas, laukas naujos žymos pavadinimui įvesti, išskleidžiamasis sąrašas žymos tipui pasirinkti, išskleidžiamasis sąrašas žymos šaltiniui pasirinkti, skydelis su elementais žymos sąlygai sukurti, duomenų bazės failo apibrėžimo lauku, išvesties failo vietos nustatymo laukeliu, žymos pridėjimo ir ištrynimo mygtukais, apdorojimo pradžios mygtuku. 3.3 paveiksle parodytas šablonų kūrėjo langas.

3.3 pav. – Šablonų dizaino langas

Programinės įrangos dėka buvo gauti įvairių XML kalbos versijų XML failai. Įvesties duomenys buvo dbf formato dBase II, dBase III ir dBase IV versijų duomenų bazės. Konvertuoti failai buvo teisingai atidaryti naudojant šias naršykles: Internet Explorer 10, Mozilla Firefox 19, Google Chrome versija 27.0.1453.93, Opera 12.15. Be naršyklių, failus galima peržiūrėti ir redaguoti naudojant bet kurį teksto rengyklę. Remiantis gautais rezultatais, galime daryti išvadą, kad programos veikimo metu gauti XML failai atitinka užsakovo reikalavimus.

3. 3 Programinės įrangos produkto patikimumo testavimas ir įvertinimas

Bandant programinės įrangos produktą buvo nustatytos šios klaidos:

Duomenų bazės lentelės langelio indeksavimo klaida;

Ciklo kintamo išvesties klaida;

Klaida, atsirandanti, kai eilutės ar stulpelio indeksas viršija jo skaičių.

1. Duomenų bazės lentelės langelio indeksavimo klaida. Atsiranda, kai šablone nurodote formos kodą „*row[x].column[y]*“, kur x ir y yra skaičiai arba kintamieji. Problema buvo išspręsta pridedant papildomą sąlygą programos kode apdorojant panašias eilutes šablone.

2. Ciklo kintamojo išvesties klaida. Atsiranda, kai šablone nurodomas „*x*“ formos kodas, kur x yra kintamasis. Problema buvo išspręsta pakeitus identifikatorių lentelės sudėtį.

3. Klaida, atsirandanti, kai eilutės ar stulpelio indeksas viršija jo skaičių. Atsiranda, kai šablone nurodomas „*stulpelis[x].pavadinimas*“ formos kodas, kur x yra skaičius arba kintamasis, kurio reikšmė viršija stulpelių skaičių. Problema buvo išspręsta palyginus indekso reikšmę ir eilučių ar stulpelių skaičių, jei indeksas viršija, įrašas apie tai įtraukiamas į klaidų žurnalą ir programa toliau vykdoma.

3. 4 Išlaidų skaičiavimas

Įmonės, kurios nuolat dirba su skirtingais duomenų bazių formatais, turi automatizuoti konvertavimo iš vieno duomenų bazės formato į kitą procesą. Tai padidins darbuotojų našumą ir sumažins jų išsilavinimo reikalavimus.

Be programinės įrangos dalies, programinės įrangos produktą taip pat sudaro pridedama dokumentacija, kuri yra kūrėjų intelektinės veiklos rezultatas.

Kapitalinių investicijų, susijusių su valdymo automatizavimu, struktūra apima kapitalines investicijas automatizavimo projektui parengti (ikigamybinės išlaidos) ir kapitalo investicijas projektui įgyvendinti (įgyvendinimo išlaidas):

kur K p - kapitalo investicijos projektavimui; Kr - kapitalo investicijos projektui įgyvendinti.

Kapitalinių investicijų projektavimui skaičiavimas. Kapitalo investicijos programinės įrangos projektavimui nustatomos sudarant sąmatas ir nustatomos pagal formulę:

čia K m – medžiagų kaina; To pr - pagrindinis ir papildomas darbo užmokestis su socialinio draudimo įmokomis inžinieriams ir techniniams darbuotojams, tiesiogiai dalyvaujantiems su projekto plėtra; Kmash - išlaidos, susijusios su kompiuterio laiko naudojimu programos derinimui; K s - apmokėjimas už paslaugas tretiesiems asmenims, jei projektavimas atliekamas dalyvaujant trečiosioms šalims; Kn – projektavimo skyriaus pridėtinės išlaidos. Visi skaičiavimai bus atliekami įprastais vienetais (cu), o tai atitinka vieno JAV dolerio kainą Pridnestrovijos respublikiniame banke programinės įrangos kūrimo metu.

Medžiagų sąnaudos. Nustatysime sąmatą ir apskaičiuosime programinės įrangos kūrimui naudojamų medžiagų K m kainą. Medžiagos sąrašas nustatomas pagal baigiamojo darbo temą. Tai yra: laikmenos (popierius, magnetiniai diskai) ir nešiojami daiktai (rašiklis, pieštukas, trintukas). Medžiagų sąmata pateikta 3.1 lentelėje.

3.1 lentelė – medžiagų sąnaudų sąmata

Panašūs dokumentai

    Konvertavimo programos, skirtos sukurti XML formato failą pagal perkeltus dbf failus, įdiegimas (pagal vartotojo nurodytą šabloną). Šablonų kūrimas naudojant kodą ir naudojant dizainerį. Programinės įrangos produkto architektūros projektavimas.

    baigiamasis darbas, pridėtas 2013-06-27

    Konvertavimo programos, kuri pagal perkeltų dbf failų turinį sukuria XML failą pagal vartotojo nurodytą šabloną, kūrimas. Apsvarstykite galimybę kurti šablonus dviem būdais: naudojant kodą ir naudojant dizainerį.

    kursinis darbas, pridėtas 2013-06-24

    Programos, kuri šifruoja ir iššifruoja failus, vartotojo sąsajos kūrimas. Duomenų pateikimo formato pasirinkimas. Procedūrų sąrašas, makrokomandos ir jų paskirtis. Programoje naudojamų funkcijų aprašymas, jos testavimas ir derinimas.

    kursinis darbas, pridėtas 2013-05-17

    Pasikartojančių failų diske „paieškos variklio“ ypatybės. Programavimo aplinkos pasirinkimas. Programinės įrangos produktų kūrimas. Pagrindiniai reikalavimai programai, kuri ieško pasikartojančių failų diske. Rodyti paslėptus failus.

    kursinis darbas, pridėtas 2015-03-28

    Archyvuotojo darbo charakteristikos – kompiuterinė programa, kuri suspaudžia duomenis į vieną archyvo failą, kad būtų lengviau perkelti ir kompaktiškai saugoti. Archyvavimo proceso ypatybės – failų rašymas ir išpakavimas – failų atidarymas.

    santrauka, pridėta 2010-03-26

    Programinės įrangos produkto, skirto specifikacijoms eksportuoti iš programos PartList, kūrimas. Informacijos perkėlimo į failą metodo ir pateikimo formato pasirinkimas. Keitiklio kūrimas, vartotojo sąsajos diegimas. Plėtros aktualumo pagrindimas.

    baigiamasis darbas, pridėtas 2014-09-25

    Programinės įrangos projektavimas. Pirminio failų katalogo formavimo schema, failų katalogo rodymas, failų ištrynimas, failų rūšiavimas pagal pavadinimą, sukūrimo datą ir dydį, naudojant tiesioginio pasirinkimo metodą. Katalogo tvarkymas failų sistemoje.

    kursinis darbas, pridėtas 2014-08-01

    Wav ir mp3 failų formatų charakteristikos. Naudojimo atvejų diagramų braižymas, grafinės sąsajos ir taikomųjų programų architektūros kūrimas. Programos veikimo algoritmų kūrimas: TrimWavFile, TrimMp3, ChangeVolume, speedUpX1_2, speedDownX1_2 metodas.

    kursinis darbas, pridėtas 2013-12-20

    Darbo su Total Commander programa ypatybių apžvalga. Aplankų kūrimas, failų kopijavimas į „flash“ kortelę. Iškvieskite kontekstinį meniu. Failo struktūros nustatymas. Pervardykite failų grupę. Failų talpinimas į archyvą. Archyvo padalijimas į kelias dalis.

    laboratorinis darbas, pridėtas 2014-08-04

    Optimalaus failų išdėstymo kompiuterių tinkle modelio su žvaigždutėmis, žiedais ir atsitiktinėmis topologijomis sukūrimas ir testavimas. Duomenų kiekis, reikalingas failams perkelti. Optimalus failų paskirstymas kompiuterių tinklo mazguose.

Šiandien XML yra pramonės standartas, skirtas greitai ir efektyviai keistis duomenimis tarp skirtingų sprendimų. Tačiau yra daug užduočių, kuriose vartotojai turi pateikti XML duomenis kitokia forma. Tokiais atvejais reikalingos keitiklio programos. Jie užpildo atotrūkį tarp XML ir populiarių lentelių formatų. Jei jums reikia reguliariai konvertuoti XML duomenis, būtinai turite naudoti Advanced XML Converter!

Su Advanced XML Converter jums nebereikia rašyti sudėtingų XML transformacijų ir XSL stiliaus lapų.

Konvertuokite XML į HTML, CSV, DBF, XLS, SQL akimirksniu!

Programinei įrangai nereikia įdiegti tvarkyklių ar papildomų komponentų, nes ji sukurta naudojant „Internet Explorer“ analizatorių, kuris pasiekiamas daugelyje sistemų. Išplėstiniam XML keitikliui nereikia nei .NET Framework, nei XML schemų. Programa nereikalauja gilių žinių apie XML failų struktūrą ir labai palengvina didelių XML duomenų kiekių konvertavimą. Kaip vartotojas galėsite matyti sudėtingiausius XML dokumentus skirtinguose lentelių rodiniuose, kuriuos lengva skaityti. Tai labai patogu perduodant informaciją į duomenų bazes ar specializuotas sistemas, kurioms reikalingas formatas artimas paprastam tekstui.

Jei ieškote greitos sistemos XML duomenims konvertuoti, Advanced XML Converter yra geriausias pasirinkimas! Įperkama ir paprasta naudoti programa atlieka sudėtingus duomenų transformavimus per kelias minutes!

Naujausia Advanced XML Converter versija suteikia paprastą, greitą ir labai efektyvų būdą išgauti duomenis iš XML failų ir išsaugoti juos populiariais HTML, DBF, CSV, Excel ir SQL formatais.

Su Advanced XML Converter galite:


  • išgauti visus XML duomenis arba duomenis tik iš konkrečių žymų,
  • perjungti skirtingas duomenų pateikimo parinktis (nereikia iš naujo analizuoti duomenų),
  • konfigūruoti tinkintus keitiklio parametrus kiekvienam išvesties formatui (pavyzdžiui, HTML stiliaus lapus arba CSV skyriklius, taip pat kitus parametrus),
  • išsaugokite visas iš XML ištrauktas lenteles viename faile arba keliuose išvesties failuose.

Čeliabinsko srities gyventojų dėmesiui!

Čeliabinsko srities TFOMS primena, kad pakeitus asmens dokumento duomenis, taip pat gavus naują pasą, per mėnesį reikia kreiptis į savo sveikatos draudimo organizaciją (jos kontaktiniai duomenys nurodyti privalomojo sveikatos draudimo liudijime) nuo šių pokyčių dienos.


DĖMESIO!!! Jei konvertuoto failo ataskaitinis laikotarpis yra nuo 2019 m. sausio mėn. (imtinai), tuomet turite konvertuoti XDConverter7 programoje. Jei konvertuoto failo ataskaitinis laikotarpis yra nuo 2018 m. lapkričio iki gruodžio mėn. (imtinai), tuomet turite konvertuoti XDConverter6 programoje. Jei konvertuoto failo ataskaitinis laikotarpis yra nuo 2018 m. liepos mėn. iki spalio mėn. (imtinai), tuomet turite konvertuoti XDConverter5 programoje. Jei konvertuoto failo ataskaitinis laikotarpis yra nuo 2017 m. birželio mėn. iki 2018 m. birželio mėn. (imtinai), tuomet reikia konvertuoti XDConverter4 programoje. Jei konvertuoto failo ataskaitinis laikotarpis yra nuo 2015 m. sausio mėn. iki 2017 m. gegužės mėn. (imtinai), tuomet reikia konvertuoti XDConverter3 programoje. Jei konvertuoto failo ataskaitinis laikotarpis yra nuo 2014 m. balandžio mėn. iki 2014 m. gruodžio mėn. (imtinai), tuomet konvertavimui reikia naudoti programą XDConverter2. Jei konvertuoto failo ataskaitinis laikotarpis yra iki 2014 m. kovo mėn. (imtinai), tuomet turite konvertuoti XDConverter programoje. XDConvert naudoja informacinį paketą pavadinimu usl_pack_*.rar. XDConvert2 naudojamas informacinis paketas, pavadintas usl_pack2_*.rar. XDConvert3 naudoja informacinį paketą, pavadintą usl_pack3_*.zip. XDConvert4 naudoja informacinį paketą, vadinamą usl_pack4_*.zip. XDConvert5 naudoja informacinį paketą, pavadintą usl_pack5_*.zip. XDConvert6 naudojamas informacinis paketas, vadinamas usl_pack6_*.zip.

Keitiklio veikimui skirtų žinynų paketą galima atsisiųsti iš svetainės skyriaus „Techninė pagalba – Katalogai – XDConverter programos informacinis paketas USL_PACK“.

Programoje XDConverter reikia eiti į meniu „Atsisiųsti katalogus“, tada pasirinkti atsisiųstą failą formos usl_pack_yymmdd.rar (yymmdd – metai\month\day) ir spustelėkite mygtuką „Atidaryti“. Katalogai bus atsisiųsti.

XML->DBF konvertavimas rankiniu būdu

  1. Eikite į meniu Įrankiai-Nustatymai, patikrinkite, ar teisingas kelias į duomenų failą ir spustelėkite Gerai.
  2. Meniu pasirinkite Konvertuoti - XML ​​į gimtąją.
  3. Atsidariusiame lange skiltyje Įvesties failas nurodykite kelią į duomenų failą (zip archyvą).
  4. Skiltyje Išvesties failas pažymėkite Vardą ir, jei reikia, nurodykite kelią.
  5. Spustelėkite mygtuką Procesas. Žemiau esančiame žurnalo lange rodoma konversijos eiga.

Rankinis konvertavimas iš DBF į XML

Norėdami naudoti neautomatinį konvertavimo režimą, turite eiti į meniu „Konvertuoti – gimtoji į XML“. Tada pasirinkite reikiamą vietinį failą ir spustelėkite mygtuką „Atidaryti“. Pasirodo šaltinio / imtuvo pasirinkimo langas. Turite nurodyti, iš kur ir kur failas siunčiamas. Iš sveikatos priežiūros įstaigų į Privalomojo sveikatos draudimo fondą ar sveikatos priežiūros organizaciją (arba iš sveikatos priežiūros įstaigos į sveikatos priežiūros įstaigą, jei programa įdiegta sveikatos priežiūros organizacijoje). Tada spustelėkite mygtuką „Gerai“. Konvertavimas prasidės, o pasibaigus bus paskelbta ataskaita apie rezultatą.

Komandinės eilutės paleidimo parinktys

„XDConverter.exe 1 2 3 4“, kur

1 – konvertuoto failo pavadinimas (nurodantis kelią)

2 – sukurto failo katalogas

3 – šaltinis (M,T,S)

4 – imtuvas (M, T, S)

3, 4 – tik DBF->XML\ konvertavimui

Konverterio starteris (vienam montavimui ir paleidimui)

1. Įdiekite ir paleiskite StartConvert.
2. Meniu pasirinkite asmens bylos ataskaitinį laikotarpį. buhalterinė apskaita.
3. Programa automatiškai paleis norimą keitiklį (XDConverter, XDConverter2, XDConverter3).
4. Tada konvertuokite kaip įprasta.

XDConverter7

XDConverter6

XDConverter5

XDConverter4



Ar jums patiko straipsnis? Pasidalinkite su draugais!