Как перестать беспокоиться и начать программировать


Ремонт холодильников на дому услуги в Москве ремонт холодильника в Москве.

Учебник по VRML 97

Изложение опирается на спецификацию VRML97 ( - это то, что Вам обязательно надо иметь под рукой!), личный опыт, разнообразные англоязычные tutorial'ы и другие источники.
Все, что мне попадалось в сети, касающееся VRML, я сливал на винт и накопил множество файлов. К сожалению, не на всех из них проставлено авторство, а я уже не помню, где что брал. Поэтому иногда я ссылаюсь не на оригиналы, затерявшиеся где-то в сети, а на копии, лежащие в виде файлов у меня. Чтобы отличать их от моих собственных документов, я сохранил исходный стиль. Если же Вы нашли свой файл здесь или уже видели такое в сети - просьба намылить, где именно лежат оригиналы!
Что касается англоязычных public domain документов (типа спецификации VRML97, разнообразных FAQ'ов и т.д.), то, возможно постепенно, как соберусь с силами, переведу на русский. Я, например, так и не нашел на русском спецификацию VRML97, а от этого документа пляшут создатели и редакторов, и броузеров!

Программы для создания 3D объектов и миров
Вы найдете старенький обзор некоторых подобных программ. От себя могу добавить, что лично я работал с Cosmo Worlds 2.0, Internet Space Builder 3 и RenderSoft VRML Editor 1.72. Сильно рекомендую Cosmo Worlds 2.0 (жаль, что силиконцы продали это отделение Platinum :(, а там разработка увязла). Есть полнофункциональная ограниченная по времени демка, которую я долго тащил с sgi.com, которая лежит у меня на ftp-сервере

Программы для создания текстур
Программы для создания звука
Броузеры
Структура файла. Единицы измерения. Оси
Примитивы и управление положением объектов
Box (паралеллепипед)
Sphere (сфера)
Cone (конус)
Cylinder (цилиндр)
Объекты, строящиеся по набору вершин

VRML. Справка по языку
VRML (Virtual Reality Modeling Language) - это язык и формат файлов описания интерактивных трехмерных объектов и виртуальных миров. VRML спроектирован для использования в Internet (и является de facto стандартом 3D графики в Сети). Однако VRML файлы можно использовать и в локальных системах. VRML также является перспективным универсальным форматом хранения и обмена мультимедиа-информашией.

VRML как посредник
VRML как язык описания объектов
Структура VRML представления
Структура VRML файла
Классы узлов (node types)
Объекты
Повторное использование
Поля
Список классов ("Node reference")
Задание геометрии

VRML в примерах
Vrml-файл представляет собой обычный текстовый файл, интерпретируемый браузером. Поскольку большинство браузеров не имеет встроенных средств поддержки vrml, для просмотра Vrml-документов необходимо подключить вспомогательную программу - Vrml-браузер, например, Live3D

Единицы измерения
Заголовок VRML-файла
Примитивы VRML
Куб
Сфера
Конус
Цилиндр
Цвет и текстура
Изменение координат
Вращение

Платформа программирования J2ME для портативных устройств

Глава 1 познакомит вас с компьютерной платформой J2ME. В ней приводится большинство терминов, связанных с J2ME, и дается общая ориентация в понятиях, которые связаны с устройством и организацией платформы J2ME.
В главе 2 описывается процесс разработки приложений на J2ME. Вы узнаете, как создавать, компилировать, подготавливать, выполнять и отлаживать приложения на J2ME. В этой главе не описывается инструментарий или API. Описание этих элементов начинается в главе 3.
В главе 3 описывается платформа J2ME MIDP с точки зрения разработчика программного обеспечения. Здесь вы познакомитесь с организацией API, базовыми обобщенными понятиями программирования и моделями, характеризующими платформу MIDP.
Глава 4 продолжает тему главы 3. В ней затронут высокоуровневый программный интерфейс приложения (API) в MIDP, который заключает в себе набор компонентов UI, определяемых MIDP. Вы узнаете, как манипулировать различными компонентами UI, а также как выполнять обработку событий, называемую command processing в терминологии MIDP.
В главе 5 описа'ны компоненты пользовательского интерфейса (UI) MIDP. После изучения базовых обобщенных понятий, определяемых MIDP и описанных в главе 4, вы готовы к изучению того, как использовать компоненты, которые строятся на основе этих обобщений.
В главе 6 описывается низкоуровневый программный интерфейс приложения (API) в MIDP, который реализуется остальными компонентами UI MIDP, не описанными в главе 5.
В главе 7 описываются механизмы постоянного хранения, доступные вам благодаря MIDP.
Глава 8 посвящена организации сетей и коммуникаций. Здесь вы узнаете, как использовать службы организации сети и распределенной обработки данных и функциональные возможности, определяемые CLDC и MIDP. Вы также получите некоторое понятие о решениях создания и поддержки служб связи в J2ME.
Глава 9 знакомит вас с интернационализацией. Это вопрос значительной ширины и глубины, который требует даже более, чем отдельной посвященной ему книги. Здесь вы узнаете о некоторых проблемах, с которыми вы столкнетесь при создании практически применимых приложений MIDP. В этой главе описывается степень поддержки интернационализации в CLDC и MIDP и показано несколько примеров того, как использовать эти свойства. Вы также узнаете, как сконфигурировать ваше устройство для поддержки интернационализации и локализации.
В главе 10 описываются управление приложениями и системы инициализации. Теоретическое знакомство с этими системами важно для разработчика приложений на J2ME, особенно MIDP-разработчиков, поскольку эти системы влияют на ваше взаимодействие с поставщиками приложений и оперативной информации, поставщиками беспроводных сетей и даже с конечными пользователями.
В главе 11 описывается среда беспроводного Интернета. В ней описывается интеграция между беспроводными и стационарными сетями, беспроводной Интернет с точки зрения разработчика приложений, и среда, в которой выполняется приложение. Вы получите представление о беспроводных шлюзах Интернета, интерфейсах интернет-порталов, а также интерфейсах и службах беспроводных приложений - все, с чем вы, вероятно, столкнетесь как разработчик беспроводных приложений. Эта глава также знакомит разработчика приложений J2ME с базовыми понятиями об архитектуре и тем, как они действуют.

Введение
Вы можете скачать J2ME Wireless Toolkit и полную API-документацию, следуя ссылкам на Java Developer Connection с адреса java.sun.com/. Там вы найдете полную API-документацию для CDC, профиля Foundation Profile и CLDC/MIDP, а также инструментарий для всех платформ, таких, Платформа программирования J2ME для портативных устройств как Solaris, Linux, Windows NT и Windows 2000.

Знакомство с платформой Java 2 Micro Edition (J2ME)
Конфигурация J2ME определяет минимальную Java-платформу для семейства устройств. Все члены данного семейства имеют сходные требования к памяти и производительности. Конфигурация является на самом деле спецификацией, которая определяет доступные ресурсы системного уровня, такие, как набор свойств языка Java, характеристики и свойства имеющейся виртуальной машины и минимальные библиотеки Java, которые поддерживаются. Разработчики программного обеспечения могут рассчитывать, что определенный уровень системной поддержки будет доступен для семейства устройств, которое использует определенную конфигурацию.

Платформа J2ME состоит из ряда
Конфигурации и профили
Конфигурация Connected Device Configuration (CDC)
Пакеты CDC
Пакеты профиля Foundation
Пакеты профиля Personal
Конфигурация Connected Limited Device Configuration
CLDC является подгруппой CDC Ни
Пакеты MIDP
CDC для стационарных

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

Компиляция
Предварительная проверка
Упаковка
Создание файла манифеста JAR
Обязательные атрибуты файла MANIFEST MF
Необязательные атрибуты файла MANIFEST MF
Создание файла JAR для набора МIDлетов
Создание файла дecкpиптopa приложения
Обязательные атрибуты
Необязательные атрибуты

Программная структура приложений MIDP
Запуск эмулятора. Вы увидите появившееся окно, которое имитирует интерфейс устройства. Если вы используете J2MEWTK версии 1.0.2, вы заметите, что эмулятор просто выполняет приложение HelloWorld, потому что это единственное приложение, присутствующее в наборе. На рисунке 3.1 показано главное окно выполнения этого MID-лета. Однако, если у вас J2MEWTK версии 1.0.3, вы увидите список выбора из всех MID-летов, даже если он у вас один. Добавьте вторую версию программы, названную HelloWorld2, к набору MID-летов. Вы можете начать этот процесс, нажав на кнопку Settings... (Параметры...) на основном окне инструментария

Если доступно более одного MIDлета
Главное окно этого
Программная cтpyктypa MIDлета
MIDP версия знакомой вам программы HelloWorld
Модель состояний MIDлета
Состояния MIDлета
MIDлет может находиться в одном
Методы классов MIDлетов
Модель компонентов интерфейса MIDP
Реализации MIDP создают только

Oбpaбoткa кoмaнд
Высокоуровневый API MIDP поддерживает обработку событий с помощью использования команд. Команда представляет из себя действие пользователя - например, что-то, что пользователь делает на экране, к примеру, нажимает функциональную клавишу. Событие - это проявление результата действия. События могут представлять собой вызов команды в ответ на действие пользователя.

Сценарий oбработки команд
Эта диаграмма UML показывает связь
Эта диаграмма объекта показывает
Добавление нового MIDлета к набору
Основной экран MIDлета HelloWorld2
Нажатие на экранную клавишу Alert
Организация команд
Размещение меток — команд зависит
Реализация MIDP определяет политику
Семантика команд

Компоненты пользовательского интерфейса MIDP
Вы знаете, что класс Displayable определяет природу основы любого компонента, который может быть отображен, и что класс Screen определяет базовую абстракцию пользовательского интерфейса MIDP - экран. Класс Screen является первым Displayable, который вы видели, a Form был первым конкретным типом используемого экрана.

Описание всех компонентов
Экраны и экранные элементы
Исходный код UlComponentDemo
Главный экран демонстрационной
Блок прослушивания
Константы класса AlertType
Типы ограничений устанавливаемые
Экранная навигация
Блок прослушивания
Другие компоненты Item

Низкоуровневый программный интерфейс приложения (API) MIDP
Компоненты Canvas сами являются источниками низкоуровневых событий клавиш и указателя, которые генерируются действиями пользователя по вводу с клавиатуры и перемещением указателя на устройстве. Они также являются своими собственными блоками прослушивания низкоуровневых событий. Класс Canvas определяет интерфейс для обработки низкоуровневых событий как часть своего собственного API, другого интерфейса блока прослушивания не реализуется.

Методы уведомления
Демонстрационной программе
Чтобы использовать
Canvas все еще может выполнять
Константы класса Canvas
Константы класса Canvas - 2
Игровые действия
Графическое рисование
Графическая модель
Класс Graphics

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

Модель хранения данных RMS
RMS состоит из одного или нескольких
Пример приложения
Класс AddressBook
Пакет RMS определяет несколько
Cпиcки
Списки дают возможность
Фильтры записей
Поиск имен
Компараторы записей

Организация сетей и коммуникации в MIDP
В MIDP, как и в J2SE, потоки ввода-вывода являются наиважнейшим механизмом, доступным приложениям, для чтения и записи потоков данных. Как J2SE, так и J2ME имеют пакет java.io, который содержит эти классы потоков. Кроме того, MIDP имеет пакет javax.microedition.io, который поддерживает сетевую работу и коммуникации в приложениях MIDP. Этот пакет отличается от пакета java.net J2SE, который определяет поддержку сетевой работы на данной платформе.

Cтpyктypa общих соединений MIDP
Блоки соединения и соединения
Производящий соединения блок создает
Методы интерфейса InputConnection
Методы интерфейса OutputConnection
Потоковые соединения
Соединения содержимого соединений
Методы интерфейса ContentConnection
Методы интерфейса HttpConnection
Определения констант интерфейса HttpConnection

Интернационализация
Интернационализация - это действия программного обеспечения по соблюдению географического, лингвистического и культурного контекста, определяемого средой исполнения. Термин интернационализация иногда сокращается как i18n, потому что 18 букв в этом слове между буквами i и n опускаются.

Региональные настройки и локализация
Символьные кoдиpoвки
Acпекты интернационализации
Поддержка интернационализации в MIDP
Cтруктуры интернационализации
Работа с сообщениями
Cтроковая сортировка
Форматирование дат времени и чисел
Поддержка календаря и временных зон
Разработка решения интернационализации

Инициализация приложений
Для того чтобы инициализировать приложения на своих устройствах, пользователям нужна возможность обнаружения, выбора, покупки, загрузки и установки приложений с помощью своих мобильных устройств. Поскольку мобильные устройства не всегда имеют возможность соединения с какой-либо сетью или другим устройством посредством каких-либо способов, за исключением радиоинтерфейса, поддерживаемого беспроводной сетью, транспортировщики должны поддерживать установку приложений MIDP по воздуху (over-the-air (OTA)). Во время написания данной книги инициализация ОТА являлась краеугольным камнем инициализации приложений для мобильных устройств.

Система инициализации приложений
Регистрация приложений
Поиск приложений
Подтверждение совместимости
Подтверждение пoкyпки и соблюдение условий
Аутентификация пользователей
Согласование лицензии на программу
Загрузка приложения
Установка приложения и подтверждение установки
Генерирование события оплаты

Среда беспроводного Интернета
Термины беспроводный Web и беспроводный Интернет относятся к среде, в которой беспроводные радиоустройства могут получать доступ к World Wide Web и Интернету. Эти термины являются чем-то абстрактным по той причине, что они не несут информации об архитектуре или физической природе среды. Беспроводной Интернет, как и Интернет, является сетевым комплексом, объединением сетей. Однако, в отличие от Интернета, это объединение беспроводных и проводных сетей.

Беспроводные устройства получают
Отражает эту архитектуру
Интерфейсы и транспортные механизмы
Обмен сообщениями
Приложения личной информационной системы
Персонализация
Службы местоопределения
Apxитeктypa приложения
Структуры архитектуры
Системные качества

Приложение
Абстрактный оконный инструментарий (Abstract Window Toolkit (AWT) - определяет инструменты программирования графического интерфейса пользователя (GUI) для программ Java. Архитектура приложения (application architecture) - описание интерфейсов, взаимосвязей и состава структурных элементов системы программного обеспечения.

Иллюстрированный самоучитель по Delphi 7 для начинаюших

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

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

Система подсказок
Навигатор кода
Шаблоны кода
Справочная система
Структура проекта
Сохранение проекта
Компиляция
Ошибки
Предупреждения и подсказки
Запуск программы

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

Алгоритм и программа
Компиляция
Язык программирования Delphi
Тип данных
Целый тип
Вещественный тип
Символьный тип
Строковый тип
Логический тип
Переменная

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

Условие
Выбор
Инструкция case
Циклы
Инструкция for
Инструкция while

Символы и строки
Компьютер может обрабатывать не только числовую информацию, но и символьную. Язык Delphi оперирует с символьной информацией, которая может быть представлена как отдельными символами, так и строками (поcледовательностью символов).

Символы и строки
Символы
Строки
Операции со строками
Функция length
Функция роs

Инструкции write и writeln
Консольные приложения удобны как иллюстрации при рассмотрении общих вопросов программирования, когда надо сосредоточиться на сути проблемы, а также как небольшие утилиты "для внутреннего потребления".

Консольное приложение
Инструкции write и writeln
Инструкции read и readln
Создание консольного приложения

Алгоритм простого перебора
Ниже приведен текст программы поиска в массиве целых чисел. Перебор элементов массива осуществляется инструкцией repeat, в теле которой инструкция if сравнивает текущий элемент массива с образцом и присваивает переменной found значение true, если текущий элемент и образец равны.

Метод бинарного поиска
Сортировка массива
Сортировка методом прямого выбора
Сортировка методом обмена
Многомерные массивы
Объявление массива
Операции с массивами
Вывод массива
Ввод массива
Использование компонента StringGrid

Использование модуля
Для того чтобы в программе могли применяться функции и процедуры модуля, программист должен добавить этот модуль к проекту и указать имя модуля в списке используемых модулей (обычно имя модуля программиста помещают в конец сформированного Delphi списка используемых модулей).

Использование модуля
Функция
Объявление функции
Процедура
Объявление процедуры
Использование процедуры
Повторное использование функций и процедур
Создание модуля

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

Конец файла
Объявление файла
Назначение файла
Вывод в файл

Указатели
Обычно переменная хранит некоторые данные. Однако помимо обычных, существуют переменные, которые ссылаются на другие переменные. Такие переменные называются указателями. Указатель — это переменная, значением которой является адрес другой переменной или структуры данных

Указатели
Динамические переменные
Списки
Упорядоченный список
Добавление элемента в список
Перечисляемый тип
Интервальный тип
Запись
Объявление записи
Инструкция with

Класс
Классический язык Pascal позволяет программисту определять свои собственные сложные типы данных — записи (records). Язык Delphi, поддерживая концепцию объектно-ориентированного программирования, дает возможность определять классы.

Класс
Метод
Инкапсуляция и свойства объекта
Наследование
Директивы protected и private
Полиморфизм и виртуальные методы

Окружность и эллипс
Цвет, толщина и стиль линии эллипса определяются значениями свойства Реп, а цвет и стиль заливки области внутри эллипса — значениями свойства Brush поверхности (canvas), на которую выполняется вывод.

Графические возможности Delphi
Окружность и эллипс
Дуга
Прямоугольник
Многоугольник
Точка
Вывод иллюстраций
Битовые образы
Мультипликация
Метод базовой точки

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

Компонент Animate
Компонент MediaPlayer
Воспроизведение звука
Запись звука
Просмотр видеороликов и анимации
Создание анимации

Понятие рекурсии
Рекурсивным называется объект, частично состоящий или определяемый с помощью самого себя. Факториал — это классический пример рекурсивного объекта. Факториал числа п — это произведение целых чисел от 1 до п. Обозначается факториал числа п так: n!.

Понятие рекурсии
Поиск файлов
Кривая Гильберта
Поиск пути

Наблюдение значений переменных
Во время отладки, в частности, при выполнении программы по шагам, довольно часто бывает полезно знать, чему равно значение той или иной переменной. Отладчик позволяет наблюдать значения переменных программы.

Наблюдение значений переменных
Предотвращение и обработка ошибок
Отладчик
Точки останова программы
Добавление точки останова
Изменение характеристик точки останова

Использование редактора Microsoft Word
Сначала нужно набрать текст разделов справки (каждый раздел в отдельном файле). Заголовки разделов и подразделов нужно оформить одним из стилей Заголовок. Заголовки разделов, как правило, оформляют стилем Заголовок1, подразделов — Заголовок2.

Использование HTML Help Workshop
Основы HTML
Создание файла справки
Вывод справочной информации
Файл документа справочной информации
Создание справочной системы
Включение в проект файла справки
Характеристики окна справочной системы
Компиляция проекта
Доступ к справочной информации

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

Правила
Представление данных
Форма приложения
Начало игры
Справочная информация
Информация о программе
Листинги
Требования к программе
Файл теста
Форма приложения

Настройка палитры компонентов
Delphi предоставляет возможность программисту создать свой собственный компонент, поместить его на одну из вкладок палитры компонентов и использовать при разработке приложений точно так же, как и другие компоненты Delphi.

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

Создание псевдонима
Псевдоним базы данных создается при помощи входящей в Delphi утилиты BDE Administrator, которая запускается из Windows выбором из меню Программы | Borland Delphi 7 команды BDE Administrator.

Базы данных
Создание псевдонима
Создание таблицы
Программа управления базой данных
Доступ к базе данных (таблице)
Просмотр базы данных
Режим формы
Режим таблицы
Динамически создаваемые псевдонимы
Классификация баз данных

Программа InstallShield Express
Одним из популярных инструментов создания инсталляционных программ является пакет InstallShield Express. Borland настоятельно рекомендует использовать именно эту программу, поэтому она есть на установочном диске Borland Delphi 7 Studio.

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

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

Зарезервированные слова и директивы
Сначала выполняются инструкции цикла, которые расположены между repeat и until. Затем вычисляется значение выражения Условие, и если оно равно False, то инструкции цикла выполняются еще раз. И так до тех пор, пока значение выражения Условие не станет равным True.

Инструкция repeat
Инструкция while
Инструкция GoTo
Объявление функции
Структура модуля
Основные типы данных
Строки
Запись
Инструкция if
Инструкция case

Кодировка символов в Windows
В Windows в основном используется кодировка, которая называется ANSI. Разновидность набора ANSI, содержащая символы русского алфавита, называется Windows-1251.

Десятичные и двоичные числа
В обыденной жизни человек имеет дело с десятичными числами. В десятичной системе счисления для представления чисел используются цифры от О до 9. Значение числа определяется как сумма произведений цифр числа на весовой коэффициент, определяемый местом цифры в числе.

Десятичные и двоичные числа
Память компьютера

Приложение
Рекомендуемая дополнительная литература

Описание программ диска
На прилагаемой к книге дискете находится файл Проекты.ziр, который содержит программы (проекты), приведенные в книге в качестве примеров. Скопируйте файл Проекты.ziр в каталог проектов Delphi и, используя один из стандартных архиваторов, например, WinZip, распакуйте его.

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

Криптографические возможности Windows
Взаимодействие с CryptoAPI
Знакомство с криптопровайдерами
Шифрование с использованием паролей
Проблема распределения ключей
Целостность и аутентичность информации
Контейнеры ключей
Создание ключевых пар
Обмен ключами
Электронная цифровая подпись

Использование открытых интерфейсов среды программирования Delphi
Одной и наиболее сильных сторон среды программирования Delphi является ее открытая архитектура, благодаря которой Delphi допускает своего рода метапрограммирование, позволяя “программировать среду программирования”. Такой подход переводит Delphi на качественно новый уровень систем разработки приложений и позволяет встраивать в этот продукт дополнительные инструментальные средства, поддерживающие практически все этапы создания прикладных систем

Использование открытых интерфейсов Delphi
Использование открытых интерфейсов Delphi - 2
Использование открытых интерфейсов Delphi - 3
Использование открытых интерфейсов Delphi - 4
Использование открытых интерфейсов Delphi - 5
Использование открытых интерфейсов Delphi - 6

Как перестать беспокоиться и начать программировать

Хочу обратить внимание читателей, что никаких откровений или мыслей, блистающих особой глубиной/новизной, вы здесь не найдёте. Просто прикладной программист среднего (или чуть выше) уровня излагает свои соображения, рождённые опытом работы, и иллюстрирует их конкретными примерами работающего инструментария.
Ещё раз подчёркиваю, что по всем вопросам изложена моя личная точка зрения. Я открыт для конструктивной дискуссии и с радостью восприму все замечания, исправления и дополнения к исходным текстам.
Предполагается, что читатель знаком с основными принципами объектно-ориентированного программирования и разработки приложений.
Последовательность изложения: вначале будет описана совокупность инструментов. Это займёт несколько статей (глав) – вместе с исходными текстами и примерами использования.

Комплект инструментов
Контрразведка с soft-ice в руках
Создание справочных систем в форматах HLP и CHM
Программная среда для динамического анализа бинарного кода
Объектно-ориентированное программирование в ограничениях
Преодоление firewall'ов снаружи и изнутри
Сrackme, прячущий код на API-функциях
Призраки ядра или модули-невидимки
Старые антиотладочные приемы на новый лад
Выживание в системах с жестоким квотированием
Борьба с утечками ресурсов и переполняющимися буферами
Программирование в машинных кодах или soft-ice как logger
Функциональное программирование
Экстремальное программирование и быстрая разработка ПО
Гонки на вымирание, девяносто пятые выживают
Так ли открыты открытые исходники
Захват чужих ботнетов
Как заточить exploit под себя
Захват и освобождение заложников в исполняемых файлов
Длительность интеллектуальной работы Производительность
Итоги тестирования. Юзабилити-тестирование
Программирование - с женой или без
Длительность реакции системы
Предсказание скорости. Методики

Теоретические основы крэкинга

Основной идеей дзен - крэкинга (именно это название широко используется на сайте Fravia для обозначения той системы крэкинга, о которой я рассказываю) стало: «я не знаю, как это работает, но я могу это сломать». Разумеется, речь не идет об абсолютном незнании того, как функционирует программа – знание команд ассемблера, способов передачи параметров в функции и процедуры, назначения системных вызовов ОС, особенностей генерации кода определенных компиляторов и многого другого, несомненно, является обязательным. Более того, это основы, без которых любое изучение внутренностей программ в принципе невозможно – нельзя получить информацию из книги, не понимая языка, на котором она написана. «Не знаю, как работает» следует понимать в том смысле, что очень часто для успешного взлома программы совершенно необязательно проводить доскональный анализ всех защитных процедур. Иметь возможность сказать: «я знаю, для чего нужен каждый байт в этой программе» - это, конечно, хорошо, но на практике вполне успешно работает модель «черного ящика», когда нам известно назначение отдельных процедур, взаимосвязь между ними и то, какие эффекты вызывает передача тех или иных параметров на входы «черного ящика».

Орудия крэкера
Трассировка во сне и наяву
Взлом patch-guard
Взлом через покрытие

Теория Фибоначчи - перейти
Числа Фибоначчи - перейти
Инструменты Фибоначчи - перейти
Торговля с Фибо и ДиНаполи - перейти
Теория Эллиотта - перейти
Теория Доу - перейти
Волны Эллиотта - перейти
Волновой анализ - перейти
Программирование телефонов на Java - перейти
Введение - перейти
Устройство мобильных телефонов - перейти
Платформа Java 2 Micro Edition - перейти
Средства разработки мобильных приложений - перейти
Телефонные эмуляторы - перейти
Механизм работы приложений Java 2 ME - перейти