Программирование на языке С



   Бюсты каслинское литье | смотреть русское порно без регистрации       отзывы об отдыхе | скупка картриджей        visit site | Shoebuy Coupons Deals   


Программирование с C++ Builder

Интерес к программированию постоянно растет. Это связано с развитием и внедрением в повседневную жизнь информационных технологий. Если человек имеет дело с компьютером, то рано или поздно у него возникает желание, а иногда и необходимость, научиться программировать. Среди пользователей персональных компьютеров в настоящее время наиболее популярна операционная система Windows, и естественно, что тот, кто хочет программировать, хочет и писать программы, которые будут работать в Windows.
Несколько лет назад рядовому программисту оставалось только мечтать о создании своих собственных программ, работающих в Windows. Единственным средством разработки был Borland C++ for Windows, явно ориентированный на профессионалов, обладающих серьезными знаниями и опытом. Бурное развитие вычислительной техники, потребность в эффективных средствах разработки программного обеспечения привели к появлению на рынке целого ряда систем программирования, ориентированных на так называемую "быструю разработку", среди которых особо следует отметить Microsoft Visual Basic и Borland Delphi. В основе систем быстрой разработки (RAD-систем, Rapid Application Development — среда быстрой разработки приложений) лежит технология визуального проектирования и событийного программирования, суть которой заключается в том, что среда разработки берет на себя большую часть работы по генерации кода программы, оставляя программисту работу по конструированию диалоговых окон и написанию функций обработки событий. Производительность программиста при использовании RAD систем фантастическая!
Успех и популярность Delphi вызвал желание фирмы Borland распространить методы быстрой разработки на область профессионального программирования, что и привело к появлению Borland C++ Builder.

Предисловие

Начало работы
Запускается C++ Builder обычным образом, т. е. выбором из меню Borland C++Builder 6 команды C++Builder 6

Первый проект
Для демонстрации возможностей C++ Builder и технологии визуального проектирования и событийного программирования займемся разработкой программы, используя которую можно вычислить силу тока в электрической цепи. Сила тока вычисляется по известной формуле: I = U/R, где U — напряжение источника (вольт); R — величина сопротивления (Ом). Вид диалогового окна программы во время ее работы (после щелчка на кнопке Вычислить)

Форма
Компоненты
Событие и функция обработки события
Редактор кода
Система подсказок
Навигатор классов
Шаблоны кода
Справочная система
Сохранение проекта
Компиляция

Графика
C++ Builder позволяет программисту разрабатывать программы, которые работают с графикой. В этой главе рассказывается, что надо сделать, чтобы на поверхности формы появилась картинка, сформированная из графических примитивов, или иллюстрация, созданная в графическом редакторе или полученная в результате сканирования фотографии.

Холст
Карандаш и кисть
Графические примитивы
Линия
Ломаная линия
Прямоугольник
Многоугольник
Окружность и эллипс
Дуга
Сектор

Мультимедиа
Большинство современных программ, работающих в среде Windows, являются мультимедийными. Такие программы обеспечивают просмотр видеороликов и мультипликации, воспроизведение музыки, речи, звуковых эффектов. Типичные примеры мультимедийных программ — игры и обучающие программы. C++ Builder предоставляет в распоряжение программиста два компонента, которые позволяют разрабатывать мультимедийные программы

В этой главе...
Компонент Animate
Компонент MediaPlayer
Воспроизведение звука
Просмотр видеороликов
Создание анимации

Базы данных
В этой главе на примере базы данных "Ежедневник" показан процесс создания приложения работы с локальной базой данных. С точки зрения пользователя, база данных — это программа, которая обеспечивает работу с информацией. При запуске такой программы на экране, как правило, появляется таблица, просматривая которую можно найти нужные сведения. Если система позволяет, то пользователь может внести изменения в базу данных, например, добавить новую информацию или удалить ненужную.

База данных и СУБД
Локальные и удаленные базы данных
Структура базы данных
Псевдоним
Компоненты доступа и манипулирования данными
Создание базы данных
Доступ к базе данных
Отображение данных
Манипулирование данными
Выбор информации из базы данных

Компонент программиста
C++ Builder позволяет программисту создать свой собственный компонент, поместить его на одну из вкладок палитры компонентов и использовать при разработке приложений точно так же, как и другие компоненты C++ Builder. Наиболее просто создать компонент программиста можно на базе существующего (базового) компонента путем расширения или ограничения возможностей базового компонента. Например, компонент, обеспечивающий ввод и редактирование числа, логично создать на основе компонента, обеспечивающего ввод строки символов.

Выбор базового класса
Создание модуля компонента
Тестирование компонента
Установка компонента
Ресурсы компонента
Установка
Проверка компонента
Настройка палитры компонентов

Консольное приложение
Хотя эта книга посвящена программированию в Windows, нельзя обойти вниманием так называемые консольные приложения. Консольное приложение — это приложение, которое для взаимодействия с пользователем не использует графический интерфейс. Устройством, обеспечивающим взаимодействие с пользователем, является консоль — клавиатура и монитор, работающий в режиме отображения символьной информации (буквы, цифры и специальные знаки).

Ввод/вывод
Функция printf
Функция scanf
Создание консольного приложения

Справочная система
Каждая программа должна обеспечивать пользователя справочной информацией. Существует два способа отображения справочной информации: классический (рис. 8.1, левый) и современный, в "интернет-стиле" (рис. 8.1, правый). Классический способ отображения справочной информации применяется большинством приложений, в том числе и C++ Builder. Отображение справочной информации в интернет-стиле используется в программных продуктах Microsoft и, в последнее время, в продуктах других разработчиков программного обеспечения. Классическая справочная система представляет собой набор файлов, используя которые программа Winhelp, являющаяся составной частью Windows, выводит справочную информацию. Основой такой справочной системы являются hip-файлы.

Создание справочной системы Help Workshop
Подготовка справочной информации
Проект справочной системы
Вывод справочной информации
HTML Help Workshop
Подготовка справочной информации
Использование Microsoft Word
Использование HTML Help Workshop
Создание файла справки
Компиляция

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

Программа InstallShield Express
Новый проект
Структура
Выбор устанавливаемых компонентов
Конфигурирование системы пользователя
Настройка диалогов
Системные требования
Создание образа установочной дискеты

Примеры программ
Тестирование широко применяется для оценки уровня знаний в учебных заведениях, при приеме на работу, для оценки квалификации персонала учреждений, т. е. практически во всех сферах деятельности человека. Испытуемому предлагается ряд вопросов (тест), на которые он должен ответить. Обычно к каждому вопросу дается несколько вариантов ответа, из которых надо выбрать правильный. Каждому варианту ответа соответствует некоторая оценка. Суммированием оценок за ответы получается общий балл, на основе которого делается вывод об уровне подготовленности испытуемого.

Система проверки знаний
Требования к программе
Файл теста
Форма приложения
Отображение иллюстрации
Доступ к файлу теста
Текст программы
Игра "Сапер"
Правила игры и представление данных
Форма приложения

Приложение. C++ Builder — краткий справочник
Приложение представляет собой краткий справочник по компонентам и функциям C++ Builder. В этом разделе приведено краткое описание базовых компонентов C++ Builder. Подробное описание этих и других компонентов можно найти в справочной системе.

Компоненты
Форма
Label
Edit
Button
Memo
RadioButton
CheckBox
ListBox
ComboBox

Система программирования Turbo Pascal

Система программирования Турбо Паскаль представляет собой единство двух в известной степени самостоятельных начал: компилятора с языка программирования Паскаль (язык назван в честь выдающегося французского математика и философа Блеза Паскаля (1623-1662)) и некоторой инструментальной программной оболочки, способствующей повышению эффективности создания программ. Для краткости условимся в дальнейшем называть реализуемый компилятором язык программирования Паскаль - языком Турбо Паскаля, а разнообразные сервисные услуги, представляемые программной оболочкой, - средой Турбо Паскаля.
Среда Турбо Паскаля - это первое, с чем сталкивается любой программист, приступающий к практической работе с системой. Если Вы по каким-либо причинам не собираетесь писать собственные программы, можно пропустить эту главу, в которой приводятся минимальные сведения об основных приемах работы в среде Турбо Паскаля. Более полные сведения о ней содержатся в прил. 1.

Знакомство со средой Турбо Паскаля
Система Турбо Паскаль довольна значительна по объему. Она поставляется на нескольких дистрибутивных дискетах и устанавливается на жесткий диск. При развертывании системы на жестком диске обычно создается каталог с именем ТР (или PAS, TURBOPAS, PASCAL и т.п.), в который помещаются все файлы с дистрибутивных дискет. Для вызова Турбо Паскаля необходимо отыскать в древовидной структуре каталогов ПК этот каталог и в нем файл TURBO.EXE. Этот файл содержит готовую к работе диалоговую систему программирования Турбо Паскаль. В него входят минимально необходимые части Турбо Паскаля (текстовый редактор, компилятор, компоновщик, загрузчик).

Как начать работу с Турбо Паскалем
Вид экрана после вызова Турбо Паскаля
Функциональные клавиши
Текстовый редактор
Основные приемы работы в среде Турбо Паскаля
Прогон и отладка программы

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

Примеры программ
Ваша первая программа
Пример 2.1
Вид экрана с окнами редактора и программы
Типы данных
Пример 2.2
Преобразованя типов и действия над ними
Пример 2.3
Операторы языка
Операторы языка

Элементы языка
Алфавит языка Турбо Паскаль включает буквы, цифры, шестнадцатеричные цифры, специальные символы, пробелы и зарезервированные слова. Буквы - это буквы латинского алфавита от а до z и от А до Z, а также знак подчеркивания _ (код ASCII 95). В Турбо Паскале нет различия между прописными и строчными буквами алфавита, если только они не входят в символьные и строковые выражения.

Иденитификаторы
Примеры правильных идентификаторов:
Примеры неправильных идентификаторов:
Константы
Выражения
Примеры выражений:
Операции
Пример 3.1

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

Структура типов данных В Турбо...
Простые типы
Порядковые типы
Вещественные типы
Структурированные типы
Массивы
Записи
Множества
Пример определения и задания множеств: type
Пример 4.1 Program Primer_numbers_detect;

Файлы
Под файлом понимается либо именованная область внешней памяти ПК (жесткого диска, гибкой дискеты, электронного «виртуального» диска), либо логическое устройство - потенциальный источник или приемник информации. Любой файл имеет три характерные особенности. Во-первых, у него есть имя, что лает возможность программе работать одновременно с несколькими файлами. Во-вторых, он содержит компоненты одного типа. Типом компонентов может быть любой тип Турбо Паскаля, кроме файлов. Иными словами, нельзя создать «файл файлов». В-третьих, длина вновь создаваемого файла никак не оговаривается при его объявлении и ограничивается только емкостью устройств внешней памяти.

Доступ к файлам
Имена файлов
Логические устройства
Инициализация файла
Процедуры и функции для работы с файлами
Текстовые файлы
Типизированные файлы
Нетипизированные файлы

Указатели и динамическая память
Все переменные, объявленные в программе, размещаются в одной непрерывной области оперативной памяти, которая называется сегментом данных. Длина сегмента данных определяется архитектурой микропроцессоров 80x86 и составляет 65536 байт, что может вызвать известные затруднения при обработке больших массивов данных. С другой стороны, объем памяти ПК (обычно не менее 640 Кбайт) достаточен для успешного решения задач с большой размерностью данных. Выходом из положения может служить использование так называемой динамической памяти.

Динамическая память
Адреса и указатели
Схема формирования адреса в ПК
Оъбявление указателей
Списочная структура данных
Выделение и освобождение динамической память
Расположение кучи в памяти ПК
Состояние динамической памяти
Использование указателей
Пример 6.1

Типизированные константы
Типизированным константам можно присваивать другие значения в ходе выполнения программы, поэтому фактически они представляют собой переменные с начальными значениями. Типизированная константа приобретает указанное в ее объявлении значение, т.е. инициируется, лишь один раз: к моменту начала работы программы. При повторном входе в блок (процедуру или функцию), в котором она объявлена, инициация типизированной константы не производится и она сохраняет то значение, которое имела к моменту выхода из блока.

Константы простых типов и типа String
Примеры объявлений:
Константы - массивы
Константы - записи
Константы - множества
Константы - указатели

Процедуры и функции
Как отмечалось в гл.2, процедуры и функции представляют собой относительно самостоятельные фрагменты программы, оформленные особым образом и снабженные именем. Упоминание этого имени в тексте программы называется вызовом процедуры (функции). Отличие функции от процедуры заключается в том, что результатом исполнения операторов, образующих тело функции, всегда является некоторое единственное значение или указатель, поэтому обращение к функции можно использовать в соответствующих выражениях наряду с переменными и константами. Условимся далее называть процедуру или функцию общим именем «подпрограмма», если только для излагаемого материала указанное отличие не имеет значения.

Локализация имен
Пример структуры программы
Описание программы
Заголовок
Параметры
Пример 8.1
Пример 8.2
Параметры - массивы и параметры - строки
Параметры - функции и параметры - процедуры.
Пример 8.3.

Модули
Стандартный Паскаль не предусматривает механизмов раздельной компиляции частей программы с последующей их сборкой перед выполнением. Более того, последовательное проведение в жизнь принципа обязательного описания любого объекта перед его использованием делает фактически невозможным разработку разнообразных библиотек прикладных программ. Точнее, такие библиотеки в рамках стандартного Паскаля могут существовать только в виде исходных текстов и программист должен сам включать в программу подчас весьма обширные тексты различных поддерживающих процедур, таких, как процедуры матричной алгебры, численного интегрирования, математической статистики и т.п.

Структура модулей
Заголовок модуля и связь модулей друг с другом
Интерфейсная часть
Исполняема часть
Инициирующая часть
Компиляция модулей
Доступ к объявленным в модуле объектам
Пример 9.1

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

Основные принципы ООП
Постановка учебной задачи
Экран, создаваемый учебной программой
Создание объектов

Другие возможности Турбо Паскаля
С помощью внешних процедур (функций) можно осуществить вызов из программы процедур или функций, написанных на языке ассемблера. Ассемблер обеспечивает компиляцию программ, написанных на машинно-ориентированном языке программирования низкого уровня. В Турбо Паскале есть собственный встроенный ассемблер см. гл.12). В этом разделе речь идет о программах, написанных и откомпилированных с помощью внешнего ассемблера, такого как, например, ассемблер фирмы MicroSoft или Turbo Assembler фирмы Borland.

Внешние процедуры (функции)
Использование встроенных машин кодов
Обращения к функциям операционной системы
Пример 11.1.
Пример 11.2
Поддержка процедур обработки прерываний
GETINTVEC. Возвращает вектор прерывания...
Запуск внешних программ
PARAMCOUNT. Возвращает общее количество...
Оверлей

Встроенный ассемблер
Ассемблером называется машинно-зависимый компилятор, преобразующий специальным образом составленные текстовые строки в машинные инструкции. Как и любой другой компилятор, ассемблер упрощает разработку программ за счет того, что предоставляет пользователю доступ к кодам машинных инструкций и операндам с помощью символьных имен. В этой главе рассматриваются приемы программирования с помощью ассемблера, встроенного в компилятор Турбо Паскаля. Встроенный ассемблер имеется в версиях 6.0 и 7.0 Турбо Паскаля и в руках опытного программиста представляет собой мощный инструмент, позволяющий «выжать» из ПК все возможное.

Общее описание МП 8086/8088
Регистры
Адресация
Примеры 1
Примеры 2
Система команд
Спецификация встроенного ассемблера
Оператор ASM
Синтаксис ассемблерных команд
Примеры 3

Использование библиотеки CRT
Во многих случаях стандартные для Паскаля возможности ввода/вывода данных с помощью процедур Read, ReadLn, Write, WriteLn оказываются явно недостаточными для разработки удобных в использовании диалоговых программ. Например, процедуры Read/ReadLn вводят с клавиатуры только типизированные данные, причем с обязательным эхо-повтором набираемых символов на экране. С их помощью нельзя определить факт нажатия какой-либо специальной клавиши (функциональной клавиши, клавиши управления курсором и т.п.). Процедуры Write/WriteLn выводят сообщения, начиная с того места на экране, где в данный момент находится курсор, причем по мере вывода курсор автоматически сдвигается на экране, а если очередной символ выводится в самом нижнем правом углу экрана, осуществляется «прокрутка» экрана: его содержимое сдвигается вверх на одну строку.

Программирование клавиатуры
Текстовый вывод на экран
Примерно в это же время IBM выпустила
Программирование звукового генератора

Использование библиотеки GRAPH
Начиная с версии 4.0, в состав Турбо Паскаля включена мощная библиотека графических подпрограмм Graph, остающаяся практически неизменной во всех последующих версиях. Библиотека содержит в общей сложности более 50 процедур и функций, предоставляющих программисту самые разнообразные возможности управления графическим экраном. Для облегчения знакомства с библиотекой все входящие в нее процедуры и функции сгруппированы по функциональному принципу.

Переход в графический режим и возврат
Краткая характеристика графических режимов
Включение драйвера и шрифтов в тело программы
Процедуры и функции
Координаты, окна, страницы
GetMaxX и GetMaxY
GetX и GetY
MoveTo
Линии и точки
GetPixel

Введение в Turbo Vision
В этой главе мы попробуем разработать программу, которая использует некоторые возможности Turbo Vision. Пусть, например, нам необходимо создать простейшую информационную систему - нечто вроде электронной записной книжки. Предполагается, что данные, используемые этой системой, будут храниться в виде записей в дисковом файле. Наша задача - разработать удобную диалоговую программу, облегчающую доступ к файловым данным.

Простейшая программа в Turbo Vision
Вид экрана для простейшей программы
Цветовая палитра
Палитра объекта TScroller
Связь палитр TScroller и TWindow
Использование коллекций
Окно с текстом программы.
Окно с отсортированным тестом программы
Указатель на элемент списка
Диалоговое окно выбора режима

Общая характеристика объектов
Все свойства Turbo Vision заключены в полях и методах входящих в библиотеку объектов. Каждый объект предназначен для тех или иных целей, поэтому, если Вы хотите использовать какие-то возможности Turbo Vision, Вы должны создать и использовать экземпляры объектов с нужными Вам свойствами. Этот процесс не представляет никакой сложности: вспомните обычные переменные или константы Турбо Паскаля; если, например, в программе понадобится осуществить преобразование строковых данных, Вы объявляете переменную типа String, для реализации математических вычислений - переменную типа Real и т.д. Точно также обстоит дело и с объектами: для создания окна Вы можете объявить переменную типа TWindow, для использования отсортированной коллекции строк - переменную типа TStringCollection и т.д.

Структура объектов
Примитивные объекты Turbo Vision
Контроллеры
Абстрактные объекты и методы
Примером псевдоабстрактного метода...
Иерархия объектов Turbo Vision
Функциональность объектов
Видимые и невидимые объекты
Обзор видимых элементов
Группы видимых элементов

Видимые элементы
Любой видимый элемент Turbo Vision имеет два важнейших свойства: он полностью контролирует изображение в пределах выделенного ему участка экрана и знает, как обрабатывать связанные с этим участком события - нажатие на клавиши или отметку мышью. Эти свойства определяются двумя псевдоабстрактными методами объекта TView (этот объект является родителем всех остальных видимых элементов Turbo Vision): Draw и HandleEvent. Метод Draw знает, как рисовать объект, но не знает, когда это нужно делать. Метод HandleEvent, наоборот, знает когда, но не знает как. Эти методы в наибольшей степени воплощают основной принцип программ, управляемых событиями: процесс создания изображений и процесс обработки событий - это два разных процесса в том смысле, что в первом случае мы сообщаем программе как создается изображение, а во втором - когда это нужно делать.

Территориальность
Поле Options
Разряды поля Options
Поле GrowMode
Разряды поля GrowMode
Поле DragMode
Разряды поля Drag
Поле State
Разряды поля State
Воздействие на состояние поля State

События
События представляют собой небольшие пакеты информации, которыми обмениваются видимые элементы и которые создаются средой Turbo Vision в ответ на те или иные действия пользователя. Нажатие на любую клавишу или манипуляция мышью порождает событие, которое передается по цепочке активности видимых элементов до тех пор, пока не найдется элемент, знающий как обработать это событие. Может оказаться, что в программе нет ни одного элемента, способного обработать событие. В этом случае обычно ничего не происходит, по умолчанию Turbo Vision просто удаляет ненужное событие, однако программист может предусмотреть свою реакцию в этой ситуации.

Природа событий
Природа событий
Модификация и обработка событий
События, определенные пользователем
Маскирование и очистка событий
Перекрытие HandleEvent
Перекрытие GetEvent
Неиспользованное время
Ненужные события
Взаимодействие видимых элементов

Коллекции
Одним из недостатков языка Паскаль (и Турбо Паскаль) является невозможность создания и использования в программе массивов с переменной размерностью - так называемых динамических массивов. Этот недостаток особенно ощутимо сказывается в диалоговых программах, работа которых в существенной своей части определяется действиями пользователя. Если программист заранее не знает, какие именно требования к используемым в программе массивам предъявит пользователь, он обычно резервирует для них максимально возможные объемы памяти или размещает массивы в куче. И тот и другой способы нельзя считать вполне удовлетворительными: в первом случае возникают неестественные ограничения на предельно возможные размеры массивов или выделенная под их размещение память расходуется нерационально, во втором случае приходится прибегать к дополнительным ухищрениям, чтобы организовать индексированный доступ к динамической памяти.

Элементы коллекций
Создание коллекций
Доступ к элементам коллекций
Отсортированные коллекции
Коллекции строк
Полиформные коллекции

Потоки
Основным способом хранения данных в Turbo Vision является их размещение в полях объектов. Это, разумеется, не означает, что Ваша программа должна использовать исключительно поля объектов и/или методы доступа к ним - программа в среде Turbo Vision - это прежде всего программа на Турбо Паскале, а следовательно, Вы можете использовать в ней и все другие средства этой системы программирования. Однако в ходе изучения Turbo Vision Вы уже, очевидно, смогли по достоинству оценить мощные возможности, предоставляемые техникой объектно-ориентированного программирования и средой Turbo Vision, и, надеюсь, вряд ли захотите широко использовать в своей программе неинкапсулированные данные.

Сущность потоков
Регистрация объектов
Создание и удаление потока
Работа с потоком
Методы Put и Get
Методы Store и Load
Обработка ошибок
Прямой доступ к потокам

Ресурсы Turbo Vision
Ресурсы - это индексированные потоки. Главное отличие ресурсов от потоков заключается в том, что к объектам, хранящимся в ресурсе, можно обращаться по ключам - уникальным строкам, идентифицирующим объекты. Таким образом, ресурсы спроектированы специально для облегчения произвольного доступа к потокам. Использование ресурсов открывает перед Вами ряд интересных возможностей.

Ресурсы Turbo Vision
Создание ресурса
Использование ресурса
Строковые ресурсы

Объекты-контролеры
При разработке диалоговых программ часто бывает необходимо не только предоставить пользователю возможность ввода данных, но и проверить их допустимость в данном контексте программы. Если, например, пользователь должен вводить целочисленные величины, то в набранной им строке могут содержаться только цифры, а если от него ожидается ввод имени файла, строка должна представлять собой правильный маршрут поиска дискового файла. В этой небольшой главе рассматривается имеющаяся в Turbo Vision группа объектов-контролеров, упрощающих решение подобного рода задач.

Типы объектов-контролеров
TPXPictureValidator
TRangeValidator
TLookupValidator
TStringLookupValidator
Использование объектов - еонтроллеров
Контроль текстового ввода
Проверка других объектов

Практика использования
Программирование с использованием библиотеки Turbo Vision весьма специфично по сравнению с обычным программированием в среде Турбо Паскаля. Эта специфика прежде всего связана с широко используемым в Turbo Vision механизмом ООП: как правило, нельзя чисто механически перенести старую программу в новую объектно-ориентированную среду, обычно для этого требуется переосмысление всего проекта в целом. Другая особенность Turbo Vision - интенсивное использование динамической памяти: если Вы не имеете достаточного опыта работы с кучей, у Вас могут быть проблемы, связанные с динамически размещаемыми объектами. И, наконец, программы, управляемые событиями - это еще одна весьма специфичная особенность Turbo Vision, которая вначале может создавать определенные трудности в отладке.

Примеры программных реализаций
Контроль за динамической памятью
Строка статуса
Меню
Двухуровневое меню
Диалоговое окно
Диалоговое окно со строкой ввода и кнопками
Использование строки ввода
Пример диалогового окна
Окно с текстом

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

Элементы диалоговой среды
Элементы диалоговой среды Турбо Паскаля
Работа с окнами
Меню опции OPTIONS
Диалоговое окно опции Options/Compiler
Options/Environment/Preferences
Options/Environment/Editor
Options/Enviroment/Startup
Меню опции WINDOW
Меню опции HELP

Варианты кодировки знакогенераторов ПК
Стандартный знакогенератор ПК IBM PC имеет кодировку символов, изображенную на рис.2.1. Символы с кодами от 0 до 127, образующие первую половину символов знакогенератора (рис.П2.1, а), построены по стандарту ASCII и одинаковы на всех IBM-совместимых ПК. Вторая половина символов (коды 128...255) могут отличаться на ПК разного типа.

Сообщения и коды ошибок
Среда Турбо Паскаля дает исчерпывающую информацию о характере и месте обнаруженной компилятором ошибки. При обнаружении ошибки среда автоматически загружает в окно редактора исходный файл и помещает курсор около того места, где в исходном тексте обнаружена ошибка. При этом в верхней строке редактора появляется диагностическое сообщение. После нажатия на любую клавишу (кроме FI) верхняя строка восстанавливает свой первоначальный вид и среда переходит к режиму редактирования. Если после появления сообщения об ошибке нажать F1, на экране появится окно справочной службы с детальной информацией об ошибке и рекомендациями по ее устранению. Некоторые ошибки в исходном тексте обнаруживаются не сразу, а в ходе продолжающегося контекстного разбора. Например, несоответствие типов в операторе присваивания не может быть обнаружено до тех пор, пока не будет вычислено целиком выражение в правой части этого оператора.

Сообщения об ошибках периода компиляции
Ошибки во время выполнения программ
Ошибки, обнаруживаемые ДОС
Ошибки ввода-вывода
Критические ошибки
Фатальные ошибки

Стандартные библиотечные модули
Модуль SYSTEM является основной библиотекой Турбо Паскаля. Он реализует подпрограммы для всех встроенных возможностей, таких как ввод/вывод, обработка строк, эмуляция арифметического сопроцессора, управление оверлеями и динамическое распределение памяти. Модуль SYSTEM используется автоматически любым модулем или программой и никогда не указывается в предложении USES.

Модуль SYSTEM
Константы
Переменные
Стандартные процедуры и функции
Переменные
Процедуры
Функции
Модуль DOS
Константы
Типы

Тексты программ


Программа определения дня недели
Определение биоритмов
Игра Ним
Программа Notebook

Начинаем работать в Borland C++ Builder

Borland C++ Builder - выпущенное недавно компанией Borland средство быстрой азработки приложений, позволяющее создавать приложения на языке C++, используя при этом среду разработки и библиотеку компонентов Delphi. В настоящей статье рассматривается среда разработки C++ Builder и основные приемы, применяемые при проектировании

Начинаем работать в Borland C++ Builder
C++ Builder представляет собой SDI-приложение, главное окно которого содержит настраиваемую инструментальную панель (слева) и палитру компонентов (справа). Помимо этого, по умолчанию при запуске C++ Builder появляются окно инспектора объектов (слева) и форма нового приложения (справа). Под окном формы приложения находится окно редактора кода.

Среда разработки C++ Builder
Среда разработки C++ Builder
Компоненты C++ Builder
Использование видимых компонентов
Инспектор объектов
Свойства компонентов
События
Прототип обработчика событий.
Методы
Менеджер проектов

Изучаем компоненты Borland C++ Builder
Для эффективной разработки пользовательских интерфейсов приложений C++ Builder нередко возникает необходимость в манипулировании компонентами на формах.. Большинство операций для манипулирования компонентами находятся в меню Edit: К различным опциям этого меню следует обращаться после того, как на форме вы ран один или несколько компонентов, свойства которых требуется изменить.

Выбор компонентов для групповых операций
Установка разделяемых свойств компонентов
Выбор компонентов для групповых операций
Установка разделяемых свойств компонентов
Изменение размера компонентов
Изменение размера компонента
Установка свойств компонентов EDIT/SIZE
Выравнивание компонентов
Выравнивание компонентов View/Alignment Palette
Выравнивание компонентов с Edit/Align

Работа с базами данных в Borland C++ Builder
Используя Borland C++ Builder, можно создать приложения, работающие как с однопользовательскими базами данных (БД), так и с серверными СУБД, такими как Oracle, Sybase, Informix, Interbase, MS SQL Server, DB2, а также с ODBC-источниками. Возможности C++ Builder, связанные с созданием приложений, использующих базы данных, весьма обширны для того, чтобы описать их в одной статье. Поэтому сегодня мы рассмотрим лишь простейшие возможности работы с таблицами баз данных.

Компонент TDataSource
Компонент TTable
Компонент TField
Формирование списка полей
Сформированный список полей
Результат переноса из Fields Editor
Компонент TDBGrid
Установка свойств столбцов DBGrid
Диалоговая панель Input Mask Editor
Пример 1. Разработка простейшего приложения

Работа с базами данных в Borland C++ Builder (2 часть)
Borland C++ Builder обладает широкими возможностями доступа к базам данных. Так как базы данных предназначены не только для хранения, но и для выбора и обработки информации, одним из важнейших аспектов их использования является создание запросов к ним. Поэтому сегодня мы рассмотрим, как в C++ Builder решаются проблемы построения запросов.
Запрос в C++ Builder - это объект, представляющий собой набор данных. Обычно для создания запроса используется компонент TQuery - потомок абстрактного класса TDataSet.

Компонент TQuery
Visual Query Builder
Выбор псевдонима базы данных
Окно Visual Query Builder
Таблица, выбранная из списка
Создание комбинированного запроса
Выбор критерия соединения таблиц
Выбор опции для колонки
Вызов диалоговой панели Expression .
Диалоговая панель Options

Настройка параметров доступа к данным в C++ Builder
Если созданное с помощью С++ Builder приложение в процессе работы обращается к базам данных, оно, как правило, использует для этой цели библиотеку BDE (Borland Database Engine), основанную на технологии IDAPI (Integrated Database Application Program Interface). Эта библиотека устанавливается автоматически при установке С++ Builder. По умолчанию она устанавливается в каталог C:\Program Files\Borland\Common Files\BDE.

Связь приложений с источниками с BDE
Утилита настройки BDE
Настройка драйверов баз данных
Настройка драйверов баз данных - 2
Создание и настройка псевдонимов баз данных
Выбор псевдонима БД и установка параметров
Создание нового псевдонима БД
Системные настройки BDE
Страница System утилиты конфигурации BDE.
Отображение даты, времени и чисел

Создание отчетов
Для генерации отчетов в C++ Builder используется страница QReport на палитре компонентов. Этот набор компонентов позволяет проектировать отчеты на основе таблиц, запросов, списков, текстовых файлов, массивов, используя дизайнер форм C++ Builder.

Создание простого отчета
Создание заголовка отчета
Модификация табличного отчета
Отчет с заголовком и колонтитулами
Создание отчетов "master-detail"
Установка связи master/detail
Форма отчета "master-detail".
Отчет "master-detail".
Отображение графических и мемо-полей в отчетах
TDBImage для графических полей

Поставка приложений, созданных с помощью С++ Builder
При окончательной сборке исполняемого файла (то есть непосредственно перед созданием дистрибутива) следует убрать из исполняемого файла отладочную информацию. Для этого следует из менеджера проектов вызвать диалоговую панель Project Options и нажать кнопку Release.

Поставка исполняемых файлов
Компилятор C++ при сборке приложения.
Установка названия, пиктограммы и имени файла
Установка и настройка Borland Database Engine
Сведения о BDE в реестре Windows 95
Установка компонентов приложения
Способы создания дистрибутивов
Создание дистрибутивов с InstallShield Express
Создание нового дистрибутива
Главный экран InstallShield Express

Перенос приложений C++Builder в архитектуру клиент/сервер
Современные средства разработки информационных систем, к числу которых относится C++Builder, ориентированы на широкую поддержку различных СУБД, как настольных, так и серверных. Построение эффективных и надежных с точки зрения сохранности и защиты данных многопользовательских информационных систем, как правило, производится с использованием последних. Создание приложений в архитектуре клиент/сервер с помощью C++ Builder обладает рядом особенностей, отличающих их от приложений, использующих настольные СУБД. Эти особенности и будут рассмотрены в ближайших нескольких статьях данного цикла.

Модель "хост-компьютер + терминалы"
Автономная персональная обработка данных
Коллективная обработка данных
Пример связи "один-ко-многим"
Особенности архитектуры клиент/сервер
Обработка данных в клиент/сервер
Серверные СУБД и унаследованные данные
Перенос данных с Data Migration Wizard
Создание псевдонима к данным Oracle
Выбор исходной БД в Data Migration Wizard

Практическая работа с компилятором С++Builder 6

В идеальном случае подход к разработке программы делится на три части: вначале получить ясное понимание задачи, потом выделить ключевые идеи, входящие в ее решение, и наконец выразить решение в виде программы.
Объект - это совокупность данных и способов работы с ними. Инкапсуляция - это механизм объединения и защиты данных и кода. Объект - это то, что поддерживает инкапсуляцию. Объединение кода и данных представляет собой "черный" ящик. Объект характеризуется свойствами. Свойства объекта - это данные, методы обра-щения с данными объекта, события, на которые объект может реагировать. Данные объекта представляются полями или записями. Внутри объекта коды и данные могут быть закрытыми (private) для этого объекта или от-крытыми (public). Источниками событий могут быть действия пользователя или результат работы самих объ-ектов. К числу действий пользователя можно отнести: перемещение курсора мыши, нажатие кнопок мыши или клавиш клавиатуры. Обработчик событий отлавливает прерывания осуществляемых действий пользователя или работы других объектов и согласно свойств и методов, определенных у объекта, выполняет запрограммированное событие. Если событие произошло, то выводится соответствующее сообщение.

Расширения файлов в С++Builder 6
Алгоритм создания программного кода на С++.
Создание и сохранение нового проекта.
Способы сохранения проекта
Открытие и использование менеджера проектов.
Открытие менеджера проектов:
Планирование работ - список To-Do List.
Задание информации о версии программы.
Работа с формами.
Включение в проект новой формы.

FAQ по Borland C++ Builder

Данный сборник часто задаваемых вопросов с ответами подготовлен на основе материалов самого мощного русскоязычного форума для программистов в среде C++ Builder. Предполагается периодически пополнять данный сборник и выпускать более новые версии FAQ. Если вы имеете свои вопросы, которые здесь не освещены, пожалуйста, заходите к нам на форум, вам постараются ответить наши посетители.

Как узнать каталог программы?
Как преобразовать строку в wchar_t*?
Принудительный скроллинг в TRichEdit
Как найти имя файла?
Как убрать иконку из программы?
Нужно задержать выполнение...
Как сымитировать клавишу CTRL+V ?
Как написать обработчик...
Как создать Items в PopupMenu?
Как узнать сколько

BASH Programming - Введение

В данном HOW-TO осуществляется попытка предоставить Вам некоторые рекомендации по shell-программированию, основанные только на примерах.
В данном разделе Вы обнаружите небольшие скрипты, которые, вероятно, будут Вам полезны при освоении некоторых приёмов.

Простейшие скрипты
В данном HOW-TO осуществляется попытка предоставить Вам некоторые рекомендации по shell-программированию, основанные только на примерах. В данном разделе Вы обнаружите небольшие скрипты, которые, вероятно, будут Вам полезны при освоении некоторых приёмов.

Простейшие скрипты
Традиционный скрипт "hello world"
Простой скрипт резервного копирования
Теория и быстрый просмотр
Пример: stdout в файл
Пример: stderr в файл
Пример: stdout в stderr
Sample: stderr 2 stdout
Пример: stderr и stdout в файл
Конвейеры

Терминология ... лазеры на максимум ... огонь!
CD-ROM обозначает Compact Disc Read Only Memory (Постоянное Запоминающее Устройство на Компактных Дисках) - носитель использующий оптический лазер, для восприятия микроскопических ям (питов - pits) на диске с изменяющейся степенью отражения. Отражение происходит от слоя аллюминия, который является носителем. Ямки представляют биты информации и настолько миниатюрны, что на диске помещаются несколько миллиардов. Таким образом CD-ROM - высокоемкое устройство памяти.

Поддерживаемые CD-Writers
Поддерживаемые функции
Списки рассылки
Готовим ваш Linux к записи CD-ROM
Установка ядра Linux
Установка ядра Linux - 2
Специальные подсказки для ядра до 2.2.9
Специальные подсказки для ядра 2.2.10 и выше
Специальные подсказки для 2.0 серии
Аппаратура и устройства

Местоположение документа и обратная связь
Ниже я опишу способ, как "справиться" с драйвером Linux консоли. Поэтому, если вы пытаетесь русифицировать консоль в другой системе, то не ожидайте, что описанные приемы будут в ней работать. Взамен проконсультируйтесь с руководством по драйверу терминала и пошлите мне любую информацию, которую вы найдете. В этом случае я смогу включить ее в дальнейшие версии этого документа.

Что я хочу сделать
Настройка вашего окружения
Символы и кодировки
Символы и кодировки - 2
Символы и кодировки - 3
Символы и кодировки - 4
UNICODE
Настройка текстового режима
Консольный драйвер Linux
Консольный драйвер Linux - 2

Шрифты TrueType
Благодаря своей популярности шрифтов в этом формате (в том числе и кириллических) в сети можно найти в очень большом количестве; только, как правило, они имеют не очень высокое качество, и пока мало программ под Unix/Linux могут использовать их без "напильника и кувалды". Но времена меняются -- поддержка ttf уже встроена в X-window, с помощью gnu-библиотеки freetype некоторые программы умеют выводить шрифты на экран и в печать (например, текстовый редактор yudit).

Шрифты TrueType
Библиография
Локализация
TeX/LaTeX
X-window
Русские ссылки
Болгарские ссылки
Cyr-asian

Настройка кеширующего сервера имен
Кеширующий сервер найдет ответ на запрос об имени машины и запомнит его, чтобы ответить, когда вы запросите эту же информацию в следующий раз. Это значительно уменьшит время ожидания ответа при следующем запросе, особенно если у вас медленное соединение.

Запуск named
Запуск named - 2
Как сделать лучше
Поздравления
Но сначала некоторое количество сухой теории
Но сначала некоторое количество сухой теории - 2
Но сначала некоторое количество сухой теории - 3
Наш собственный домен
Наш собственный домен - 2
Наш собственный домен - 3

Нужен ли Вам Linux?
Вы должны решить, что вам необходимо. Более того, Linux дает вам мощь, но он требует некоторого времени для того, чтобы научиться, как обуздывать его. Таким образом, если вам в основном нужно коммерческое программное обеспечение, или вы не чувствуете в себе силы для обучения новым командам и концепциям, то вам лучше поискать что-нибудь другое. Сознавайте, что много новичков сдались под действием начальных трудностей.

Расскажите мне больше
Предварительные концепции
Получение помощи
Соглашения
Для нетерпеливых
Встреча с bash
Файлы: Предварительные замечания
Символьные ссылки
Права доступа и владение
Файлы: Перевод команд

Что такое Emacs?
Emacs является одним из наиболее популярных и мощных текстовых редакторов, используемых в Linux (и Unix). Он находится на втором месте по популярности после vi. Он известен своим огромным количеством возможностей? возможностью легкой настройки и отсутствием ошибок. Огромное количество возможностей и возможность настройки является следствием того, как Emacs был спроектирован и реализован. Без углубления в детали я просто укажу, что Emacs не является ``только редактором''. Это редактор, в большинстве своем написанный на языке программирования Lisp. Основой Emacs является полнофункциональный интерпретатор языка Lisp, который написан на языке C. Только самые базовые и низкоуровневые части Emacs написаны на языке C. Большая часть редактора в действительности написана на языке Lisp.

Версии и переносы на другую системы
Получение Emacs
Запуск Emacs и выход из него
Что вы увидите
Строка меню
Строка статуса и мини-буфер
Немного терминологии
Буфера и файлы
Точка (Point) и Область (Region)
Окна

Упражнения
Загрузите, скомпилируйте и создайте загрузочный диск для . (В качестве их домашней страницы значится , но это не работает) Это всего лишь загрузочная программа ``Hello World!'', состоящая из немногим более 100 строк ассемблерного кода. Было бы не плохо увидеть её преобразованной к формату ассемблера GNU as.

Перевод WintiX, wintix@bk.ru
Настройка
Упражнения
Дополнительные сведения
Настройка
Упражнения
Дополнительные сведения
Настройка
Упражнения
Дополнительные сведения

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

Компьютеры/Материнские платы/BIOS'ы
Различные системы/Материнские платы/BIOS'ы
Не поддерживаются
Лаптопы
Различные системы
PCMCIA
Процессоры/Математические сопроцессоры
Оперативная память
Видеокарты
Карты Diamond

Агент транспортировки почты (MTA)
За последние несколько лет ifmail завоевал большую популярность среди сисопов ftn-узлов, переходящих с привычных ftn-мейлеров под DOS и программ для гейтования в Интернет на UNIX-мейлеры, выполняющие преобразование форматов ftn-rfc. Так как число сисопов увеличивается, то находится все больше людей чувствующих себя не в своей тарелке из-за сложности освоения unix. Этот HOWTO поможет снять непонимание, показав насколько можно успешно администрировать юниксовый rfc-ftn мейлер, используя комбинацию из ifmail, sendmail и INN.

Smail
Sendmail V8
Агент транспортировки новостей
Cnews
INN (InterNet News server)
Mgetty-sendfax
Getty_ps
Читалка новостей
Читалка почты
Упаковщики

Введение в Linux
Linux является полностью свободной реализацией спецификации POSIX, с расширениями SYSV и BSD (что означает, что Linux выглядит как Unix, не основан не на том же исходном коде), Linux доступен и в двоичной форме и в форме исходных текстов. Авторскими правами на него владеет Linus Torvaldsи другие люди, работавшие над ним, и он свободно может распространятся действием терминов, определенных в GNU General Public License (GPL). Копия GPL включена в исходные тексты Linux

Минимальная конфигурация
Достаточная для работы конфигурация
Поддерживаемое оборудование
Поддерживаемое оборудование - 2
Список перенесенных в систему программ
Кто использует Linux?
Анонимное FTP
CDROM
Другие методы получения Linux
Официальный статус Linux

Ядро с фильтрацией пакетов
Это - Linux IPCHAINS-HOWTO; в ``Где?" указан исходный сайт, который содержит последнюю копию этого документа. Вы должны также прочесть Linux NET-3-HOWTO. Также неплохо бы ознакомиться с IP-Masqurading HOWTO, PPP-HOWTO, Ethernet-HOWTO и Firewall HOWTO.

Ipchains
Создание постоянных правил
Маршрутизация, маскарадинг, форвардин
Трехстрочное руководство Русти по маскарадингу
Безвозмездная поддержка: правила WatchGuard
Общие Firewall-ные установки
Частная сеть: традиционные прокси
Частная сеть: прозрачные прокси
Частная сеть: маскарадинг
Общедоступная сеть

Поддержка списка рассылки
Существует список рассылки, учрежденный для дискуссий о различных пакетах программного обеспечения IPX для Linux, описанных в этом документе. Вы можете подписаться на них послав сообщение на адрес `listserv@sh.cvut.cz' со строкой `add linware' в теле сообщения. Чтобы послать сообщение в список рассылки, пошлите ваше сообщение на адрес `linware@sh.cvut.cz'. Я регулярно просматриваю этот список рассылки.

Некоторые термины
Некоторые термины - 2
Краткое обсуждение топологии сетей IPX
Файлы в системе относящиеся к IPX
IPX утилиты Greg Pages
Более детально об утилитах IPX
Linux-машина как маршрутизатор IPX
Необходимо ли настраивать внутреннюю сеть?
Настройка вашей Linux-машины как клиента NCP
Где взять ncpfs.

Как мне подсоединиться к остальному миру?
Предполагается, что мы уже имеем установленные модули сетевого программного обеспечения (напр., часть N-серии Slackware), и что вы используете последовательный порт /dev/modem. Настройка по умолчанию позволяет обращаться к /dev/modem только как пользователь root.

Основная настройка
Основная настройка - 2
Как мне бродить по Интернет?
Как отправлять электронную почту?
Как принимать электронную почту?
Как настроить онлайновую читалку новостей?
Как настроить оффлайновую читалку новостей?
Как настроить C News?
Как настроить C News? - 2
Как настроить Leafnode?

Одно слово о стиле
Текст, который выглядит вот так-- это либо то, что появится на вашем экране, либо имя файла, либо то, что может быть прямо набрано, например команда, или опции команды (если вы читаете это как простой текст, то это различие не видно). Команды и другой ввод часто взяты в кавычки (с помощью ` '), что вызывает классическую проблему пунктуации: Если такой пункт появляется в конце предложения в кавычках, то люди часто набирают `.' вместе с командой, потому-что Американский стиль цитирования заставляет помещать точку внутри кавычек.

Что вообще делает ядро?
Почему я должен обновлять мое ядро?
Поддержка новых ядер?
Какие версии gcc и libc мне нужны?
Что такое загружаемый модуль?
Сколько места на диске мне надо?
Как долго этот процесс идет?
Получение исходных текстов
Распаковка исходных текстов
Настройка ядра

О RLDP
Допустим у вас есть диск с более чем 1024 цилиндров. Допустим так же, что ваша операционная система использует старый интерфейс INT13 BIOS для операций ввода-вывода на диск. В этом случае у вас есть проблема, этот интерфейс использует поле из 10 бит для номера цилиндра на который будет выполняться В/В, следовательно цилиндры начиная с 1024 будут недоступны.

Проблема
Основное
Единицы и размерности
Размер Сектора
Размер Диска
Доступ к Диску
Доступ к диску через BIOS
История ограничений для BIOS и IDE
История ограничений для BIOS и IDE - 2
Загрузка

Давайте готовиться к разгрому!
Многие люди недавно купили новые компьютеры, которые (к несчастью) приходят с предустановленной Windows 95. Открыв для себя Internet, многие пользователи обнаруживают Linux, и желают запустить лучшую ОС за лучшую цену. Здесь возникает множество различных сложностей, поскольку на новых компьютерах установлены EIDE жесткие диски большой емкости, а Windows 95 работает на устаревшей файловой системе FAT. Linux эти сложности понимает и может предложить соответствующие меры в аппаратной и программной области.

Давайте готовиться к разгрому!
Точно, у меня такой раздел, и я хочу сэкономить!
Что дальше?
Использование вашей новой системы!
У меня фирменный компьютер
Я запорол систему!
Linload, что это такое?_
Проблемы?

Определение типа LinuxDoc
Такие документы в общем построены следующим образом: они начинаются с заголовка, за которым следует имя автора, номер версии и дата. Затем идет краткое изложение (??? abstract) (так что вам не надо просматривать документ полностью до понимания, того что этот документ не то что вам нужно), затем идет содержание, которое показывает структуру, так что вы в спешке перейти к части, которую вы хотите прочитать.

SGML-Tools
From a text document
Символы с диактрическими знаками
Отображение 8-битных символов
Набор 8-битных символов
Библиотека iso-acc
Клавиша Meta
Отображение 8-битных символов SGML
Режим SGML
Режим PSGML

Серверная сторона
Этот mini-HOWTO описывает как установить Linux-машину для того, чтобы обеспечить совместный доступ к модему другим машинам в этой же сети TCP/IP.

Серверная сторона
Клиентская сторона
Защита
Примеры

Краткая история разработки сетевой подсистемы Линукса
Первый NET-FAQ, содержавший ответы на часто задаваемые вопросы по работе с сетью в Линуксе, был написан Маттом Уэлшем (Matt Welsh) и Тэрри Доусоном (Terry Dawson) до того, как был формально начат проект по документированию Линукса. Он описывал самые первые версии сетевой подсистемы Линукса. Затем последовал NET-2-HOWTO, расширивший круг рассматриваемых вопросов по сравнению с NET-FAQ. Он был одним из первых HOWTO, и описывал версию 2 (а в дальнейшем и версию 3) сетевой подсистемы Линукса. Этот документ, в свою очередь, стал расширением NET-2-HOWTO и описывает только версию 3 сетевой подсистемы Линукса.

Общая информация по настройке сети.
С чего начать?
Исходный код текущего ядра.
Сетевые утилиты.
Сетевые приложения.
Адреса.
Адреса. - 2
Где размещать команды конфигурации ?
Создание сетевых интерфейсов.
Настройка сетевого интерфейса.

Что такое Linux?
Цель этого документа состоит в том, чтобы дать краткий обзор возможностей работы с сетями операционной системы Linux. Хотя одним из достоинств Linux - является то, что имеется множество источников информации, доступной почти по каждой теме, большинство ее сосредоточено на реализации. Новички в Linux, особенно пришедшие из среды Windows, не осознают возможностей Linux при работе с сетями. Этот документ стремится дать общее представление о таких возможностях с кратким описанием каждой и указать источники для поиска дальнейшей информации. Информация была собрана из многих источников: различные howto, факи, проектов веб-страниц и моего собственного опыта.

Чем замечателен Linux?
Сетевые протоколы.
TCP/IP
TCP/IP версия 6
IPX/SPX
Набор протоколов AppleTalk
Глобальные сети: X. 25, Frame-Relay
ISDN
PPP, SLIP, PLIP
Любительское Радио (HAM)

Portmapper
Portmapper на Linux называется либо portmap либо rpc.portmap. Справочная страница на моей системе говорит, что это "Преобразователь номеров портов DARPA в вызовы соответствующих программ RPC". Это первая дыра в безопасности, которую вы откроете читая этот документ. Описание того, как закрыть одну из таких дыр находится в , который я советую вам обязательно прочитать.

Mountd и nfsd
Mountd и nfsd - 2
Настройка клиента NFS
Опции монтирования
Оптимизация NFS
Оптимизация NFS - 2
NFS через медленные линии
NFS через медленные линии - 2
Безопасность и NFS
Безопасность клиента

Клиенты и серверы
PPP строго двухточечный протокол; (технически) нет различий между машиной, которая дозвонилась, и машиной, которая приняла звонок. Однако, для наглядности, полезно рассматривать это соединение с точки зрения архитектуры "клиент-сервер".

Различия между дистрибутивами Linux
Средства конфигурации PPP
IP адреса
Установка PPP Клиента
Связывание LAN c Интернет, используя PPP
Установка PPP сервера
Использование PPP по 0 модемному соединению
Этот документ в настоящее время
Версии упомянутого программного обеспечения
Другие полезные/важные документы

Используя LPD и команду lpr
Большинство систем в настоящее время продаются с lpd, так что данный раздел не будет к ним применяться. Я рекомендую людям для большинства случаев установить и использовать PDQ вместо (или в добавление к) lpd. PDQ просто имеет лучшую поддержку принтеров и тому подобное.

С помощью PDQ
Xpdq
Pdq
Используя LPD и команду lpr
Устройства печати в ядре Linux
Устройство lp (ядра =2.1.32)
Устройство parport (ядра = 2.1.33)
Последовательные устройства
Поддерживаемые принтера
Postscript

История Linux Printing HOWTO
Этот документ описывает как использовать линейную систему принтерного спулинга поставляемую с операционной системой Linux. Этот документ является supplementary документом к Linux Printing Setup HOWTO, который обсуждает установку и настройку системы печати Linux. Материал представленный в этом документе должен быть также правильным для всех семейств операционых систем серии BSD в добавлении к операционной системе Linux.

История версий
Авторские права и торговые марки
Получение|загрузка the Linux Printing HOWTOs
Обратная связь
Благодарности
Печать под Linux
История Linux Printing
Печать файлов используя lpr
Просмотр очереди печати с помощью lpq
Отмена задания печати с lprm

Получение RPM
RPM это Red Hat Package Manager (Менеджер пакетов RedHat). Хотя он содержит Red Hat в своем имени, он полностью предназначен работать как открытая пакетная система доступная для использования кем угодно. Она позволяет пользователям брать исходный код для нового программного обеспечения и упаковывать его в форме исходного и двоичного кода, так что двоичные файлы могут быть легко установлены и отслежены, а исходный код легко построен. Эта система также сопровождает базу данных всех пакетов и их файлов, что может быть использовано для проверки пакетов и запроса информации о файлах и/или пакетах.

Получение RPM
Требования RPM
Использование RPM
Что я могу по-настоящему делать с RPM?
Построение пакетов RPM
Файл rpmrc
Spec-файл
Заголовок
Заголовок - 2
Раздел Prep

Зачем нам нужна безопасность?
Этот документ покрывает некоторые из главных вопросов безопасности, которые касаются 0 Linux. Обсуждаются также общая философия и порождаемых сетью ресурсов. Существуют и другие документы HOWTO касающиеся темы безопасности, о них будет указано, когда это будет уместно.

Насколько безопасна безопасность?
Что вы пытаетесь защитить?
Что вы пытаетесь защитить? - 2
Разработка политики безопасности
Способ защиты вашего узла (site)
Безопасность сервера
Безопасность вашей сети
Безопасность через сокрытие
Структура этого документа
Физическая безопасность

Поддерживаемые последовательные аппаратные устройства
Это - Linux Serial HOWTO. В нем приведена информация о последовательных портах, которая не описана в других HOWTO'S. Это - информация об установке модема под Linux, некоторые советы по последовательным устройствам и советы по поиску неисправностей.

Стандартный последовательные платы PC
Plug And Play (PnP) модемы
Dumb многопортовые последовательные платы
Интеллектуальные многопортовые платы
Интеллектуальные многопортовые платы - 2
Winmodemы не работают
Драйверы Rockwell (RPI) могут работать
Как обозначаются последовательные порты?
Устройства: модем, мышь
Устройство cua

Запуск демонов
Есть два демона SMB /usr/sbin/smbd и /usr/sbin/nmbd. В большинстве дистрибутивов Linux, они запускаются, останавливаются и перезапускаются через стартовый скрипт, расположенный в /etc/rc.d/init.d/smb, на который созданы символьные ссылки с соответствующих уровней запуска. Если вы не будете использовать стандартные стартовые скрипты, то Вы можете запустить демоны Samba из inetd или как автономные процессы. Samba будет отвечать чуть быстрее когда она запущена как автономный процесс, чем в случае когда она запускается из inetd.

Основная настройка (/etc/smb.conf)
Основная настройка (/etc/smb.conf) - 2
Доступ к Linux для машин под Windows
Доступ к Linux для машин под Windows - 2
Доступ к Linux для машин под Windows - 3
Доступ к SMB-ресурсам из Linux
Доступ к SMB-ресурсам из Linux - 2
Доступ к принтеру Linux для Windows-машин
Доступ к принтеру Linux для Windows-машин - 2
Доступ к принтеру Windows с машин под Linux

Понимание RAID
RAID - путь комбинирования нескольких дисков в одно целое для увеличения скорости и/или надежности. Существует несколько различных типов и реализаций RAID, каждый со своими преимуществами и недостатками. Например, помещая копию одинаковых данных на два диска (называется зеркализация дисков, или RAID уровня 1), скорость чтения может быть повышена поочередным считыванием с каждого диска зеркала. В среднем, каждый диск менее занят, т.к. он обрабатывает только половину операций чтения (для двух дисков), или 1/3 (для трех дисков), и т.д. В дополнение, зеркало может повышать надежность: если один диск выходит из строя, другой диск содержит копию данных.

Понимание RAID
Понимание RAID - 2
Понимание RAID - 3
Понимание RAID - 4
Установка и установочные соображения
Установка и установочные соображения - 2
Установка и установочные соображения - 3
Установка и установочные соображения - 4
Установка и установочные соображения - 5
Установка и установочные соображения - 6

Уровни RAID
Есть много преимуществ в использовании RAID. Некоторые из них: возможность комбинировать несколько физических дисков в один большой ``виртуальный'' диск, увеличение производительности и надежности.

Технические детали
Термины
Уровни RAID
Уровни RAID - 2
Уровни RAID - 3
Резервные диски
Виртуальная память на RAID
Аппаратные решения
Конфигурирование IDE
Горячая замена

Технология звуковых карт
Звук это аналоговое свойство; он может принимать любое значение в бесконечном ряду. Компьютеры являются цифровыми; Они предпочитают работать с дискретными величинами. Звуковые карты используют устройство известное как Аналогово-Цифровой Преобразователь (A/D или ADC или АЦП) для преобразования напряжений соответствующих звуковым волнам в численные значения, которые могут быть сохранены в памяти. Подобным образом, Цифровой-Аналоговый Преобразователь (D/A или DAC или ЦАП) преобразует числовые значения обратно в аналоговое напряжение, которое в свою очередь может управлять динамиком, производя звук.

Поддерживаемое оборудование
Звуковые карты
Звуковые карты - 2
Альтернативные драйвера звука
Альтернативные драйвера звука - 2
PC Speaker
Параллельный порт
Установка
Установка звуковой карты
Настройка Plug and Play

Проигрывание различных форматов звука
Существует множество форматов звука (WAV, MIDI, MPEG и т.д.). Ниже перечислены различные форматы и приложения, которые могут проигрывать их.

MIDI
Adagio
TiMidity
Playmidi
Модули
Tracker
Gmod
MikMod
Xmp
S3mod


Новые возможности в Maya 6
Помощь для CorelDRAW Х3
Учебник по Corel Painter 8.0
Учебник по Corel Draw 10
Учебный курс по CorelDRAW 12
Help для CorelDRAW Х3
Корпоративные базы данных
Corel Painter 8.0
Учебник по Corel Painter 8.0
Bash - командный интерпретатор GNU Bourne
Объектно-ориентированное программирование на C++
Введение в язык Си++
Язык C++
С++ для начинающих
Perl для системного администрирования
ЗАРОЖДЕНИЕ КРИПТОГРАФИИ
Настройка и работа в Linux
Серверный JavaScript 1.4. Руководство по использованию
CSS
Структуры и алгоритмы обработки данных