Новые книги

Сегодня, чтобы достучаться до ваших клиентов, недостаточно иметь хороший продукт, нужна платформа для его продвижения. Эта книга – пошаговое руководство по ее созданию. Никогда еще сделать это не было проще, дешевле и реальнее, чем сейчас. Майкл Хайятт, бывший СЕО и нынешний председатель правления одного из крупнейших издательств в США Thomas Nelson, приглашает читателя в новый мир социальных медиа и рассказывает, как достичь успеха с их помощью. Автор учит читателей не только расширять свою представленность в сети, но и получать благодаря этому стабильный доход.
 Второе издание популярного справочника полностью переработано и расширено с целью предоставить читателю наиболее полное описание средств разработки, конфигурирования, использования и обслуживания сетей TCP/IP и соответствующих служб.

Книга написана увлекательно и доступно. Она содержит дополнительные материалы о нескольких протоколах Интернета, используемых серверами и браузерами WWW, а также рассматривает все последние изменения в этой области. В книгу включены главы о новом стандарте безопасности IP и протоколе IP следующего поколения, известном как IPng или IPv6. Рисунки и таблицы наглядно показывают влияние средств безопасности IP и IPng на существующие сетевые среды.

Издание содержит следующие дополнительные разделы:

• Безопасность IP и IPv6

• Описание средств WWW, новостей Интернета и приложений для работы с gopher

• Подробное описание серверов имен доменов (DNS), маски подсети и бесклассовой маршрутизации в Интернете

• Таблицы и протоколы маршрутизации

• Руководство по реализации средств безопасности для каждого из протоколов и приложений

• Примеры диалогов с новыми графическими инструментами

Новое издание бестселлера по TCP/IP станет незаменимым помощником для разработчиков сетей и приложений, для сетевых администраторов и конечных пользователей.

Формат печати


Формат блока REPORТ. (Генерация отчетов).

REPORT report-name (argument-list)
DEFINE variable-list { type | LIKE table-column |
   RECORD  { LIKE table.* | variable-list  type [,...]
                            END RECORD } }[,...]
[OUTPUT                       по умолчанию:
  [REPORT TO { "filename | PIPE "program" | PRINTER }    ]
                                 SCREEN
  [ LEFT   MARGIN integer ]         5
  [ RIGHT  MARGIN integer ]        132
  [ TOP    MARGIN integer ]         3
  [ BOTTOM MARGIN integer ]         3
  [ PAGE  LENGTH  integer ]         66
]
[ORDER [EXTERNAL] BY  sort-list ]     подсписок  переменных,
                                      входящих в аргументы


FORMAT EVERY ROW простейший оператор формата.
В этом случае нельзя использовать контрольные блоки.
либо
FORMAT включает несколько контрольных блоков, которые содержат обычные операторы 4GL и операторы применимые только в REPORТ

  ON EVERY ROW                  выводит строку
        statement
          . . .
  FIRST PAGE HEADER        выводит заголовок первой страницы
        statement
          . . .
  ON LAST ROW             окончание REPORT (подведение итогов)
        statement
          . . .
  PAGE HEADER                 заголовок каждой страницы
        statement
          . . .
  PAGE TRAILER                 в конце каждой страницы
        statement
          . . .
  BEFORE GROUP OF variable      в начале группы строк
        statement
          . . .
   . . .
  AFTER GROUP OF  variable       в конце группы строк
        statement
          . . .
   . . .
END REPORT


В контрольных блоках кроме обычных операторов 4GL используются:

NEED num-expr LINES     если на странице  осталось  менее  
                        expr строк, то начать с новой страницы.
PAUSE ["Сообщение"]     вывести  Сообщение на экран 
                        и ждать нажатия CR
PRINT FILE "filename"   вывести на печать содержимое файла
SKIP { integer LINE | TO TOP OF PAGE }
PRINT   список выражений [;]
       вывести на печать [не переводя строку]
     в REPORT можно использовать следующие функции:
num-expr SPACES                          вставить пробелы
char-exp WORDWRAP [RIGHT MARGIN integer] вывести длинную строку
LINENO                            номер строки на странице
PAGENO                            номер печатаемой страницы

Агрегатные функции:

[GROUP]   functioп   [WHERE  условие]
[для группы строк] применить функцию [только для строк, 
                                      удовлетворяющих условию]
где functioп может быть:
{ COUNT(*) | PERCENT(*) | { SUM | MAX | MIN | AVG }(expr) }
           в процентах от                      среднее
         общего кол-ва строк

Обычные функции 4GL

Назад || Оглавление || Вперед