Веб-сайт с минимальными затратами: учебник HTML

Практика JavaScript и DHTML


учебник HTML скачать
(вся книга в одном файле 3.92М)

  • Учебник HTML в одной главе (вместо пролога)
    Что мешает вам создать веб-сайт и поместить его в Интернет? Несколько страниц текста, 15-20 минут работы - и о вашем существовании сможет узнать весь мир.
  • Гл. 1. Больше одной страницы
    Сайт из пяти страниц. Минимум HTML-тэгов. Основы навигации (гиперссылки).
  • Гл. 2. Прайс-лист. Таблицы и архивы
    Перенос списка товаров из бухгалтерской программы в Excel. Надстройка Excel для сохранения в формате HTML. Упаковка в архив zip.
  • Гл. 3. Продвижение
    Поиск информации в Интернете. Заголовок страницы (title). Краткое описание (meta description). Правильная кодировка страницы. Веб-сайт как рекламоноситель.
  • Гл. 4. Обратная связь
    ...ни с кем не встречайтесь, никому не звоните, не трогайте почтовые конверты, не распечатывайте счета, вообще не прикасайтесь к бумаге, раз уж существует электронная почта!
  • Гл. 5. Испытания в полевых условиях
    Баловство с IIS на Windows. Практической цели не имеет.
  • Гл. 6. Работа с графикой
    Фотография, полиграфия и веб. Экранное разрешение. Режим «Индексированный 256», уменьшение количества цветов в палитре. Вставка изображений в HTML-страницу. Атрибут ALT.
  • Гл. 7. Оформление с помощью CSS
    Блочные HTML-элементы. Управление цветом и размером многих элементов с помощью правил. Особенности в интерпретации HTML разными браузерами. Поля. Оформление ссылок (изменение цвета при наведении мыши - hover).
  • Гл. 8. Изменение структуры. Обновление
    Каталог продукции: картинки с описаниями. Отличие элементов PRE и P. Добавление прозрачности изображениям. Выравнивание по вертикали. Обработка текстов с помощью поиска и замены символов. Немного об HTML-таблицах.
  • Гл. 9. Javascript: баловство или необходимость?
    Получение информации о браузере (интернет-обозревателе, клиенте, агенте). Оформление с помощью JS: невидимая на экране команда JavaScript вставляет в текст страницы невидимую глазом инструкцию - и вид страницы изменяется. Оптимизация кода.
  • Гл. 10. Примечания (сноски) в книге
    В HTML-странице не обязательно собирать все примечания в конце. Их можно отображать и скрывать по желанию пользователя прямо там, где стоит ссылка на сноску.
  • Гл. 11. DHTML для нашего сайта
    События onclick, oncontextmenu. Знакомство с DOM (объектной моделью HTML-документа). DHTML-шутка: сайт в одной странице.
  • Гл. 12. Электронные документы
    Скрыть или показать часть стуктуры. Создание оглавления.
  • Учебные материалы
    Файлы примеров для учебника HTML, спецификации W3C, несколько полезных программ.

Статьи

  • Конструктор HTML форм
    Начнём с того, что конструктор форм, как и конструктор сайтов, есть вещь принципиально невозможная. Как, впрочем, и любой конструктор вообще. Конструктор – выражение фигуральное, метафорическое. В ... 01.02.12
  • Числа прописью с рублями, минутами и метрами
    Эта тема беспокоит меня давно, с тех пор, как в нашей газете научились отправлять электронные счета электронной почтой. В счёте ведь надо было как-то превращать цифры с слова (типа «Два миллиона сто ... 15.11.11
  • Календарь javascript (datepicker)
    В сети полно чудовищных скриптов для наглядного выбора даты с помощью указателя мыши. Эти скрипты не могут быть не чудовищными по определению, так как созданы для позорной задачи: облегчить жизнь ... 15.11.11
  • Что из чего следует в PHP-фреймворке «Friends»
    «Friends» - рабочее название маленького PHP-фреймворка (16 K кода, вместе с CSS, но пока без javascript), находящегося в сомнительных отношениях с mvc, но бодро работающего. В предыдущей статье мы ... 29.10.11 Комментарии (1)
  • PHP фреймворк, анти-MVC, без ООП
    С самого начала изучения MVC мне не понравилось слово «модель». И не зря. На громадном количестве сайтов это понятие действительно не применимо. Там есть Данные, есть какое-никакое их Отображение. ... 17.10.11 Комментарии (6)
  • Идеальная функция setCookie
    Сравнение двух интересных библиотек (http://microbasejs.ru/, http://github.com/Kolyaj/CrossJS) привело меня к озарению и созданию совершенно особой, доселе невиданной функции по установке куки (с ... 03.10.11 Комментарии (1)
  • Отображение настроек для javascript сортировки
    Очень сложная оказалась задача – дать пользователю возможность настраивать колонки таблицы не по Ctrl+click, а наглядно, как в оконных приложениях, выбором с помощью мышки. Весь моск вывернула ... 29.09.11
  • Что такое Контроллер mvc в вебе?
    MVC – Модель, Контроллер, Вью (Представление). Вместо мутного «Модель» используем «Данные». И попытаемся определить откуда у всего этого ноги растут. Данные – это что-то, что хранится в компьютере; ... 25.09.11
  • javascript сортировщики, сравнение алгоритмов
    Всякое сравнение хромает в пользу того, кто сравнивает. Попробуйте поискать в сети страницы по фразам «Сортировка HTML таблиц», «javascript сортировка», «table sorter»... Можно найти немало решений, ... 15.09.11
  • unobtrusive top.mail.ru
    Лет 5-6 назад среди веб-разработчиков распространилась мода на «unobtrusive javascript» – «ненавязчивый» javascript, который внедряется в тело HTML страницы только в виде ссылок на файлы js (а не в ... 15.09.11
  • Простой сортировщик HTML таблиц, версия 0.03
    Simple Table Sorter v 0.03 Первый Простой сортировщик HTML таблиц (версия 0), упоминаемый на этом сайте, был придуман далеко не первым по времени, а примерно через год работы над концепцией. Была ... 09.09.11
  • Подсветка строк, столбцов и значений в HTML таблице
    Это следующая версия скрипта Big Table Sorter – 1.01. Почти год назад в статье http://ir2.ru/tabsort1.aspx мы сформулировали концепцию полнофункционального сортировщика HTML таблиц. Казалось, что ... 06.09.11
  • Отложенная загрузка javascript
    Когда в очередной раз пользователи начали жаловаться на «странную» работу некоторых функций корпоративного сайта, мне пришлось вникнуть в проблему. Она оказалась очень простой: 1) после загрузки ... 16.07.11
  • Кэширование промежуточных результатов в веб-программировании
    Кэширование в php-скрипте Существует такой шаблон проектирования (или приём программирования) «Экстрактор»: создаваемая конструкция не знает о существовании или отсутствии элементов, она просто ... 28.06.11
  • javascript и php: синхронизация сущностей
    Вот форма на сайте ("вот дом, который построил Джек"). Вот кнопка submit, при щелчке по которой запускается функция валидации формы. Вроде всё, как всегда, стандартный пример. Но, если подумать, ... 24.06.11
  • Скругление углов CSS, JavaScript
    Кажется, на эту тему трудно написать что-то новое. Точнее, трудно изобрести новый метод скругления углов. А взглянуть на проблему под другим углом всегда можно. Мы попробуем доказать неизбежность и ... 04.06.11
  • Javascript и логика представления (design pattern «JS-словари»)
    В статье о генерации HTML формы для wysiwyg редактора мы привели пример небольшой автоматизации в программировании – создание формы на основе структуры mysql-таблицы и последующая обработка данных ... 29.05.11
  • Структура WYSIWYG-редактора сайта
    WYSIWYG – это наглядный редактор (прежде всего, для текста): вы выделяете фрагмент, нажимаете в управляющей панели кнопку B – и фрагмент становится жирным. Так можно делать, например, в Ворде, или в ... 07.05.11
  • Подсветка картинки при наведении мыши
    Хорошей практикой веб-строительства является создание таких гиперссылок (и других активных элементов), которые изменяются при наведении мыши. У гиперссылок, по спецификации W3C, даже существует для ... 02.05.11
  • Визуальные редакторы: для кого они?
    В давние-давние годы, когда в Иркутске только начали появляться компьютеры и про Интернет ещё никто ничего не слышал, для вёрстки использовали программу Xerox Ventura Publisher (Вентура). Вёрстка, ... 27.03.11
  • Веб/2: сайты нового поколения
    ПредысторияЧтобы дать определение новому понятию «Полувеб», надо вспомнить сначала, что такое «веб 2.0». О нём много пишут; как всегда, лучше всего в Википедии. С содержательной стороны – это ... 28.12.10 Комментарии (2)
  • Как измерить скорость работы Javascript?
    На самом деле хочется, конечно, знать общую скорость (точнее, время) вывода на экран какой-либо информации. В нашем случае – информации, получаемой с помощью браузеров (то есть скорость вывода ... 21.12.10 Комментарии (2)
  • Функция для работы с className в javascript
    Изменение атрибута class у HTML-элементов является основой, базой для управления содержимым страницы с помощью DHTML. Любое действие по оформлению проще всего производить, именно изменяя динамически ... 18.12.10
  • Сортировщик HTML таблиц, версия 1
    В предыдущей статье мы попытались определить минимально необходимые свойства сортировщика таблиц. Вряд ли произведённые определения можно сильно оспорить; другие минималистские сортировщики в общем с ... 11.12.10 Комментарии (1)
  • Сортировщик HTML таблиц: концепция и «нулевой цикл»
    У кого sorter тинее? В процессе работы над сортировщиком (как и над любой другой программой) приходится многократно обращаться к разным вариантам, существующим в виде открытых решений в Сети. И ... 09.12.10 Комментарии (29)
  • Как с очень высокой скоростью найти слово в большой таблице?
    В предыдущей статье мы показали, как два уровня (или два приёма) javascript-кэширования могут увеличить скорость поиска по списку из 400 элементов в десятки раз. Там были важны три ... 06.12.10 Комментарии (2)
  • Как в большом списке найти слово с очень высокой скоростью?
    Простой список. Прямой алгоритм Начнём с нашего любимого примера – простого (в одну колонку) списка рубрик из справочника предприятий vostsibspravka.ru: listru1.htm. Наиболее очевидный алгоритм ... 06.12.10
  • HTML база данных лучше, чем Excel
    Второй вопрос после "как сортировать и фильтровать данные в HTML-таблице?" обычно возникает у критиков: "А нафига?" Скептицизм здесь уместен: пользователи обычно получают HTML-страницы с веб-сервера, ... 05.12.10 Комментарии (1)
  • Javascript база данных
    Есть такой анекдот (или притча) о злой тётке, которая один раз в жизни пожалела нищенку и подала луковое пёрышко; а потом в аду черти тётку топили, а нищенка протянула ей то самое луковое пёрышко и ... 28.10.10
  • Сортировщик HTML-таблиц, версия 1.3
    Статья о сортировке HTML-таблиц была написана год назад. Так получилось, что описываемая технология заинтересовала некоторых начинающих программистов, и они стали задавать вопросы и высказывать ... 30.09.10 Комментарии (3)
  • Проверка условий в Javascript
    Веб-программист постоянно вынужден что-то проверять: правую кнопку мыши нажал пользователь или левую, заполнено ли в форме поле «Поиск», есть ли на странице элемент с id = "console"... Иногда это ... 25.09.10
  • Скрыть – показать HTML элементы с помощью Javascript
    Специалист – человек, который, избегая мелких ошибок, неуклонно движется к глобальному заблуждению. Закон программирования Мэрфи, ст. 17 Специалист подобен флюсу: полнота его одностороння. Козьма ... 11.09.10
  • Таймеры в Javascript (setInterval, setTimeout)
    В программировании на скриптовых языках периодически возникает необходимость создать паузу – приостановить выполнение программы на некоторое время, а потом продолжить работу. Например, в сценариях ... 26.08.10 Комментарии (10)
  • Javascript фильтрация данных
    Сортировать HTML-таблицу мы уже научились. Вторая после сортировки задача базы данных – выборка строк из таблицы по определённому критерию. Например, чтобы поле город заканчивалось на -тск. ... 24.08.10 Комментарии (13)
  • Javascript: вопросы и ответы
    Все примеры javascript для данной страницы находятся в файле o3.js. Для правильной работы скриптов необходима также библиотека ir2.js. Как запомнить options, выбранный в элементе select? ... 18.07.10
  • Javascript: часто задаваемые вопросы
    Как удалить пробелы в Javascript с учётом  ? Речь, понятно, идёт не о всех пробелах подряд, а о лишних пробелах справа и слева, т.е. об аналоге функции trim (удаляющей справа и слева строки ... 27.02.10 Комментарии (3)
  • Редактирование таблицы MySQL: Javascript интерфейс
    В предыдущей статье мы рассмотрели предельно простой способ доступа к базе данных MySQL (редактирование таблицы без перезагрузки HTML страницы). Отправка данных на сервер производилась через ... 21.02.10 Комментарии (7)
  • Редактирование таблицы MySQL в браузере
    Заголовок, конечно, пугающий, но там (здесь), в общем, ничего необычного: редактирование таблицы MySQL происходит всё-таки с помощью серверного скрипта PHP. К тому же пользователи вообще очень часто ... 24.01.10 Комментарии (8)
  • 10 лучших функций Javascript
    Функция удаления со страницы ссылок «на себя» stripSelfHref() DOM-инспектор dom-javascript.js Функция scriptRequest() (фоновые http-запросы) Функция записи куки setCookie() ... 16.01.10 Комментарии (1)
  • Сортировка таблицы средствами JavaScript - DOM
    Вопрос когда-то с неизбежностью возникает перед любым добросовестным веб-мастером: зачем перегружать HTML страницу при сортировке таблицы? Нельзя ли перегруппировать HTML элементы таблицы прямо в ... 09.01.10 Комментарии (49)
  • DHTML: условная разметка для HTML кода
    Стили набора и форматирования Как авторы обычно оформляют текст при наборе? Например, когда надо какое-то слово сделать курсивным? Результат можно получить разными способами: Нажать мышкой в ... 05.01.10
  • DHTML: защита форума
    Как защитить фор(ум|му) от спама? Форма – это дыра, через которую сообщения пользователя отправляются на сервер. Точнее, несколько дыр: текст сообщения, автор, e-mail... Форма 1. Автор: ... 02.01.10 Комментарии (3)
  • DHTML: хранение настроек пользователя
    Для чего нужен Dynamic HTML Убрать Развернуть и запомнить ... 30.12.09
  • DHTML: проверка формы
    В предыдущей статье http://ir2.ru/dhtml.aspx мы сформулировали ряд причин, по которым бывает необходимо изменять HTML страницу после её открытия в браузере. Повторяем здесь список этих причин: ... 26.12.09 Комментарии (2)
  • DHTML
    Нечасто задаваемые вопросы Изменение текста (и оформления) страницы после её открытия в браузере иногда называют DHTML – Dynamic HTML. Справочник по DHTML найти в сети почти невозможно. ... 24.12.09 Комментарии (2)
  • JavaScript
    О популярности JavaScript в Википедии слагают легенды. Специалисты объясняют эту популярность в основном простотой языка и широкой поддержкой в прикладных программах. Такой взгляд кажется нам немного ... 13.12.09 Комментарии (1)
  • HTML таблицы
    Таблица (элемент table) является, пожалуй, самой загадочной и сложной конструкцией языка HTML. Хотя собственно HTML тут ни при чём, таблица сложна по самой своей сути, по противоречивой логике ... 07.12.09
  • Самый быстрый браузер
    В последние годы интернет-обозреватели не радуют нас разнообразием рекламы: «С новой версией NN ваш веб-сёрфинг станет ещё безопаснее!» – наиболее типичный призыв производителей. А ... 26.10.09 Комментарии (3)

Добавить статью:

*Заголовок:
Имя файла (только латинские буквы):
Автор:
*Текст:

Глава 2. Прайс-лист. Таблицы и архивы

Вы, несомненно, уже заметили слабое место в наших построениях: обновления прайс-листа. С другими страничками всё более-менее понятно: при необходимости всегда можно дописать в файл «requisit.html», хранящийся на вашем компьютере, несколько строк «руками» и закачать этот обновлённый файл на сервер. То же самое и с адресами и телефонами. Но по-другому - с прайс-листом. Потому что он а) большой, б) требует обновления чаще, чем адрес и телефон, в) хранится вовсе не в виде текстового файла, и как его преобразовывать в нужный для веб-странички вид, не известно.

Примем за стандартный формат прайс-листа лист MS Excel. Все «нестандартные» прайс-листы должны быть к нему сводимы. А «нестандартные» - это исходные списки товаров и цен, хранящиеся в справочниках бухгалтерских программ, которые мы для простоты будем считать одной программой - «1С:Торговля и склад» (или просто - «1С»). Таким образом, задача сводится к тому, чтобы из справочника (или, точнее, отчёта) «1С» прайс-лист попал в MS Excel, а оттуда - на веб-сайт.

1С - Excel

Если у вас «1С» версии 7.7, то вы, сформировав нужный отчёт по товарам, можете сохранить его (через меню «Файл» - «Сохранить как») прямо в формате MS Excel.

1c1.gif

Если у вас «1С» версии 7.5 (и ниже), то вы можете сохранить отчёт только в формате таблицы «1С» - в файле «*.mxl». Существует специальная утилита (программа), позволяющая MS Excel корректно открывать файлы «*.mxl», она доступна на сайте в каталоге «soft» (каталог «1c_excel»), а также по адресу http://ir2.ru/html/omne/soft/1c_excel.zip. Скопируйте каталог «1c_excel» к себе на компьютер и установите программу. После этого можно открыть файл «*.mxl» программой MS Excel и сохранить в формате «Книга Microsoft Excel». Но не всегда. Если вы открыли файл «*.mxl» программой MS Excel, но видите безобразно большое количество ненужных значков, значит, у вас Excel (и вообще MS Office) старше версии 97, и старенькая утилита «1c_excel» для него не годится.

Что же делать в этом случае? Я мог бы ответить: «Какого рожна у вас старая (добрая) «1С» и такой суперновый «Офис»?! Делайте, что хотите!» Но я так не скажу, потому что люблю всегда добиваться цели, какой бы трудной она ни казалась. Во-первых, попробуйте попросить совета у продавца «1С», у которого вы купили бухгалтерскую программу. Может быть, он предложит вам более современную утилиту для распознавания формата «*.mxl». Но это, конечно, мало вероятно. Правильнее даже сказать, что вероятность этого события граничит с чудом. Скорее уж, продавец «1С» предложит вам купить более новую версию своей программы. Гораздо проще попросить программиста (или администратора), обслуживающего «1С», чтобы он запрограммировал кнопку, позволяющую сохранять отчёт в обычном текстовом файле с разделителями-табуляциями - такой файл Excel понимает легко.

Если всё же вам не удалось получить помощь у других людей, у вас всегда остаётся ultima ratio (последнее, «непробиваемое» средство) - обычное копирование информации из одной программы в другую через буфер обмена Windows. Выделите нужный фрагмент товарного отчёта «1С» с помощью мышки (или с помощью клавиши Shift и стрелок), выберите в меню «Действия» пункт «Запомнить» (или просто нажмите «Ctrl+C»), перейдите в программу MS Excel, выберите в меню «Правка» пункт «Вставить» (или просто нажмите «Ctrl+V»), затем, наконец, сохраните с таким трудом добытую информацию в файл с именем «price.xls». Для удобства в дальнейшей работе мы будем считать, что вы во всех вариантах сохраняете свой прайс-лист под именем «price.xls».

1c2.gif

Excel - HTML

Последующий путь прайс-листа к веб-серверу может быть различным. Если в файле «price.xls» не больше 300 строк, можно попробовать сохранить его в HTML-формате с помощью надстройки MS Excel «priceH.xla» (которая доступна на сайте в каталоге «soft», а также по адресу http://figur.ir2.ru/html/omne/soft). Надстройка «priceH.xla» устанавливается так:

  • скопируйте файл «priceH.xla» к себе на компьютер, например, в папку «Мои документы\Omne»;
  • в меню Excel «Сервис» выберите пункт «Надстройки» - «Обзор», в открывшемся диалоговом окне найдите папку «Мои документы\Omne» и выберите файл «priceH.xla»;
  • excel1.gif
  • теперь если в списке надстроек «priceH» отмечен галочкой, значит, надстройка активна: в меню «Файл» MS Excel должен появиться пункт «toHTML».
excel2.gif

Надстройка «priceH» требует соблюдения некоторых условий для работы:

  • в файле, который вы хотите сохранить как HTML (например, «price.xls»), над таблицей (собственно прайс-листом) в самой первой ячейке (или в объединении ячеек) должен быть заголовок таблицы (например, «Прайс-лист торговой группы «Omnia»»);
  • excel3.gif
  • перед записью файла HTML с помощью меню «Файл» - «toHTML» ячейке с заголовком таблицы («Прайс-лист торговой группы «Omnia»») надо присвоить имя «table» (строка имён находится в Excel слева от строки формул, там обычно показывается адрес ячейки - что-нибудь вроде «R6C3», вот туда и надо записать вместо адреса слово «table»);
  • или выделить диапазон ячеек таблицы вручную (начиная с заголовка таблицы и заканчивая последней ячейкой таблицы);
  • чтобы сохранённый файл «price.html» выглядел прилично, рядом с ним, в том же каталоге, должен находится файл «dn.css» (скопируйте его с сайта или сохраните со странички http://figur.ir2.ru/html/omne/soft); на всякий случай процедура экспорта «toHTML» всегда записывает рядом с файлом html файл dn.sam с таким содержимым, какое должно быть в файле dn.css: если вы случайно уничтожили файл dn.css (или у вас просто его нет), можно просто переименовать файл dn.sam в dn.css;
  • к сожалению, в алгоритм экспорта в html-файл не включена обработка ячеек, объединённых по вертикали, поэтому таких объединений лучше в прайс-листах Excel'а избегать.

Если у таблицы не будет специально написанного заголовка, программа сохранения будет рассматривать первую ячейку первой строки таблицы как заголовок. Получится не очень красиво.

Ладно, будем считать, что вы успешно поэкспериментировали и в итоге вам (с помощью пункта «toHTML» в меню «Файл») удалось сохранить свой (или выбранный для примера) прайс из MS Excel в формат HTML. Надстройка сохраняет html-файл с тем же именем, что и файл MS Excel, и в ту же папку, где находится исходный файл xls. Посмотрите теперь, сколько места занимает файл «price.html» (правой кнопкой мыши - «Свойства»). Если больше 100 килобайт, я бы не стал выкладывать его на сервер. Но вы можете попробовать.

***

Примечание. При сохранении из MS Excel с помощью предлагаемой надстройки «priceH», файл html получается по размеру примерно в два раза меньше, чем исходный файл xls. В MS Excel есть встроенное средство для сохранения файлов в HTML-формате; если использовать это средство, файл html получается по размеру примерно в два раза больше, чем файл xls (что совершенно лишает смысла преобразование формата xls в html). Другое преимущество надстройки «priceH» - возможность изменять оформление прайс-листа с помощью небольшой внешней таблицы стилей («dn.css»).

Excel - zip

Предположим, что мы всё-таки получили отрицательный результат: файл «price.xls» занимает примерно 500 Кб, а файл «price.html» получился около 300 Кб. Ни тот, ни другой выкладывать на сервер для просмотра не целесообразно. Но можно выложить тот или другой файлы на сервер для скачивания. Только предварительно выбранный файл необходимо заархивировать. Упаковать с помощью архиватора Winzip или Winrar. Winrar сжимает сильнее, но архивы zip фактически являются стандартом (отчасти потому, что архивы RAR более ранних версий не могут работать с более новыми архивами, а старые ZIP - могут: если вы упакуете файлы в архив новейшим архиватором Winrar, пользователи с более старым архиватором не смогут извлечь файлы обратно, а если новейшим архиватором Winzip, то пользователи распакуют их любой самой старой версией zip-архиватора). Обе программы платные. Условно.

Если у вас уже есть Winrar, можете пропустить описание работы с архиваторами. Если нету, можете установить архиваторы, не требующие лицензирования, с сайта (каталог soft/arc) или скачать со странички http://figur.ir2.ru/html/omne/soft/arc. На выбор. Самый «простой» вариант (похожий в использовании на Winzip и Winrar) занимает больше всего места и устанавливается запуском файла powarc61.exe (2087 Кб). Более сложный (для настройки) вариант занимает меньше места и позволяет упаковывать файлы быстрее, технологичнее - устанавливается запуском файла pacl20.exe (474 Кб). Его надо рассмотреть подробнее.

После запуска файла pacl20.exe программа предложит вам распаковать рабочие файлы в каталог C:\Pautil. Соглашайтесь. После распаковки (это и есть установка программы), чтобы программы Pacomp и Paext могли запускаться из любого каталога компьютера, путь к ним надо занести в системную переменную Path. Доступ к ней можно получить так: щёлкните правой кнопкой мыши по папке «Мой компьютер», выберите из выпавшего меню «Свойства»:

pa1.gif

затем вкладку «Дополнительно» и кнопку «Переменные среды»:

pa2.gif

В разделе «Системные переменные» найдите Path, щёлкните по ней двойным щелчком

pa3.gif

и в открывшемся окне аккуратненько, стараясь ничего нужного не удалить, в самый конец строки, через точку с запятой запишите:

;C:\PAUTIL

Если, по-вашему, вы ничего такого нечаянно не удалили, нажимайте «ОК» (три раза в трёх последовательно закрывающихся окнах), после чего необходимо перезапустить систему. Или завершить сеанс пользователя и снова открыть сеанс (если знаете, как).

Утилиты Pacomp и Paext запускаются «из командной строки», поэтому для их использования нужно ещё и знать, где находится эта самая командная строка. Один из вариантов командной строки находится в кнопке «Пуск» - «Выполнить». Команда, которая упакует файл price.xls в архив price.zip с помощью программы Pacomp, будет выглядеть так:

pacomp.exe -a price.zip price.xls

Команда означает следующее: «-a» - от английского «add» - добавить, слово «price» через пробел после «-a» - имя архива zip, в который будет добавляться файл (если вы назначите файлу другое расширение, например, .rar, то Pacomp создаст архив RAR), и в конце - «price.xls» - имя файла, который надо добавить в архив.

Если вы наберёте её в командной строке «Пуск» - «Выполнить», то ничего не получится. Потому что на вашем компьютере может лежать много файлов price.xls в разных каталогах. О каком из них идёт речь? Вам нужно как-то запустить командную строку именно в папке «Мои документы» (или в другой, где надо создать архив). Это можно сделать с помощью bat-файла.

Щёлкните правой кнопкой мыши в свободном месте открытой папки «Мои документы» (или той папки, где у вас лежат файлы для упаковки - price.xls и другие); выберите из выпавшего меню «Создать» - «Текстовый документ» - «Enter» - «Enter».

В открывшемся в программе «Блокнот» документе наберите нужную команду:

pacomp.exe -a price.zip price.xls

А лучше ввести в команду полный путь к файлу pacomp.exe (вдруг вам не удалось записать этот путь в системную переменную Path), команда получится немного длиннее, зато надёжнее:

C:\pautil\pacomp.exe -a price.zip price.xls

Выберите в меню «Блокнота» «Файл» - «Сохранить как», введите (в кавычках!) имя сохраняемого файла: "pricezip1.bat", «Сохранить». Теперь двойным щелчком по новому файлу «pricezip1.bat» (он может выглядеть у вас просто как «pricezip1») вы можете создать архив «price.zip», в котором будет упакован файл price.xls.

Вы можете также создать другие bat-файлы для других архивов, например, pricezip2.bat - для архивирования html-файла. Команда для упаковки в архив html-файла будет такой:

C:\pautil\pacomp.exe -a price2.zip price.html

У вас в папке для веб-публикаций становится всё больше и больше файлов, с разными расширениями. А ваша Windows, скорее всего, настроена так, чтобы эти расширения не отображать (да и файлов в окне наверняка помещается мало). Поэтому настала пора заняться настройкой вида папок.

Свойства папки

В общем случае папки с документами на компьютере должны иметь вид «Список»: ровные (более-менее) колонки строчек, содержащих наименования (и расширения!) файлов. В некоторых частных случаях (например, для папок с файлами изображений) бывает целесообразно использовать другие настройки (например, «Эскизы страниц». Чтобы привести папку с вашими html-файлами и программой Pkzip к нормальному виду, выберите в меню «Сервис» «Свойства папки»:

papka2.gif

В открывшемся окне выберите вкладку «Вид» и уберите галочку в пункте «Скрывать расширения зарегистрированных типов файлов»:

papka3.gif

Если значки в папке выглядят слишком крупными, а названий документов почти не видно, выберите в меню папки «Вид» - «Список»:

papka5.gif

Всё, теперь можно продолжить работу с архивами.

Не забудьте добавить в архив файл с файлом price.html ещё и файл dn.css, без которого HTML-прайс будет выглядеть странно. Для этого в файл pricezip2.bat нужно будет добавить ещё одну строку, и в целом его текст будет выглядеть так:

C:\pautil\pacomp.exe -a price2.zip price.html

C:\pautil\pacomp.exe -a price2.zip dn.css

Для извлечения файлов из архива сделайте bat-файлы с использованием программы Paext. Команда совсем простая:

C:\pautil\paext.exe price.zip

Полное описание ключей (опций) для запуска программ Pacomp и Paext можно увидеть, запустив эти программы без параметров, просто двойным щелчком по файлам pacomp.exe или paext.exe, которые находятся в папке C:\Pautil. Хотя какой смысл - в этой же папке находится файл документации Readme.txt, в котором всё написано более подробно.

Excel - Excel

Если файл «price.xls» занимает каких-нибудь 50-70 Кб, то почему нельзя именно его, без всяких преобразований, выложить на сервер? Не знаю, почему. Но мне, например, неприятно открывать через Интернет файлы Excel'а - даже при небольшом размере на их открытие уходит больше времени, чем на открытие стандартных HTML-файлов. Поэтому я предполагаю, что другим это тоже не очень приятно, и стараюсь поступать с ними так, как хотел бы, чтобы они поступали со мной. То есть не выкладываю на интернет-серверы для прямого просмотра файлы Excel.

Вы же вольны поступать, как вам хочется. Можно, например, выложить на сервер все возможные варианты вашего прайс-листа. Если указать для каждого варианта его формат («xls», «html», «xls в архиве zip», «htm в архиве zip») и размер файла, то такое решение будет вполне корректным: пользователь будет предупреждён о том, что его ожидает после щелчка по ссылке и сам выберет, что ему смотреть (или скачивать).

Содержание файла pricelist.html

Если вы помните, в файле pricelist.html у нас была записана какая-то ерунда о видеомагнитофонах импортных. Теперь для этого файла настало время выполнить своё предназначенье всерьёз. Содержанием страницы pricelist.html должен стать не собственно список товаров и цен, а несколько гиперссылок, позволяющих открыть и просмотреть прайс-лист или скачать его к себе на компьютер.

«Omina» - очень разносторонняя фирма, поэтому у неё может быть несколько прайс-листов для разного рода деятельности. Например, один прайс для склада металлопроката, а другой - для компьютерного магазина «Системные блоки». Мы так их и назвали: price1.xls и price2.xls.

ex04 Файлы примеров: prices (prices)

Предположим, что вам удалось для каждого из этих файлов создать с помощью надстройки «priceH» соответствующие файлы html: price1.html и price2.html. Файлы html мы выложим на сервер для прямого просмотра, файл price1.xls заархивируем (в bat-файл надо записать: «C:\pautil\pacomp.exe -a price1.zip price1.xls»), а вместо файла price2.xls заархивируем price2.html (bat-файл: «C:\pautil\pacomp.exe -a price2.zip price2.html», во второй строке: «C:\pautil\pacomp.exe -a price2.zip dn.css»). Для разнообразия.

Таким образом, у нас всего получилось два zip-архива (18 и 19 килобайт) и два файла html (14 и 88 килобайт). Мы должны сделать для всех них гиперссылки (с указанием типа файла и размера) и записать их коды в файл pricelist.html, ниже кода «навигационной панели», вместо текста о видеомагнитофонах импортных:

<p>

<a href="price1.html">Металлопрокат, html, 14 Kb</a> <br>

<a href="price1.zip">Металлопрокат, xls в zip-архиве, 18 Kb</a> <br>

<a href="price2.html">Компьютеры, html, 88 Kb</a> <br>

<a href="price2.zip">Компьютеры, htm в zip-архиве, 19 Kb</a>

Метка <p> в начале кода означает, что мы помещаем его в новый абзац, а новые для вас метки <br> - перевод на новую строку (чтобы ссылки на прайс-листы расположились столбиком, друг под другом).

Полный текст получившегося файла находится на сайте (\omne\text\pricelist1.txt) и по адресу http://figur.ir2.ru/html/omne/text/pricelist1.txt.

Теперь вы можете заново записать получившийся файл pricelist.html на свой сайт, а под именами price1.html, price1.zip, price2.html, price2.zip - свои собственные прайс-листы. Разумеется, если у вас только один прайс-лист, то файлы price2.html и price2.zip (а также ссылки на них в pricelist.html) вам не понадобятся.

ex05 Файлы примеров: htm2 (htm2)