tbBM = SQLite.QueryToTable(db01,"SELECT * FROM Bookmarks"); err = Application.GetLastError(); if err ~= SQLite.OK then Debug.Print( "Ошибка: " .. SQLite.GetErrorString(err) ); end Count = tbBM.Rows; if Count == 0 then Dialog.Message("Ошибка!", "Нет закладок для отчета... \n\r", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1); else BookmarksExist = File.DoesExist(_TempFolder.."\\bookmarks\\bookmarks.htm"); if BookmarksExist == true then File.Delete(_TempFolder.."\\bookmarks\\bookmarks.htm", false, false, false, nil); end File.Copy(_SourceFolder.."\\AutoPlay\\Docs\\h~k2RohK25kd.fhr", _TempFolder.."\\bookmarks", true, true, false, true, nil); File.Rename(_TempFolder.."\\bookmarks\\h~k2RohK25kd.fhr", _TempFolder.."\\bookmarks\\bookmarks.htm"); --------------------------------------------------------------------------------------------- function SQLiteToHTML(db, RS, sFileOut) local n; local strFile; local strHTML; db01=SQLite.Open(_TempFolder.."\\bookmarks\\Bookmarks.db"); -- Формулируем запрос sOborQuery = "Select * from Bookmarks"; -- Получаем из таблицы Bookmarks все данные tQuery = SQLite.QueryToTable(db01,sOborQuery); -- если запрос вернул данные... if tQuery and tQuery.Rows < 0 then Dialog.Message("Ошибка", "Нет закладок", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1); else -- ...обходим таблицу с этими данными... for nRow = 1, tQuery.Rows do tQuery.Data[nRow]["BMOpisanie"] = String.Replace(tQuery.Data[nRow]["BMOpisanie"] , "o", "<br>o", false); tQuery.Data[nRow]["BMOpisanie"] = String.Replace(tQuery.Data[nRow]["BMOpisanie"] , ".", ".<br>", false); File.Copy(tQuery.Data[nRow]["BMImagePatch"], _WindowsFolder.."\\bookmarks", true, true, false, true, nil); strHTML = "<table\"\cellpadding=\"5\">"; for nRow = 1, tQuery.Rows do --Раскладываем путь на составляющие... tPatchElements = String.SplitPath(tQuery.Data[nRow]["BMImagePatch"]); --кладем в таблицу имя файла и расширение файла PictureName = {Filename =tPatchElements.Filename, Extension=tPatchElements.Extension}; --Сливаем воедино имя файла и расширение файла stPicture = String.MakePath(PictureName); strHTML=strHTML.."<tr><td><p>"..tQuery.Data[nRow]["BMName"].."</p>".."<hr size=\"1\"></td></tr><tr><td id=\"gfr\">Категория оборудования: <b>"..tQuery.Data[nRow]["BMCategory"].."</b><br> Производитель: <b>"..tQuery.Data[nRow]["BMMade_in"].."</b><hr size=\"1\"></td></tr><tr><td><img src=\""..stPicture.. "\" alt=\""..tQuery.Data[nRow]["BMName"].."\">"..tQuery.Data[nRow]["BMOpisanie"].. "<hr size=\"1\"></td></tr><tr><td id=\"gfr\">Цена: <b>"..tQuery.Data[nRow]["BMPrice"].."</b><hr size=\"7\"></td></tr>"; ----------------------------------------------------------------------------------------------------------- tInfoService = SQLite.QueryToTable(db,"SELECT * FROM service "); nLastError = Application.GetLastError(); if nLastError ~= SQLite.OK then Dialog.Message("Error", SQLite.GetLastErrorString()); end if nLastError == SQLite.OK then -- ...обходим таблицу for nRow = 1,tInfoService.Rows do CompanyName = tInfoService.Data[nRow]["CompanyName"]; Address = tInfoService.Data[nRow]["Address"]; Email = tInfoService.Data[nRow]["Email"]; WebSite = tInfoService.Data[nRow]["WebSite"]; strHTML01 = "<b>"..CompanyName.."</b><br>"..Address.."<br>"..Email..", "..WebSite; strHTML02 = CompanyName; end end ----------------------------------------------------------------------------------------------------------- end end end sFileOut = _TempFolder.."\\bookmarks\\bookmarks.htm"; local tblQ = SQLite.QueryToTable(db01, sOborQuery ); tableCount = Table.Count(tQuery); --читаем код страницы bookmarks.htm strFile = TextFile.ReadToString(_WindowsFolder.."\\bookmarks\\bookmarks.htm"); --последовательно заменяем якоря на сдержимое переменных strHTML, strHTML01,strHTML02 strFile00 = String.Replace(strFile, "<!--~TABLE~-->", strHTML, false); strFile01 = String.Replace(strFile00, "<!--~ADRESS~-->", strHTML01, false); strFile02 = String.Replace(strFile01, "<!--~COMPANY~-->", strHTML02, false); --пишем измененный текст в bookmarks.htm TextFile.WriteFromString(sFileOut, strFile02, false); end SQLiteToHTML(db, RS, sFileOut); File.Open(_TempFolder.."\\bookmarks\\bookmarks.htm", "", SW_MAXIMIZE); end |