Резервное копирование ИБ / Заставка восстановления / Содержимое макета

файл
<!DOCTYPE html>
<html>

<head>
  <meta http-equiv="Content-Type" content="application/hta; charset=UTF-8">
  <meta http-equiv="x-ua-compatible" content="IE=EmulateIE7">
  <hta:application id="oHTA" border="none" caption="no" contextmenu="no" selection="no" icon="splash.ico" innerborder="no"
    navigable="yes" showintaskbar="yes" scroll="no" version="1.0.0.0" />
  <title>[ЗаголовокЗаставки]</title>
  <script language="javascript" src="helpers.js"></script>
  <script language="javascript" src="main.js"></script>
  <script language="javascript">
    var windowWidth = 604
    var windowHeight = 324
    var windowLeft = 200
    var windowTop = 100
    if (window.screen) {
      windowLeft = (window.screen.availWidth - windowWidth) / 2
      windowTop = (window.screen.availHeight - windowHeight) / 2
    }
    window.moveTo(windowLeft, windowTop)
    window.resizeTo(windowWidth, windowHeight)

    // Переменные состояния
    var step = 0 // Текущий шаг процедуры резервного копирования.
    var ret = 0 // Код возврата предыдущего шага.
    var finish = false
    var errStep = 0

    // Вывести сообщение о ходе восстановления данных
    function setProgress (statusText) {
      statusText += '...'
      document.getElementById('progressText').innerHTML = statusText
      log(statusText)
    }

    // Конечный автомат для выполнения шагов процедуры восстановления данных.
    function doStep (step) {
      switch (step) {
        case 0:
          setProgress('[Шаг1Инициализация]')
          break
        case 1:
          ret = initialize()
          break
        case 2:
          setProgress('[Шаг2ВосстановлениеДанных]')
          ret = restoreDB()
          break
        case 3:
          setProgress('[Шаг3ОжиданиеЗавершения]')
          break
        case 4:
          ret = WaitUntilFinish()
          break
        case 5:
          setProgress('[Шаг4РазрешениеПодключений]')
          break
        case 6:
          ret = allowConnections()
          break
        case 7:
          setProgress('[Шаг5Завершение]')
          break
        case 8:

          // Все готово.
          finalize(true)
          runEnterprise()
          self.close()
          ClearTempFiles()
          finish = true
          break
        default:
      }
      return ret
    }

    // Выполнить процедуру восстановления данных
    function main () {
      if (finish) {
        return
      }
      
      document.getElementById('ProductNameText').innerHTML = '[НаименованиеПродукта]'
      document.getElementById('copyrightText').innerHTML = '[Копирайт]'
      
      // Если предыдущий шаг завершился неудачно...
      if (ret !== 0 && ret !== -1) {
        if (errStep === 0) {
          log(format('[СообщениеЗаставкиОшибкаШага]', ret), true)
          finalize()
          runEnterprise()
          self.close()
          return
        }
        finalize()
        runEnterprise()
        self.close()
        ClearTempFiles()
        finish = true
        return
      }

      // Последовательное выполнение шагов процедуры восстановления данных
      if (ret !== -1) {
        step++
      }
      doStep(step)

      // Передача управления IE и повторный вызов main через 1 секунду (достаточно для завершения COM-соединения).
      // Если еще не все сеансы завершены, то ret = -1 и ждем 18 секунд до следующей проверки.
      if (!finish) {
        setTimeout("main()", ret !== -1 ? 1000 : 18 * 1000);
      }
      // Передача управления IE и повторный вызов main.
    }

    function checkClose () {
      if (!finish) {
        event.returnValue = format('[ПроцессПрерван]\n' +
              '[ПроцессПрерванПодсказка]')
      }
    }

    function ClearTempFiles () {
      // Удаляем временные файлы
      try {
        oFileSystemObject.DeleteFile(thisFileDir + '\\main.js')
        oFileSystemObject.DeleteFile(thisFileDir + '\\helpers.js')
        oFileSystemObject.DeleteFile(thisFileDir + '\\splash.png')
        oFileSystemObject.DeleteFile(thisFileDir + '\\splash.ico')
        oFileSystemObject.DeleteFile(thisFileDir + '\\progress.gif')
        oFileSystemObject.DeleteFile(thisFileDir + '\\splash.hta')
        oFileSystemObject.DeleteFile(TempCatalog + '\\1Cv8.1CD')
        oFileSystemObject.DeleteFile(thisFileDir + '\\templog.txt')
      } catch (e) { }
    }
  </script>
</head>

<body onload="window.setTimeout('main()',10);" style="border: 2px; background-image:url(splash.png); background-repeat: no-repeat; background-position: center center; background-attachment: fixed; background-color: #B3B3B3;">
  <div id="progressIcon" style="position: absolute; left: 10px; top: 65px;">
    <img src="progress.gif" border="0" />
  </div>
  <div id="captionText" style="font-size: 9pt; font-family: verdana,arial; font-weight: bold;
        color: #606060; position: absolute; left: 80px; top: 70px;">
    [ТекстЗаставки]
  </div>
  <div id="progressText" style="font-size: 8pt; font-family: verdana,arial; color: #000000;
        position: absolute; left: 10px; top: 240px;">
    &nbsp;
  </div>
  <div id="productNameText" style="font-size: 12pt; font-family: sans,sans-serif; color: #50525b; font-weight: bold;
        position: absolute; left: 20px; top: 270px;">
    &nbsp;
  </div>
  <div id="copyrightText" style="font-size: 8pt; font-family: sans,sans-serif; color: #9b9b9b; font-weight: bold;
        position: absolute; left: 20px; top: 290px;">
    &nbsp;
  </div>
</body>

</html>

Связанные материалы