'* is a VB Script program. The program will generate a toc.ncx file '* from the generated by Mobipocket Creator (MPC) *.opf and mbp_toc.html files. The '* Script will do appropriate modifications in the *.opf file as well for further work '* with the MPC. '* Copyright (C) 2010 name of author: Nemeséri, Lajos (eNeL), Hungary '* '* This program is free software: you can redistribute it and/or modify '* it under the terms of the GNU General Public License as published by '* the Free Software Foundation, either version 3 of the License, or '* (at your option) any later version. '* '* This program is distributed in the hope that it will be useful, '* but WITHOUT ANY WARRANTY; without even the implied warranty of '* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the '* GNU General Public License for more details. '* '* You should have received a copy of the GNU General Public License '* along with this program. If not, see . '* * * * '* Ez a program szabad szoftver: terjesztheti és/vagy módosíthatja azt a '* Szabad Szoftver Alapítvány által kiadott GNU Általános Nyilvános Licenc '* (GNU GPL) "version 3", vagy annak bármely később kiadott változata '* szabályai alapján. '* '* A program abban a reményben került terjesztésre, hogy hasznos lesz, '* de az MINDEN GARANCIA NÉLKÜL történt; ami még az ELADHATÓSÁGRA, vagy '* BIZONYOS CÉLOK MEGFELELÉSÉRE ráutaló garanciára is vonatkozik. '* Részletekért tekintse meg a GNU Általános Nyilvános Licencet. '* '* A programmal együtt meg kellett kapnia a GNU Általános Nyilvános Licenc '* másolatát. Ha mégsem, itt megtalálhatja: . '* A licencnek nincs hivatalos magyar fordítása Option Explicit '//Felhasználói beállítások :) ' ********************************************************* ' * A beállítás "False" értéke esetén a végén az eredeti * ' * .opf fájl egy Regi_ előtaggal kerül mentésre. Ha az * ' * eredeti fájlra nincs szükséged, akkor állítsd az * ' * opf_felulir értékét "True"-ra. * ' ********************************************************* Const opf_felulir = False ' //Felhasználói beállítások vége :) ' //Ne írj át semmit a következő részben, csak ha pontosan tudod mit csinálsz! '//Változók meghatározása, beállítások Const ForReading = 1, ForWriting = 2, ForAppending = 8 Const OpenAsUnicode = -1 Dim FS : Set FS = CreateObject("Scripting.FilesystemObject") Dim Path : Path = FS.GetParentFolderName(WScript.ScriptFullName) Dim WshShell : Set WshShell = WScript.CreateObject("WScript.Shell") Dim Mtoc : Mtoc = Path & "\mbp_toc.html" Dim utvonal : utvonal = Path & "\toc.ncx" Dim NCXFile Dim FBe, FBe2, FKi Dim OPF, OPF_nev Dim Atmeneti1 : Atmeneti1 = Path & "\Atmeneti1.tmp" Dim Atmeneti2 : Atmeneti2 = Path & "\Atmeneti2.tmp" Dim Temp : Temp = Path & "\Temp.tmp" Dim Href : Href = Path & "\Href.tmp" Dim MetaName : MetaName = "" Dim minta : minta = "" Dim Adat1 Dim KiegSzov : KiegSzov = "" Dim KiegSzov2 : KiegSzov2 = "" Dim np_id2 Dim nevhossz, hossz Dim strText, strNewText, strTorlendo Dim CelFajl : CelFajl = "" Dim strKeresettString : strKeresettString = "" Dim file, contents, newFile Dim szv, intStart, intVeg, strSzoveg, i Dim po_num, np_id, cimke, tart_src, s, nsz, npnum Dim Uzenet : Uzenet = "A toc.ncx fájl beszúrva, az" & chr(13) & ".opf fájl módosítása megtörtént!" '//Fájl meglétének ellenőrzése If (FS.FileExists(Mtoc)) Then Else WshShell.PopUp "Az mbp_toc.html fájl nincs meg, kilépek!" WScript.Quit() End If '//és ilyenkor jó eséllyel nincs ott az opf fájl sem, hiszen együtt készülnek '//Az opf fájl nevének meghatározása (mindig változó) hossz = Len(Path) nevhossz = InStrRev(Path, "\") OPF_nev = Right(Path, hossz-nevhossz) & ".opf" OPF = Path & "\" & OPF_nev '//Az eredeti opf fájl átnevezése és másolása, ha meg akarjuk őrizni az eredeti fájlt If opf_felulir = False Then CelFajl = Path & "\Regi_" & OPF_nev FS.CopyFile OPF, CelFajl, True CelFajl = "" End If '//A MP Creator opf fájl kiegészítése az ncx fájl használatához FS.CopyFile OPF, Atmeneti1, True Set FKi = FS.OpenTextFile(Atmeneti1, ForReading) strText = FKi.ReadAll FKi.Close strNewText = Replace(strText, "", KiegSzov) Set FKi = FS.OpenTextFile(Atmeneti1, ForWriting) FKi.Write strNewText FKi.Close Set FKi = FS.OpenTextFile(Atmeneti1, ForReading) strText = FKi.ReadAll FKi.Close strNewText = Replace(strText, "", KiegSzov2) Set FKi = FS.OpenTextFile(Atmeneti1, ForWriting) FKi.Write strNewText FKi.Close '//Az opf fájl felülírása az átmenetivel, majd az átmeneti fájl törlése FS.CopyFile Atmeneti1, OPF, True FS.DeleteFile Atmeneti1, True WshShell.PopUp Uzenet Set FS = Nothing WScript.Quit()