···
  • Информация
    • Об авторских правах
    • Благодарности
    • Ссылки на сайты по Delphi
    • Список ресурсов − источников материалов DRKB
  • Delphi IDE
    • Среда Delphi
      • Эта незнакомая IDE
      • Горячие клавиши Delphi
      • Типы файлов в среде Delphi
      • О файле проекта
      • О переносе проекта в другую папку
      • Скрытые настройки Delphi
      • Активизация и использование в IDE окна CPU
      • Как мне избавиться от выскакивающего окна CPU при ошибках?
      • Как заставить стартовать Delphi без заставки?
      • Как заставить стартовать Delphi без проекта?
      • Отображения величин в Watch List
      • Работа с IDE из программы
      • Смена свойств приложения, открываемого по умолчанию
    • Компилятор Delphi
      • Какие есть директивы компилятора?
      • Как сделать свои собственные сообщения при компилляции?
      • Как узнать версию компиллятора?
      • Предопределенные константы условной компилляции
      • Способы уменьшения размера exe-файлов, полученных с помощью Delphi
    • Особенности отдельных версий Delphi
      • Краткая история Delphi
      • Delphi 7. Отличия и особенности
      • Delphi 2005 − отчет, как я был на конференции Борланда
      • Delphi 2005 Patch
      • Переход от Delphi 7 к Developer Studio 2006 − сравнивая компоненты
      • Новые позможности языка в Delphi 2006
    • Ошибки, связанные с работой среды
      • Delphi 4 виснут при запуске. Видеокарта S3 Virge?
      • В основном help'е в Delphi не работает индекс по Win32
      • Исчезает главное меню Delphi, почему?
      • Проблемы регистрации Delphi
      • Список префиксов Internal Error
      • Delphi runtime error codes
      • Data segment too large error
      • Duplicate resource error
      • Duplicate resource error (2)
      • EOleSysError − как бороться?
      • Error: Interface not supported
      • Error: RPC Server is unavailable
      • Error reading symbol file
      • Hidden or missing IDE
      • IDE highlighting the incorrect line
      • Stack Overflow, runtime error 202
      • Where are my components?
    • Проблемы с компонентами и палитрой компонентов
      • Проблема использования компонентов в Delphi 6 / 7 от предыдущих версий
      • Установка справки для сторонних компонент под Delphi 2005 и Delphi 2006
    • Работа с ToolsAPI (эксперты и редакторы свойств)
      • Borland Delphi / C++Builder ToolsAPI или взгляд на Borland IDE изнутри
      • Эксперты в Delphi или Программист, упростите себе жизнь
      • Как создать простейший эксперт?
      • Как создать свой пункт меню в Delphi IDE?
      • Как найти все установленные компоненты?
      • Создание pop-up меню своего компонента и кое-что еще о классе TComponentExpert
      • Создание редактора свойства
      • Регистрация редактора свойства
      • Редактор свойства Color с заданными ограничениями
      • Еще примеры экспертов
      • Отладка экспертов
      • Использование открытых интерфейсов
      • Текущий модуль и проект
      • Код определения свойств
      • Показ свойств во время выполнения программы
      • Програмно меняем Delphi's Tool List
  • Язык программирования Delphi
    • Общие вопросы
      • Директивы вызова процедур
      • Использование PosEx взамен Pos
      • Как использовать переменную для имени процедуры?
      • Как использовать параметры коммандной строки?
      • Как передать массив как параметр?
      • Как сделать procedure / function с переменным числом параметров?
      • Как вызвать функцию по имени?
      • Можно ли задать шаг в цикле For?
      • Удобная функция ifthen
      • Функция, возвращающая тип
    • Объектное ориентирование
      • Сущность ООП
        • Объектно ориентированное программирование (статья)
          • Введение
          • Краеугольные камни ООП
          • Наследование
          • Метаклассы
        • Переназначения объектов
        • Сабклассинг и суперклассинг в Delphi для начинающих
        • Игра отражений
      • Методы
        • Динамические и виртуальные методы
        • Как преобразовать указатель на метод в указатель на функцию?
        • Как явно вызвать виртуальный метод дедушки?
        • Как вызвать метод предка?
        • Как редактировать таблицы виртуальных и динамических методов?
        • Перекрытие виртуальных методов
        • Override / Vitual / Dynamic-методы
      • Свойства
        • Демонстрация DefineProperties
        • Использование записей для хранения информации полей
        • Как скрыть свойства объекта?
        • Можно ли динамически изменять свойство owner компонента во время выполнения программы?
      • События
        • Как присвоить событие в runtime?
        • Как получить список всех назначенных событий?
      • Self
        • Что из себя представляет Self?
        • В чем отличие между Create(Self) и Create(Application)?
      • Sender
        • Работа с Sender
      • Разработка компонентов и классов
        • Как написать собственный класс?
        • Как заставить код компонента работать только в дизайне?
        • Пособие по написанию своих компонентов
        • Простой пример разработки собственного компонента
        • Создание компонентов в Delphi
      • Разные вопросы
        • Как можно работать с объектами не заботясь об их разрушении?
        • Как создать компонент во время выполнения приложения?
        • Шаблоны в Object Pascal
        • Как внести изменения в код VCL?
        • Как создать копию произвольного компонента?
        • Вызов процедуры, имя которой содержится в переменной
        • Выполнение процедуры по адресу
        • Информация о TClass
        • Работа метода Assign
        • Как забыть о необходимости разрушать объекты?
        • Список handle всех окон моего приложения
        • Сгруппировать свойства наподобие Font
        • Клонирование объектов
        • Сохранение и загрузка данных в объекты на примере коллекций
    • Базовые классы
      • TObject
      • TList
      • TStrings и TStringList
        • Пример использования в приложении списка строк на основе класса TStringList
        • TStringList: сортировка и системная locale
        • Как самому определить метод сортировки TStringList?
      • TStream
        • Несколько функций для TStream
      • TPersistent
      • TComponent
      • TControl
      • TCustomControl
      • TGraphicControl
      • TWinControl
      • Глобальный объект Screen
      • Глобальный объект Clipboard
    • Работа с числами
      • Hex > Integer
      • Dec > Hex
      • Bin > Dec
      • Integer как SmallInt
      • Некорректные вещественные значения
      • Как округлять до сотых в большую сторону?
      • Проблемы с дробными числами
      • Работа с типом Comp
      • Римские > Арабские
      • Арабские > Римские
      • Функции преобразования чисел с плавающей точкой
      • Число английской строкой
      • Число русской строкой
      • Число украинской строкой
    • Работа с битами
      • Битовые множества
      • Двоичная математика
      • Как получить доступ к битам переменной и управлять их значением?
      • Как в байте информации выделить биты?
      • Как работать с битами?
      • Получение значения бита в двойном слове
      • Проверка значения бита
      • Переключение состояния бита с единицы на ноль и наоборот
      • Пример чтения данных по битовой маске из значения
      • Установка бита в единицу
      • Установка бита в ноль
    • Работа со строками
      • Справочные материалы, общие вопросы
        • Как хранятся строки?
        • Небольшой модуль для работы со строками
        • Быстрые операции с очень большими строками
        • Расширенные строковые функции
        • Справочник по функциям работы со строками
        • Справочник по функциям работы с PChar
        • Unix-строки (чтение и запись Unix-файлов)
        • Добавление функций проверки орфографии
      • Слова
        • Быстрая функция для разбивки строки на части (слова) в один цикл
        • Заполнение списка словами из строки
        • Как осуществить поиск слов по маске?
        • Как подсчитать количество слов в строке?
        • Определить корень слова (для поиска похожих слов)
        • Поиск слов по маске
        • Получать слова нужной длины при перестановке букв в указанном слове
        • Разбивка строки на слова
        • Словарь уникальных слов
        • Сканирование строки, начиная с указанной позиции с целью нахождения слова
        • Функция возвращающая n-ое слово в строке
      • Разбор строки, выделение элементов, поиск
        • Выделение подстроки по контексту
        • Деление строки не несколько строк
        • Замена подстрок
        • Как найти строку в строке, начиная с определенной позиции?
        • Как разделить строку на элементы? (аналог VB функции Split)
        • Количество вхождений подстроки в строку
        • Модуль поиска по маске (более совершеный, нежели дельфийский masks)
        • Нахождение последнего вхождения подстроки в строку
        • Несколько расширенных функций по определению позиции
        • Парсинг строк
        • Поиск n-ого вхождения подстроки в строку
        • Произвести поиск байта или слова в строке
        • Расщепление строки с разделителями на массив строк
        • Регулярные выражения
        • Текст между двумя определенными строками
        • Фильтрованный поиск в строке
        • Функции для парсинга строк
        • Функция для разворачивания строк
        • Функция приблизительного (нечеткого) сравнения строк
      • Преобразования строк из и в другие типы
        • String > PChar
        • PChar > Integer
        • Hex > String
        • Hex > Char
        • Hex > Bin
        • Bin > Integer
        • Integer > Bin
        • Bin > Byte
        • Byte > Bin
        • WideString > String
        • String > WideString
        • String > BCD
        • BCD > String
        • String > HKEY
        • HKey > String
        • String > PWideChar
        • PWideChar > String
        • String > ASCII
        • ASCII > String
        • String > TStringList
        • Из строки в массив и наоборот
        • Как преобразовать String в Binary и наоборот?
        • Как преобразовать значение любого типа в строку?
        • Отобразить строку на определенную структуру
        • Преобразование Unicode строк в DFM файлах Delphi 6 в Ansi строки
        • Преобразование строки в число
        • Функции преобразования UNICODE и ANSI строк
      • Форматирование строк
        • Дополнение строки пробелами
        • Как использовать параметр в Format больше одного раза?
        • Как удалить переносы из строки?
        • Обрезание строки по длине
        • Очистка строки (символьное значение числа) от пробелов, нулей и точки
        • Очистка строки слева и справа от указанного символа
        • Первая буква каждого слова в верхнем регистре
        • Перевод символа в верхний регистр для русского алфавита
        • Перевод символа в нижний регистр для русского алфавита
        • Повтор строки заданное количество раз
        • Примеры форматирования строк с использованием API функции wvsprintf
        • Удаление ненужных подстрок из строки
        • Удаление пробелов в начале строки
        • Удаление лишних пробелов в строке
        • Форматирование строки с использованием подстановочных символов
        • Функция для удаления из строки лишних символов
        • Функция замены в строке всех вхождений одной подстроки на другую
        • Функция наполнения строки
        • Функции форматирования строк
      • Разные вопросы
        • Быстрые функции сжатия пробелов и управляющих символов в строке
        • Генерация GUID как строки
        • Инкрементация строкового поля
        • Как определить, что два слова имеют схожее произношение?
        • Как получить количество активных ссылок на строку?
        • Нестрогое сравнение строк
        • О пользе типа ShortString при использовании WinAPI
        • Получение параметра из строки по его индексу
        • Получить количество ссылок AnsiString
        • Проверка значения строки
        • Расстояние (разность) между двумя строками. Функция Левенштейна
        • Сумма и количество прописью, работа с падежами
        • Удаление из файла элементов HTML
        • Функция проверки корректности ввода
        • Сase для строки
        • Explode / Implode a string
    • Работа с датами и временем
      • Таймер и задержки выполнения (Delay)
        • О таймере
        • Использование команды RDTSC процессора Pentium для работы с малыми временными интервалам
        • Как реализовать сверхточный таймер?
        • Как отчитывать промежутки времени с точностью, большей чем 60 мсек?
        • Класс-оболочка для объекта синхронизации WaitableTimer
        • Реализация функции Delay
        • Скорость работы процессора, точный таймер
      • Календари, даты и летоисчисление
        • Вычисление даты Пасхи
        • Дни в месяце
        • Как получить дату по Юлианскому календарю?
        • Конвертируем Unix-дату
        • Определение восхода и захода солнца и луны
        • Получить даты с понедельника по пятницу текущей недели
        • Получить номер дня в году
        • Преобразовать Персидскую дату в дату по Грегорианскому календарю
        • Проверка правильности даты
        • Программа рисует на форме календарь на 2002 год
        • Число текущей недели
      • Формат даты, преобразования дат и времени
        • Вывод даты в нужном формате
        • Как конвертировать RFC дату и обратно?
        • Как преобразовать строку в дату?
        • Конвертируем TDateTime в Unix Timestamp
        • Корректировка поведения маски TDateTimeField
        • Название месяца > номер месяца
        • Перевести секунды в формат времени
        • Преобразование даты и времени в строковый вид YYYYMMDDHHNNSS и обратно
        • Преобразование даты, месяц прописью
        • Преобразование количества секунд в формат TTime
        • Универсальная функция возврата значения элемента даты
        • Частичный показ DateTime
      • Недели и дни недели
        • Дни недели
        • Как определить день недели?
        • Как узнать номер недели данного дня в году?
      • Математика времени и временные интервалы
        • Допустимые периоды истечения времени
        • Как засечь время?
        • Как подсчитать возраст по дню рождения?
        • Математика времени
        • Округление времени
        • Получение целого числа часов от начала суток
        • Прибавить час
        • Работа со временем или как реализовать 1.20 + 1.50 = 3.10?
        • Сложение времени
        • Сравнить быстродействие алгоритмов
      • Разные вопросы
        • Генерация еженедельных списков задач
        • Использовать TTime для более 24 часов
        • Как реализовать визуальный отсчет времени?
    • Работа с массивами
      • Массив в Delphi
      • String > Array
      • Array > String
      • TMemoryStream > Array of Byte
      • Array of Byte > TMemoryStream
      • Использование ассоциативных массивов
      • Использование многомерного массива
      • Использование PHP-like операций с массивами
      • Использование DynArrayFromVariant
      • Как поместить двумерный массив в TImage?
      • Массив без ограничения типа и размера
      • Массив компонентов
      • Операции над числовыми массивами
      • Поиск минимального (максимального) элемента массива, статистика элементов массива
      • Примеры работы с динамическими массивами
      • Пример массива констант (Array of Const)
      • Проверка наличия числа в массиве
      • Работа с большими массивами
      • Сохранение и загрузка двумерного динамического масива
      • Сохранение массива c изображениями
      • Запись массива на диск
      • Удаление и добавление значений динамического массива
    • Работа с указателями, память
      • Арифметика указателей
      • Быстрое сравнение памяти
      • Быстрый способ обмена значений двух переменных
      • Взять один символ из потока памяти
      • Динамическое распределение памяти
      • Использование указателей на целое
      • Как избежать использования неактуальных указателей?
      • Пример работы с указателями
      • Получение ссылки на экземпляр класса
      • Очистить переменную в оперативной памяти
      • Освобождение памяти
      • Получение размера памяти выделенный под Pointer
      • Потеря памяти
      • Принципы работы с памятью в системе Windows32
      • Увеличение значения указателя
      • Указатель на вариантный тип
      • Указатель на функцию
      • Функции для выделения, перераспределения и освобождения памяти
      • Linked List Memory Table
      • Method pointers > Function pointers
      • StrAlloc и GetMem
    • Работа с коллекциями
      • Коллекции и работа с ними
      • Перетасовка строк в списке
      • Пример использования в приложении списка объектов на основе класса TList
      • Сохранение и загрузка коллекций
    • Работа с потоками (Threads)
      • Как передать при создании нити (TThread) ей некоторое значение?
      • Как реализовать обработку информации одновременно несколькими потоками?
      • Как создавать потоки без класса TThread?
      • Помещение формы в поток
      • Поток с доступом к глобальной переменной основной программы
      • Потоки и DLL
    • Множества, записи и перечисляемые типы
      • Что такое множества?
      • Сохранение типа данных множество (TFontStyles)
      • Передача массива записей символов в TMemo
      • Получить текст элемента перечисляемого типа
      • Пример переменной записи
      • Проблема передачи записи
      • Функции и процедуры для работы с данными перечислимого типа
    • Ошибки
      • Как отловить ошибку?
      • Как перехватить сообщение об ошибке?
      • Как предотвратить утечки памяти при возникновении ошибок?
      • Как сгенерировать свою ошибку?
      • Почему возникает ошибка «Access Violation»?
    • RTTI и другие трюки с информацией о классах
      • Имя класса компонента и модуля
      • Инспектор объектов и метаданные
      • Как прочитать значение свойства компонента по имени?
      • Как изменить значение свойства компонента по имени?
      • Как получить контекст свойства по его целочисленному значению?
      • Как получить значение свойства в виде варианта по тексту имени свойства?
      • Как прочитать весь список Published методов?
      • Как выяснить, имеет ли объект определенное свойство?
      • Как сохранить значение свойства в поток?
      • Как определить, является ли метод потомком TNotifyEvent?
      • Как определить, насдледовано ли свойство от определенного класса?
      • Как прочитать свойство напрямую из его ресурса?
      • Как присвоить все значения полей одного класса другому такому же классу?
      • Как сделать текстовый список всех доступных свойств перечисляемого типа?
      • Как изменить цвет всех компонентов на форме в runtime?
      • Как выполнить метод по его имени?
      • Как получить строковое значение перечисляемого типа?
      • Как узнать имя файла моей программы?
      • Как динамически прочитать информацию о классе?
      • Копирование свойств одного компонента другому
      • Теория и практика использования RTTI
    • RTL Delphi (краткий справочник)
      • Арифметика
      • Математика, статистика и финансы
      • Тригонометрические функции и процедуры
      • Функции и процедуры для финансовых вычислений
    • Ассемблер в Delphi (BASM)
      • Изучаем ассемблер в Delphi
      • BASM − уроки для начинающих
      • Использование ассемблера в Delphi (статья)
        • Введение
        • Об основах ассемблерных процедур
        • Замечания о синтаксисе
        • Примеры
      • Как присвоить значение полям записи с помощью ассемблера?
      • Программирование ассемблером в Delphi
      • Что Delphi знает об ассемблере
    • Связь с другими языками
      • Аналог функции С memcmp
      • Вызов сишной функции с переменным числом параметров
      • Вызов Delphi DLL из MS Visual C++
      • Соответствие типов С++ и Delphi
      • Does Delphi have an equivalent for the Visual Basic SendKeys function?
      • Does Delphi have an equivalent for the VB function DoEvents?
      • Using Visual Basic arrays in Delphi
      • Основное отличие exe-файлов созданных Delphi и Visual Basic
      • Beep для Delphi, который работает как в Turbo Pascal
    • Скрипты, компилляторы и связанные с ними вопросы
      • Использование компилятора Delphi (dcc32.exe) в прикладных программах
      • Использование Microsoft ScriptControl (статья)
      • Лекции по построению компилятора на Pascal
        • Введение
        • Синтаксический анализ выражений
        • Снова выражения
        • Интерпретаторы
        • Управляющие конструкции
        • Булевы выражения
        • Лексический анализ
        • Немного философии
        • Вид сверху
        • Представление «TINY»
        • Пересмотр лексического анализа
        • Разное
        • Процедуры
        • Типы
        • Назад в будущее
        • Конструирование модулей
      • Могу ли я использовать в программе скрипт с Delphi-синтаксисом?
    • Вокруг и около паскаля или другие компиляторы Delphi
      • Пишем игры на MIDletPascal
      • Lazarus: Delphi, кроссплатформенная, Open Source?
      • Turbo Delphi
  • VCL
    • Общие вопросы
      • Иерархия классов
      • Как добавить событие OnMouseLeave?
      • Как заставить приложение показывать различные иконки при различных разрешениях дисплея?
      • Как правильно работать с прозрачными окнами?
      • Как разделить обработку OnClick и OnDblClick? Ведь OnClick будет вызываться всегда, и перед DblClick
      • Как различаются между собой Paint-события: Invalidate, Update и Refresh?
      • Как создать каретку свой собственной формы?
      • Как убрать публичное свойство компонента?
      • Как установить компонент от другой версии, если имеется только .dcu файл?
      • Можно ли как-то уменьшить мерцание при перерисовке компонента?
      • Перегрузка контролами (статья)
      • Помещение VCL компонентов в область заголовка
      • Процедуры и функции RxLib
      • Delphi 7 and FastNet components
    • TApplication
      • Работа с TApplication
      • Восстановление минимизированного приложения
      • Глобальный класс TApplication
      • Замена Application.ProcessMessages
      • Как выполнить какой-то процесс тогда, когда пользователь не работает с моим приложением?
      • Как поместить окно програмы поверх всех?
      • Как приложение оставить свернутым в иконку?
      • Как скрыть свое приложение?
      • Как сворачивать все приложение при сворачивании неглавного окна?
      • Очистить иконку приложения
    • TForm
      • Общие вопросы
        • Выводим цветной текст на форме под любым углом
        • Как изменить оконную процедуру для TForm?
        • Как имитировать появление формы как нового приложения?
        • Как поместить курсор мышки в нужное место на форме?
        • Как сделать анимацию минимизации формы?
        • Как сделать форму всегда позади всех окон?
        • Как среагировать на минимизацию / максимизацию формы перед тем, как произойдет изменение?
        • Как узнать, форма активна или нет?
        • Как установить минимальный размер окна?
        • Масштабирование формы под разрешение экрана
        • Мерцание формы
        • Наполовину активное окно
        • Полноэкранный режим
        • Привлечение внимания к окну
        • Пример градиентной заливки формы
        • Узнать класс формы
        • Функция, которая нарисует на форме сетку и сделает форму похожей на дизайнер форм Delphi
      • Создание, закрытие и вызов форм
        • В каком порядке происходят события при создании и показе окна?
        • Как заставить форму находиться всегда позади всех окон?
        • Как сделать окно системно-модальным?
        • Как сделать плавное закрытие окна?
        • Как сделать форму активной (форма находится в DLL)?
        • Как сделать, чтобы форма закрывалась при нажатии Esc?
        • Как создать и вызвать модальную форму?
        • Как использовать форму из DLL?
        • Можно ли динамически менять какая форма считается главной в приложении во время работы программы?
        • Можно ли создать форму, которая получает дополнительные параметры в методе Сreate?
        • Необходимо, чтобы дочерняя форма не активизировала родительское окно
        • Особенности работы события OnActivate
        • Рождение, жизнь и гибель формы
        • Сворачивает все приложение при сворачивании неглавного окна
        • Условие создания главной формы
        • Форма, изменяющая размеры без заголовка
      • Прозрачность формы
        • Как выбрать и установить уровень прозрачности формы?
        • Как сделать прозрачное окно родными средствами Windows2000?
        • Как сделать форму невидимой, а компоненты (TImage) видимые?
        • Прозрачность в Delphi 6
        • Прозрачная форма, не реагирующая на мышь?
      • Прячем форму
        • Как спрятать форму?
        • Как спрятать окно при запуске приложения?
      • Формы нестандартного вида
        • Как сделать, чтобы окно было на весь экран?
        • Как сделать форму без Caption?
        • Как создавать неквадратные формы и контроллы?
        • Как создать круглую форму?
        • Как создать форму в форме элипса?
        • Как сделать дырку в окне?
        • Как сделать roll-up форму?
        • Как сделать subform?
        • Работа с регионами (статья)
        • Создание окон произвольной формы (Статья)
        • Создание форм с закругленными краями
      • Манипуляции с заголовком формы
        • Добавляем дополнительную кнопку в заголовок формы
        • Изменяем заголовок окна
        • Как изменить шрифт и выравнивание в заголовке формы?
        • Как перехватить события в неклиентской области формы?
        • Как скрыть кнопку [x] в заголовке окна?
      • MDI приложения
        • Избавление от скроллов в MDI-форме
        • Как отобразить модально MDI Child форму?
        • Как сделать родительское окно с фоновым рисунком в клиентской области?
        • Как сделать MDI-приложение, где сливаются меню дочернего и главного окна и полосы инструментов?
        • Как спрятать окна MDI Child?
        • Как убрать заголовок в дочерней форме MDI?
        • Как узнать, что MDI-форма изменила статус?
        • Меню дочерних MDI-форм
        • Модуль данных для каждого MDI Child
        • Открытие MDI-окон определенного размера
        • Позиция дочерних MDI-окон
        • Почему MDI Child форма при закрывании просто минимизируется?
        • Придание MDI-формам большей трехмерности
        • Проблема всплывающих подсказок в дочерних MDI-формах
        • Разработка MDI-приложений в Delphi
        • Сколько открыто дочерних окон?
        • Создать MDI-окно с координатами (0, 0)
        • Фон MDI-окон
      • Перемещение формы
        • Как запретить перемещение формы?
        • Как прикрепить свою форму к другому приложению?
        • Как узнать, была ли перемещена форма?
        • Как узнать, какое окно закрывает форму?
        • Как узнать, что форма потеряла фокус?
        • Липкие окошки
        • Ограничить подвижность формы
        • Таскаем форму за её поверхность
    • TLabel
      • Как осуществить ввод текста в компоненте TLabel?
      • Как отобразить подсказку в TLabel?
      • Как переделать TLabel в URL?
      • Комбинация TLabel и TEdit
    • TButton, TSpeedButton, TBitBtn
      • Автоматически нажимающаяся кнопка
      • Визуализация нажатия кнопки
      • Если прозрачная часть glyph'а становится видной
      • Из ресурсов поочередно загружать глифы для кнопок SpeedButton
      • Как изменить цвет TButton?
      • Как програмно нажать SpeedButton?
      • Как сделать многострочную надпись на TBitBtn?
      • Как текст на кнопке расположить под заданным углом?
      • Кнопка со звуком
      • Кнопка с закругленными краями
      • Кнопка с многострочным заголовком
      • Кнопка или пункт меню выполняет другую функцию при нажатой кнопке shift
      • Можно ли использовать иконку как картинку на кнопке TSpeedButton?
      • Можно ли из 3-х картинок сделать компонент-кнопку?
      • Пример компонента типа XPButton
      • Расширяем возможности кнопок в Delphi
      • Смена иконки BitBtn во время работы приложения
      • Создать неактивные пиктограммы для TSpeedButton и TBitBtn во время выполнения
    • TGroupBox
      • Как заставить TGroupBox прорисовать на форме свой Caption неактивным цветом?
    • TCheckBox
      • Видоизменяем чекбоксы в Delphi
    • TRadioGroup, TRadioButton
      • Можно ли отключить определенный элемент в RadioGroup?
      • Поведение TAB в компоненте TRadioGroup
    • TEdit, TSpinEdit
      • Автоматический формат даты в компоненте TEdit
      • Выравнивание по центру в TEdit
      • Выравнивание по правому краю в TEdit
      • Денежное поле редактирования
      • Изменить вид каретки TEdit
      • Изменить цвет неактивного TEdit
      • Как автоматически расширить TEdit?
      • Как заблокировать ввод нецифровых данных в Edit
      • TEdit с возможностью автоматического выбора
      • Как заставить TEdit не пикать при нажатии недопустимых клавиш?
      • Как назначить событие на увеличение / уменьшение TSpinEdit с помощью стрелочек?
      • Как ограничить длинну вводимого текста шириной TEdit'а?
      • Как очистить все окошки редактирования на форме?
      • Как перехватить клавишу табуляции (Tab) в TEdit?
      • Как сделать так, чтобы в компонент TEdit можно было вводить текст только на английской раскладке?
      • Как узнать физические координаты каретки в пикселях?
      • Компонент TEdit с возможностью задать выравнивание текста
      • Массив TEdit-компонентов
      • Ограничение ввода в текстовое поле
      • Отслеживаем позицию курсора в TEdit
      • Подсказка при вводе в TEdit
      • Преобразовать первую букву каждого слова к верхнему регистру в TEdit
      • Проверка на соответствие содержимого TEdit
      • Проблема потери фокуса для TEdit
      • Элемент управления TEdit, реагирующий на событие OnTimer
      • SetFocus в Edit на OnExit
    • TMemo
      • Вставка текста
        • Добавление строк в Memo
        • Вставка текста в TMemo в текущую позицию
        • Как вставить содержимое файла в текущую позицию TMemo?
        • Как загрузить юникоды в мемо?
        • Режим вставки и замены
        • Режим замены
      • Каретка
        • TMemo со свойствами Row и Col
        • Как переместить каретку TMemo в нужную строку?
        • Как получить координаты курсора в memo-поле?
        • Следование за мышкой в TMemo для установки позиции курсора
      • Прокрутка
        • Как програмно прокрутить Memo?
        • Обнаружение прокрутки TMemo
        • Постраничная прокрутка Memo, когда фокус находится на Edit
        • Управление прокруткой TMemo
      • Выделить строку в TMemo
      • Как использовать различные шрифты и стили в TMemo-объекте?
      • Как настроить табуляцию в компоненте TMemo?
      • Как нарисовать что-нибудь на TMemo?
      • Как реализовать поиск, замену
      • Как перехватить Ctrl-V в компоненте TMemo?
      • Как сделать TMemo с закругленными краями?
      • Как сделать отступ в TMemo?
      • Как сделать окошко подсказки в редакторе как Delphi по Ctrl-J
      • Как создать нестандартную процедуру разбиения слов при переносах для TEdit, TMemo или TRichEdit?
      • Как узнать количество видимых строчек в TMemo?
      • Найти все ссылки в TMemo
      • Програмная навигация в TMemo
      • Ограничение длины и количества строк компонента TMemo
      • Проверить, можно ли отменить последнее действие в TMemo
      • Событие Key Press и курсорные клавиши в TMemo
      • Сортировка строк в TMemo
      • Delphi-компонент для подкраски синтаксиса
    • TRichEdit
      • RTF формат
        • Как получить RTF-текст из TRichEdit?
        • Как копировать RTF-текст в буффер обмена?
        • Как текст из TRXRichEdit сохранить в RTF формате?
      • Вставка изображений
        • Как вставить картинку в TRichEdit?
        • Как вставить Bitmap в TRichEdit?
      • Поиск и замена
        • TRichEdit − поиск текста
        • TRichEdit − замена текста
        • Обратный поиск строки в TRichEdit
      • Каретка
        • Как найти позицию текстового курсора в пикселях?
        • Перейти на строку в TRichEdit
        • Позиция курсора в TRichEdit
        • Позиционирование курсора как в предыдущей строке
        • Установка каретки в TRichEdit
      • Выравнивание текста в TRichEdit
      • Добавить цветную строку в TRichEdit
      • Загрузка нескольких RTF-файлов в TRichEdit
      • Задать расстояние между строк для TRichEdit
      • Изменить цвет выделения для TRichEdit
      • Исправление загрузки RTF-текста через поток
      • Как выделить URL в TRichEdit?
      • Как использовать верхние и нижние индексы?
      • Как поместить данные в TRichEdit-контролл?
      • Как менять шрифт в TRichEdit горячими клавишами?
      • Как получить определенную часть текста из TRichEdit?
      • Как поменять цвет фона в TRichEdit?
      • Как прокрутить TRichEdit в конец?
      • Как скопировать содержимое одного TRichEdit в другой?
      • Как указать максимальный размер текста для TRichEdit?
      • Подсветка синтаксиса
      • Подсветить HTML-теги в TRichEdit
      • Подсветить ссылки в TRichEdit
      • Подсчет слов в TRichEdit
      • Показывать значки элементов списка в TRichEdit
      • Получить первую или последнюю видимую строку в TRichEdit
      • Получить слово под курсором в TRichEdit
      • Поместить изображение смайлика в TRxRichEdit
      • Предпросмотр / печать TRichEdit
      • Различные стили подчеркивания для TRichEdit
      • Сделать предварительный просмотр для TRichEdit
      • Таблицу в Clipboard
      • TRichEdit сам меняет язык при перемещении
      • How to render a TRichEdit text onto a canvas?
    • TComboBox, TDBComboBox
      • TComboBox.ReadOnly
      • Как можно отменить реакию ComboBox на F4?
      • Как опеделить состояние списка ComboBox, выпал / скрыт?
      • Как получить размер развернутого TComboBox?
      • Как поместить картинки в Combo Box?
      • Как у Комбобокса сделать BorderStyle := bsNone?
      • Мигание при добавлении строк
      • Несколько колонок в TComboBox
    • TListBox, TCheckListBox, TDBLookUp
      • Инкрементальный поиск в TListBox
      • Как вставить растровое изображение в компонент TListBox?
      • Как выводить элементы списка разными шрифтами?
      • Как добавить горизонтальную полосу прокрутки (scrollbar) в TListBox?
      • Как добавлять колонки в обычный TListBox?
      • Как изменить фоновый цвет текста в различных строчках TListBox?
      • Как перетащить целую колонку из TStringGrid в TListBox?
      • Как принимать перетаскиваемые файлы из проводника?
      • Как присвоить значение свойству selected в TListBox?
      • Как в TListBox нарисовать Item своим цветом?
      • Как осуществить быстрый поиск в TListBox?
      • Как создать поле Lookup во время выполнения приложения?
      • Как сделать картинки из TImageList прозрачными?
      • Компонент TFontListBox
      • TCheckListBox: использование методов LoadFromFile / SaveToFile
      • Можно ли изменить число колонок и их ширину в компоненте TFileListBox?
      • Отрисовка элементов TListBox
      • Показ in-place подсказки в TListBox и других компонентах
      • Сортировать список по алфавиту
      • Табуляция в графическом TListBox
      • Уменьшение мерцания TListBox в обработчике OwnerDraw
    • TListView
      • Двоичный поиск для TListView
      • Дерево каталогов
      • Добавить событие OnDblClick на заголовке TListView
      • Искать текст в TListView
      • Как TListView перевести в режим редактирования по нажатию на F2
      • Как добавлять в TListView полноцветные иконки?
      • Как поменять цвет Header'а в TListView
      • Как поместить картинку в заголовок TListView?
      • Как узнать, по какой колонке был клик в TListView?
      • Невизуальное дерево
      • Обмен значениями элементов TListView
      • Определить нажатие на CheckBox в TListView
      • Отображать элементы TListView как группу XP
      • Переместить элемент в TListView
      • Перехват изменения размера колонки в TListView
      • Показать TRadioButtons в TListView
      • Показать файлы с ассоциированными с ними иконками в TListView
      • Получить все выделенные элементы TListView
      • Получить путь к выделенному файлу в TShellListView
      • Получить список файлов в ListView как в проводнике
      • Предотвратить изменение ширины колонки для TListView
      • Прокрутка TListView
      • Прокрутка для TListView или TTreeView
      • Сортировка TListView
      • Сохранить TListView как HTML страницу
      • Спрятать горизонтальную или вертикальную полосу прокрутки в TListView
      • Ускорить удаление элементов из TListView
      • Цветные строки для TListView
      • Чередование фона строк в TListView
      • Экспорт TListView в TStringGrid
      • TListView в режиме отчета под манифестом XP
      • Virtual ListView с контекстным меню
    • TTreeView
      • ScrollBars от TTreeView
        • Доступ к ScrollBars от TTreeView
        • Прокрутка TreeView, чтобы держать выделение посередине
        • Убрать ScrollBars от TTreeView
      • Поиск и путь к узлу
        • Как получить строковый путь узла TTreeView?
        • Поиск в TreeView по тексту
        • Получение узла в TTreeView по пути заголовков
        • Рекурсивные механизмы спуска по дереву
      • TTreeView. Проблемы CustomDraw
      • В TreeView текущий Node выделяется другим шрифтом
      • Выделение некоторых узлов другим шрифтом
      • Выделять узел TTreeView правой кнопкой мыши
      • Загрузка INI-файла в TTreeView
      • Как открыть первую ветвь TreeView?
      • Как копировать и вставлять TreeNode?
      • Как реализовать Drag & Drop в TTreeView?
      • Как связать TTreeView и TPageControl?
      • Как убрать всплывающие подсказки в TreeView?
      • Копировать и вставлять TreeNode
      • Копировать узлы с поддеревом TTreeView во второй TTreeView
      • Отмена вставки нового узла в TreeView по нажатию кнопки Esc
      • Поместить список контролов и пунктов меню в TTreeView
      • Поточность TreeView
      • Пример использования компонентов TTreeView и TTreeList для просмотра информации из системного реестра Windows
      • Проверить, развернут ли или свернут полностью TTreeView
      • Сохранить и загрузить TTreeView
      • Ускорение работы TTreeView
    • TStringGrid
      • Буфер обмена
        • Копирование содержимого TStringGrid в буфер обмена
      • Вставка объектов в ячейки
        • Встроенный редактор TComboBox в ячейке TStringGrid
        • Обновление картинки в ячейке
        • Bitmap в TStringGrid-ячейке
        • TCheckBox в TStringGrid
      • Выделение ячеек
        • Выбор строки или колонки компонента TStringGrid
        • Как снять выделение в TStringGrid?
        • TStringGrid без выделенной ячейки
        • TStringGrid, выделить фиксированные строки
        • Множественный выбор в TStringGrid
        • Проверить, выделена ли ячейка TStringGrid
        • Сменить цвет выделения в TStringGrid
      • Клавиатура
        • Tab как Enter в TStringGrid
        • Как перехватывать горячие клавиши в TStringGrid?
      • Многострочность
        • Многострочные ячейки в TStringGrid
        • Многострочность в заголовках колонок TStringGrid
        • Компонет TWrapGrid, осуществляющий перенос текста в TStringGrid
      • Перемещение строк, столбцов и ячеек
        • Как перемещать строки и колонки в TStringGrid?
        • Обмен строк TStringGrid
        • Перетаскиваем колонки и строки в TStringGrid мышью
      • Размеры колонок и строк, выравнивание
        • Автоматическая ширина колонок в TStringGrid
        • Выравнивание колонок TStringGrid
        • В TStringGrid ширина колонки подгоняется под длину самой длинной строки
        • Изменение размеров колонок в TStringGrid
        • Правое выравнивание ячеек TStringGrid
        • Увеличение ячейки TStringGrid при увеличении числа строк
      • Сохранение и загрузка, импорт и экспорт
        • XLS > TStringGrid
        • TStringGrid и файловый поток
        • TStringGrid > HTML
        • Получить содержимое TStringGrid или TDrawGrid в виде строки
        • Сохранение и чтение TStringGrid
        • Экспорт TStringGrid в Excel
        • Экспорт TStringGrid в исполняемый файл *.exe
      • Текст в ячейке
        • Манипуляция словами в TStringGrid
        • Ограничение длины поля TStringGrid
        • Текст в ячейке TStringGrid, если не помещается, переносится на следующую ячейку
      • Удаление и добавление столбцов и колонок
        • Вставка и удаление строк в TStringGrid
        • Вставка строки в TStringGrid
        • Добавление колонки в TStringGrid
        • Как удалить строку из TStringGrid в runtime?
        • Очистить ячейки в TStringGrid
        • Удаление колонки в TStringGrid
      • Фокус
        • SetFocus в TStringGrid
        • TStringGrid с фокусом (OnDrawCell)
        • Позиционирование каретки в TStringGrid
        • Фокус ячейки TStringGrid
      • Цвет текста, ячеек, столбцов и колонок
        • Назначение цвета для каждой строки
        • Покрашенный TStringGrid
        • Символы разного цвета в TStringGrid
        • Цвет неактивной ячейки TStringGrid
        • Цветные ячейки в TStringGrid / TDBGrid?
      • Разные вопросы
        • Вывести номер строки и столбца TStringGrid
        • Как сделать различные подсказки для каждой ячейки в TStringGrid?
        • Можно ли обратиться к колонке или строке grid'а по заголовку?
        • Отображаются ли полосы прокрутки для TStringGrid?
        • Печать TStringGrid
        • Перевернуть текст в TStringGrid на 90 градусов
        • Пропорциональное отображение в TScrollBar или TStringGrid
        • Пример TDrawGrid.DrawCell
        • Сортировка StringGrid
        • TStringGrid, печать в ячейку
        • TStringGrid как TDBGrid
        • OnColumnClick из TListView для TStringGrid
    • TImage, TIcon, TShape, TPainBox
      • TImageList − не отображаются иконки на контролах
      • Если отображается только часть TImage
      • Каким образом задать прозрачный цвет иконки?
      • Как сделать картинки в TImageList прозрачными
      • Как сохранить содержимое TPaintBox в TBitmap
      • Очистить TImage
      • Перемещение TImage
      • Перемещение иконок между несколькими TImageList
      • Сохранить TImageList в файл со всем содержимым
      • Функции для работы с объектом типа TImage
      • Хитрость вывода изображения
    • TScrollBox
      • Как перехватить сообщения скроллирования в TScrollBox?
      • Как сделать плавную прокрутку?
      • Ползунок компонента TScrollBar все время мигает. Как это отключить?
      • Синхронизация двух компонентов TScrollBox
      • Цветной TScrollBar
    • TTrackBar
      • Как бы мне создать эдакий TTrackBar, в котором вместо широкой белой полоски с ползунком была бы тонкая линия?
    • TStatusBar
      • В строке состояния TStatusBar выводится только 127 символов
      • Изменить шрифт TStatusBar
      • Как вывести цветной текст в TStatusBar?
      • Показ всплывающих подсказок в строке состояния
      • Показ даты, времени и состояния клавиш в строке состояния
      • TStatusBar с другими контролами
      • TStatusBar + TProgressBar
      • OwnerDraw в компоненте TStatusBar
      • Установить размер шрифта для панели TStatusBar
    • TProgressBar
      • Вставить TProgressBar в TStatusBar
      • Как изменить стандартный цвет TProgressBar?
      • Как сделать TProgressBar таким же, как на заставке Windows XP
      • TProgressBar в колонке TListView
      • TProgressBar, который не отображает реального прогресса
      • TProgressBar при помощи фонового потока
      • TProgressBar с невидимой рамкой
    • TMainMenu, TPopupMenu
      • Более быстрый способ добавлять пункты меню
      • Добавляем пункты в системное меню Windows
      • Иконки в PopupMenu
      • Как добавить пункт меню?
      • Как заставить системное меню выпасть в указанном месте?
      • Как поместить TMenuItem справа у формы?
      • Как поместить маленькие битмапы в TPopupMenu?
      • Как программно заставить выпасть меню?
      • Как рисовать картинки в пунктах меню?
      • Как сделать пункты меню с картинками?
      • Как сделать меню как в Delphi?
      • Как узнать о нажатии non-menu клавиши в момент, когда меню показано?
      • Как узнать статус меню?
      • Кнопка в TMainMenu с правой стороны
      • Пишем свой текст в TMainMenu
      • Элементы меню на основе изображений
    • TPanel, TToolBar, TCoolBar
      • Как сделать TToolBar как в среде Delphi, с возможностью вытаскивания кнопок?
      • Как поместить прозрачную фоновую каринку на компонент TCoolBar?
      • Компонент со вложенной панелью
      • Не устанавливается цвет панели
      • Панель с двумя полосами слева, которые можно двигать
      • Панель с изменяющимися размерами
      • Плавающая панель
    • TAction, TActionList
      • Как в runtime добавить TAction в TActionList?
      • Создание и регистрация TAction на низком уровне
    • TPageControl, TTabControl, TNotebook, TTabSet
      • Блокирование закладок TPageControl
      • Включение и выключение закладки TNotebook
      • Динамические TPageControl и TTabSheet
      • Динамические создание объектов в TTabbedNotebook
      • Добавление и удаление страниц TNotebook
      • Доступ к страницам TTabbedNotebook
      • Изменяем цвет TPageControl
      • Как использовать клавишу-акселератор в TTabSheet?
      • Как использовать клавишу-акселератор в TTabSheet (TPageControl)
      • Как получить число и список всех компонентов, расположенных на TNotebook?
      • Над какой закладкой курсор в TTabControl
      • Недоступная закладка в компоненте TTabbedNotebook
      • TNotebook как контейнер для форм
      • Перемещение на страницу TabSet по имени
      • Проблема с освобождением ресурсов TNotebook
      • Разделяемые элементы управления для TTabbedNotebook
      • События OnKeyPress и OnKeyDown не вызываются для Tab − как определить её нажатие?
      • Синхронизация TTabSet c TListBox
    • TMediaPlayer
      • AVI файл проигрывается снова и снова
      • Как показать оставшееся время до конца?
      • Определить, когда TMediaPlayer закончил проигрывание
      • Установить звук для TMediaPlayer
    • Диалоги (Dialogs)
      • TOpenDialog, TSaveDialog, TOpenPictureDialog и TSavePictureDialog
      • Добавляем компонент в стандартный MessageDialog
      • Диалог подключения сетевого диска
      • Диалог отключения сетевого диска
      • Использование InputBox и InputQuery
      • Изменение вида сортировки объектов в диалогах
      • Как вывести окно свойств компьютеpа?
      • Как вызвать Shutdown Windows диалог?
      • Как вывести диалог «Обзор папок»
      • Как вызвать диалог «Найти файлы и паки» проводника?
      • Как добавить в диалог TOpenDialog свой CheckBox?
      • Как открыть диалог смены системного времени?
      • Как открыть диалог свойств аудио?
      • Как открыть диалог Add Printer?
      • Как открыть диалог создания ярлыка?
      • Как показать Choose Computer диалог?
      • Как показать Choose Domain диалог?
      • Как показать File Properties диалог?
      • Как показать Open With диалог?
      • Как показать Run диалог?
      • Как работать с TOpenFileDialog и TSaveFileDialоg?
      • Как получить картинки из MessageDlg?
      • Манипулирование кнопками TOpenDialog
      • Открытие сокращенного или полного диалога выбора цвета
      • Позиционирование TSaveDialog
      • Правильные диалоги от Борланда
      • Процедуры для открытия диалогового окна «Свойства Экрана»
      • File list view in file dialogs
      • Using the Shell API function SHBrowseForFolder
    • Подсказки (Hints)
      • Hint в выпадающем списке ComboBox
      • Многострочные подсказки
      • Как изменить шрифт hint?
      • Как получить эффект тени для hint?
      • Показываем всплывающие подсказки в различных панелях StatusBar
      • Длинные подсказки на StatusBar'e
      • Как поместить иконку в окошко подсказки?
      • Как сделать графический hint?
      • Хинт любой формы
      • Как сделать balloon tooltips?
      • Как показать округленное окошко подсказки в Tray в Windows2000
      • Использование обработчика OnHint при наличии нескольких форм
      • Ярлычки и оперативная подсказка
      • Как выводить hint при движении мыши над списком
      • Hint на системных кнопках, Как енто делается?
      • Видеть подсказки все время, пока поле редактирования имеет фокус
      • Прямой вызов Hint
      • Использование Hints
      • Всплывающие подсказки у выключенных кнопок
      • Как показать подсказки Hints для элементов меню
      • Как создать собственное Hint-окно
    • Вставка одних компонентов в другие
      • TMemo в TDBGrid
      • TCheckBox в TDBGrid
      • TDateTimePicker в TStringGrid
      • Как поместить TProgressBar в панель StatusBar?
      • Как поместить TCheckBox внутри TRichEdit?
      • Как добавить TCheckBox в TStringGrid?
      • Как поместить TComboBox в ячейку TStringGrid?
      • Как сделать popup TComboBox по позиции курсора в TMemo?
      • Помещение компонентов в TStringGrid
      • Помещение компонентов в TDBGrid
    • Работа в runtime и обращение к компонентам
      • Групповые опперации с контролами
      • Как найти компонент по имени?
      • Как отловить смену фокуса для всех контролов?
      • Как создать контрол в runtime?
      • Обращение через свойство Controls
      • Перебор всех компонентов на форме
      • Работа с массивом компонентов
    • Работа с Drag & Drop, Docking
      • Общие вопросы и теория технологии Drag & Drop
        • Интерфейс переноса Drag & Drop
        • Внутренний интерфейс Drag & Drop
        • Перетаскивание объектов
        • Преобразование координат в параметрах событий OnDragOver и OnDragDrop в координаты формы
        • Функции и процедуры для работы с Drag & Drop операциями
      • Drag & Drop внутри своего приложения
        • Drag & Drop TImage
        • Drag & Drop для TListBox
        • Drag & Drop в TTreeView
        • Drag & Drop − как использовать ItemAtPos для получения элемента DirListBox
        • Drag & Drop из RichEdit
        • Drag & Drop из TScrollBox
        • Drag & Drop несколько элементов в TListView
        • Drag & Drop со списками
        • Drag & Drop в TOutline
        • Заполнение полей формы в TWebBrowser методом Drag & Drop
        • Как перетаскивать выделенный текст между компонентами TMemo?
        • Как перетаскивать компоненты в runtime?
        • Как перетащить целую колонку из StringGrid в ListBox?
        • Перестроить вкладки TPageControl с помощью Drag & Drop
        • Примеры использования Drag & Drop для различных визуальных компонентов
        • Пример реализации Drag & Drop
        • Прокручивать TTreeView во время перемещения
        • Пример Drag & Drop между двумя DBGRID
      • Drag & Drop с другого приложения, Drag & Drop файлов
        • Drag & Drop c Explorer
        • Drag & Drop с минимизированным приложением
        • Как перетаскивать файлы?
        • Как пpинимать яpлыки пpи пеpетягивании их на контpол?
        • Как послать данные другому приложению используя Auto Drag & Drop?
        • Как сделать Drag & Drop из чужого приложения?
        • Переслать данные в другую программу методом Drag & Drop
        • Реализация Drag & Drop из внешнего приложения в ваше
      • Docking
        • Интерфейс присоединения Drag & Dock
        • Пример реализации Drag & Dock
      • Перемещение объектов мышкой
        • Как таскать форму за метку?
        • Как перемещать компонент во время работы программы?
        • Перемещение изображений по форме с помощью мыши
    • Реакция компонентов на клавиатуру
      • Как заблокировать реакцию на клавиатуру компонента?
      • Как работать с ssShift и TShiftState?
    • Стили и темы Windows XP
      • Элементы управления Windows XP
        • Пользовательский интерфейс Windows XP
        • Манифест Windows XP
        • Компонент TXPManifest
        • Включение манифеста Windows XP в ресурсы приложения
        • Визуальные стили и темы оформления
        • Визуальные стили в Delphi
        • Theme API
        • Компоненты настройки цветовой палитры
      • Добавление картинки на кнопку, если используются стили XP
      • Как определить, использует ли пользователь стили?
      • Как получить имя текщего стиля и имя цветовой схемы?
      • Как получить сообщение об изменении стиля?
      • Как отключать стили XP для отдельных контролов?
      • Ресурсы манифеста Windows XP (пример программы)
      • Windows XP манифест в Delphi
    • Другие компоненты
      • Глюк при запуске приложений через ShellListView
      • Загрузка файлов в THTMLViewer и TFrameBrowser
      • Как использовать ChartFX?
      • Как удалить сегодняшнюю дату из TDateTimePicker?
      • Как поставить свой формат в TDateTimePicker?
      • Как использовать IP Address Control у себя?
      • Пример компонента HotSpot
      • Расширенный TLabel для отображения имени файла
      • Что такое фреймы?
      • HeaderControl с дополнительной возможностью отображения стрелок
      • VirtualTreeView, FAQ по компоненту
  • WinAPI и Железо
    • Основы работы с WinAPI
      • Delphi и Windows API (Статья)
      • Программирование на основе Win32 API в Delphi (статья)
        • Введение
        • Существующие решения
        • Принципы построения API-библиотеки
        • Библиотека WinLight
      • Программирование без VCL
        • Как с помощью API поместить Label на Form?
        • Перехват нажатия на системные кнопки формы (закрытие, минимизация окна и т.д.)
        • Как заставить приложение Delphi отвечать на сообщения Windows?
        • Использование функций перечисления WinAPI
        • Как получить описание кода, полученного GetLastError?
        • Отображение формы выбранного окна
        • Присвоение форме выбранного окна свойства Disabled / Enabled
        • Запретить в выбранном окне кнопку закрытия x
        • Закрыть выбранное окно
        • Сделать форму выбранного окна поверх остальных
        • Поменять заголовок выбранного окна
        • Альтернатива для Sleep(), но чтобы приложение не зависало
        • Запись сообщений в журнал событий Windows на Delphi
        • Механизм вызова удаленных процедур − RPC
        • Вывод текста с использованием Windows API функций
        • Использование Debug API
      • Для чего нужен WinAPI
      • Как использовать WinAPI?
      • Как писать Win32 API приложения на Delphi?
      • Написание программ на чистом WinAPI
      • Пример приложений на чистом API
    • Информация о системе
      • Имя компьютера
        • Как узнать имя компьютера?
        • Как изменить имя компьютера?
      • Конфигурация железа
        • Как узнать конфигурацию железа?
        • Как получить информацию о системе?
        • Как корректно определить изменения в оборудовании Plug & Play?
        • Определение видеокарты
        • Получение имени конфигурации HardWare profile
        • Установка драйвера
      • Изменить свойства системы
      • Как получить версию Windows?
      • Получить информацию о регистрации Windows
      • Прочитать свойства системы
      • WMI − практика применения в Delphi
    • Сообщения Windows
      • Что такое сообщения Windows?
      • Системные сообщения (сокращения)
      • Справочник по сообщениям
        • Сообщения Win32 (BM)
        • Сообщения Win32 (DM)
        • Сообщения Win32 (EM)
        • Сообщения Win32 (CB)
        • Сообщения Win32 (LB)
        • Сообщения Win32 (WM)
      • Как перехватить события в неклиентской области формы, в заголовке окна, например?
      • Как отправить сообщение сразу всем элементам управления формы?
      • Как сообщить что-нибудь всем формам моего приложения?
      • Как послать сообщение всем окнам Windows?
      • Как обрабатывать сообщения?
    • Команды Windows
      • Выполняем встроенные команды Windows
      • Как пользоваться командой шелла MinimizeAll?
    • Сервисы NT, драйверы и функции, специфичные для WinXP
      • Инсталляция / удаление сервисов под NT
      • Как запустить и остановить сервис (или получить его статус)?
      • Как получить список загруженных драйверов?
      • Как получить инфу о сервисе в Windows ХР?
      • Как проверить, запущен ли сервис?
      • Как проверить, не запущена ли Terminal Client Session?
      • Как сделать System Restore Point в Windows XP?
      • Как управлять сервисом на другом компьютере в Windows 2000?
      • Написание сервисов Windows NT на WinAPI
      • Написание Terminal Services Client
      • Получение дополнительных привилегий под NT
      • Перечисление служб
      • Работа с системным логом событий
      • Разработка системного сервиса
      • Создание именных каналов
      • Управление NT-сервисами
      • How immediately start a service after it's installation?
    • Системные папки
      • Добавляем файлы в Recent Documents
      • Как добавить документ в меню «Пуск > Документы»?
      • Как найти каталог Windows?
      • Как найти системные папки Windows?
      • Как найти директорию Temp в Windows?
      • Как удалить все файлы из Recent Documents?
      • Пример очистки куков и Temporaly Internet Files
      • Путь к папке My Computer
    • Системная дата и время
      • Временные зоны
        • Как получить список часовых поясов?
        • Получить из регистров информацию о временной зоне (DST)
      • Системное время
        • Как узнать системное время?
        • Как изменить системное время?
        • Как определить, изменилось ли системное время?
        • Как открыть окно настройки даты и времени Windows?
        • Определение текущего времени (часы, минуты и секунды)
        • Определить, сейчас до или после полудня
        • Проверить, используется ли формат времени в 24 часа
        • Узнать текущие время и дату по Гринвичу
        • 12 AM − это полдень или полночь?
      • Системный таймер
        • Время простаивания системы
        • Время старта и завершения работы системы
        • Как долго запущена Windows?
        • How to implement a microsecond resolution Delay?
    • Приложения и процессы
      • AWE
        • Описание работы с AWE
        • MapUserPhysicalPages
        • AllocateUserPhysicalPages
        • MapUserPhysicalPagesScatter
        • FreeUserPhysicalPages
      • Взаимодействие с Win16 кодом
        • Как вызывать функцию 16-битной DLL из 32-битного приложения?
        • Обмен информацией между приложениями Win32−Win16
      • Консольные приложения и приложения DOS
        • Имитация ввода с клавиатуры для консоли
        • Как в консольном приложении можно задать цвет текста?
        • Как использовать консоль в неконсольном приложении?
        • Как консольное приложение может узнать, что Винды завершаются?
        • Как переназначить вывод в файл для консольной программы?
        • Как получить дескриптор окна консоли?
        • Как поменять иконку и стpокy в заголовке консольного окна?
        • Как определить закрытие командного окна в консольном приложении?
        • Как очистить экран в консольном приложении?
        • Как писать консольные приложения в Delphi?
        • Переключение консольного приложения в полный экран
        • Перенаправление стандартного ввода и вывода
        • Перехват вывода консоли
        • Подождать завершения DOS-задачи
        • Получить выходные данные DOS приложения
        • Русификация консольных приложений в Delphi
        • Создание консольных приложений
        • CreateProcess, который возвращает консольный вывод
        • CRT для консольного приложения
      • Запуск и завершение приложений
        • Завершение всех работающих приложений
        • Запустить приложение и подождать
        • Запустить приложение с помощью ShellExecute и подождать
        • Как использовать CreateWindow(Ex)?
        • Как завершить любой процесс, в том числе и системный?
        • Как запретить кнопку Close в любом окне?
        • Лимит на время выполнения программы
        • Отследить завершение работы, перезагрузку, смену пользователя в Windows
        • Процессы, потоки и функции ShellExecute и WinExec
        • События, происходящие в приложениях Delphi при завершении работы Windows
      • Запуск и завершение процессов
        • Как запустить и подождать завершения 2-х процессов?
        • Как запустить программу и подождать её завершения?
        • Как сделать, чтобы запускалась только одна копия приложения?
        • Поддержка процедур завершения программы
        • Создать процесс с правами админа
      • Список задач, процессы и приорететы
        • Как активизировать предыдущий экземпляр вашей программы?
        • Как убрать мою программу из списка Alt+Ctrl+Del?
        • Как определить, откуда был запущен процесс?
        • Как определить, какие приложения уже запущены?
        • Как получить список процессов?
        • Как получить информацию о загрузке процессора?
        • Как получить / установить приоритет процесса?
        • Как поменять приоритет моего приложения?
        • Как разрешить / запретить переключение между задачами?
        • Как спрятать программу от Task Manager в Windows 2000 и Windows XP?
        • Как стать невидимым в Windows NT (статья)?
        • Как увеличить процессорное время, выделяемого программе?
        • Как узнать имя файла текущего процесса?
        • Как узнать количество памяти, используемое процессом?
        • Просмотрщик запущенных процессов
        • Помогите спрятать программу из списка задач
        • Получение количества тактов процессора с момента перезагрузки
        • Прочитать список всех запущенных Exe / Проверить, запущен ли Exe?
        • Disable Ctrl+Alt+Del under Windows XP
      • Работа с памятью
        • Использование native kernel32 функций для получения проекции физической памяти
        • Как определить, сколько памяти выделено в Delphi для программы?
        • Как получить весь размер системной памяти?
        • Как узнать состояние памяти?
        • Пишем программу мониторинга за памятью
        • Сохранить строку в памяти + пример работы с атомами
        • Функции для работы с памятью
      • Работа с чужими процессами
        • Взаимодействие с чужими окнами
        • Внедрение библиотеки через CreateRemoteThread
        • Инжектирование кода
        • Как вывести результат работы консоли в TMemo?
        • Как завершить задачу в Windows NT (а заодно получить PID задачи)?
        • Как изменить заголовок чужого окна?
        • Как, зная Handle окна программы, определить имя exe?
        • Как найти окно по неполному названию?
        • Как можно из своей программы закрыть чужую?
        • Как можно определить Handle окна, над которым находится мышка?
        • Как передать строку другому приложению?
        • Как перехватывать события, посланные другим приложениям?
        • Как получить список процессов в Win9x?
        • Как по PID процесса узнать CmdLine, то есть командную строку?
        • Как узнать все открытые дескрипторы файлов?
        • Как узнать путь к программе, если известно её имя?
        • Как убить задачу, зная только имя .exe?
        • Как эмулировать нажатия клавиш в другой программе?
        • Передача текста любому окну, где стоит фокус
        • Поиск в памяти процесса
        • Поиск значения типа DWORD в указанном процессе
        • Получение имени модуля по хендлу окна
        • Получить текст окна, где этого не может WM_GETTEXT
        • Получение SID пользователя, под которым запущен процесс
        • Послать Alt+буква другому приложению
        • Примеры для обмена данными через File Mapping
        • Пример EnumWindows
        • Пример получения всех окон и их дочерних элементов в системе
        • Пример получения информации о процессах на основе
        • Пример процедуры, убивающей таймеры по заголовку окна в чужих приложениях, написанных на Delphi
        • Проверить приложение на зависание
        • Список окон + определение приложения, создавшего эти окна
        • Требуется нажать в другом приложении пару кнопок
        • Убиваем активное приложение
        • Установка / снятие Debug привелегии у текущего процесса
        • Функция передачи строк (а заодно и числа) между программами через SendMessage
        • Читаем заголовок exe-файла
        • PID и SID процесса
        • Unit с полезными функциями для работы с процессами
        • How to get the NT Domain and Username of a process?
        • How to patch a process?
      • Разные вопросы
        • Атомы: запись, чтение и удаление информации
        • Как определить, запущено ли приложение в Windows NT?
        • Как определить, насколько долго система находится в Idle?
        • Как программе удалить саму себя?
        • Посылаем нажатия клавиш другому приложению
        • Приложение, использующее отдельный поток к памяти для расчета числа
        • Синхронизация процессов при работе с Windows (статья)
    • Пользователи, пароли и защита информации
      • Запуск процесса в контексте другого пользователя
      • Изменение привилегий
      • Как вывести список привилегий?
      • Как получить закэшированные пароли в Win9x?
      • Как прочитать пароль, скрытый за звездочками?
      • Как проверить, имеем ли мы административные привилегии в системе?
      • Как узнать имя пользователя?
      • Определить SID текущего пользователя
      • Получение пользователя и домена, под которым работает текущий процесс
      • Получить список пользователей
      • Проверить, запущена ли программа от System Account
      • Создание нового пользователя NetUserAdd
    • Питание компьютера, запуск и завершение Windows
      • Блокировка
        • Как заблокировать компьютер?
        • How to check if the Workstation is locked?
      • Завершение работы
        • Выключение питания ATX коpпуса из-под DOS
        • Включение и выключение устройств ввода / вывода
        • Закрытие програм при LogOff / Shutdown
        • Как выключить компьютер с любой версией Windows?
        • Как завершить сеанс работы или перезагрузить Windows NT?
        • Как предотвратить Shutdown?
        • Как программно вазвать окно Завершение работы Windows?
        • Как выключить, перезагрузить или завершить Windows?
        • Как узнать заряженность батарей?
        • Как узнать о переключении сессии в XP?
        • Компонент PowerControl
        • Отключить команду «Завершение работы»
        • Получить статус питания
        • Приостановить ПК
        • Синхронизация завершения работы Windows
        • Узнать о завершении работы Windows
        • PowerOff
      • Режим энергосбережения
        • Как перевести компьютер в Stend by или Hibernate?
        • Как перевести монитор в режим stand by?
        • Поддерживает ли система Hibernation?
      • Спящий режим
        • Переход в ждущий режим под Windows NT
        • Поддерживает ли система suspend?
        • Приостановить компьютер (Sleep)
    • Работа с DLL
      • DLL и ресурсы
      • DLL со строковыми ресурсами
      • Аналог DumpBin
      • Импортирование или обертка вызовов функций DLL
      • Использование модуля ShareMem
      • Использование DLL в качестве плагина
      • Загрузка DLL
      • Статическая и динамическая загрузка DLL
      • Как выгрузить DLL из памяти?
      • Как написать DLL, которую можно было бы выполнить с помощью RunDll, RunDll32?
      • Как найти полный путь и имя файла запущенной DLL из самой DLL?
      • Как получить версию моей DLL?
      • Как создать DLL только с ресурсами?
      • Определение полного пути и имени файла DLL
      • Определение функции в DLL
      • Определение версии системных DLL
      • Получение списка DLL, загруженных приложением
      • Пример простейшей DLL в Delphi
      • Пример создания динамической библиотеки
      • Разработка DLL в среде Borland Delphi (статья)
      • Соглашения о вызовах
    • Реестр и INI-файлы
      • Общие принципы работы с реестром
        • Что такое реестр?
        • Браузер по реестру
        • Записать в реестр данные бинарного вида
        • Запись строки в реестр без использования класса TRegistry
        • Использование реестра
        • Дополненный TRegistry, умеет работать с значениями типа REG_MULTI_SZ
        • Как читать REG_MULTI_SZ значение?
        • Как получить событие о смене реестра?
        • Как работать с реестром Windows?
        • Как работать с реестром средствами API?
        • Как уведомить все приложения, что реестр был изменен?
        • Облегченный вариант класса TRegistry
        • Объекты и TRegistry
        • Очень простой пример поиска информации в реестре
        • Перечислить измененные ключи реестра в определенный диапазон времени
        • Перечислить ключи реестра
        • Получить количество вложенных ключей и значений ветви реестра
        • Получить многострочные значения из реестра и преобразовать их в TStringList
        • Проблемы использования TRegistry под NT/2000/XP
        • Сохранение бинарного файла в реестре с последующим его извлечением
        • Сохранить значение TDateTime в реестре
        • Сохранить объект TFont в реестре
        • Считать значение REG_DWORD из реестра
        • Удобная загрузка местоположения формы
        • Чтение строки из реестра без использования класса TRegistry
        • Экспорт и импорт из реестра
        • Экспортировать ветвь реестра
      • Использование частных ключей реестра
        • Как узнать, откуда была установлена Windows?
        • Получаем из реестра количество активных потоков, загруженность процессора и т.д.
      • Работа с Microsoft Registry Editor
        • Запретить использовать RegEdit
        • Как перейти к нужному ключу в RegEdit?
      • INI-файлы
        • INI-файлы (чтение / запись)
        • Модуль для работы с INI-файлами
        • Проблемы INI-файла
        • Работа с INI-файлами
    • Ресурсы
      • Иконки
        • Анимированная иконка приложения
        • Загрузка иконки
        • Извлечение иконки из EXE, DLL или ICO-файла
        • Изменение иконки приложения
        • Как вшить иконку в мою прогу с нуля?
        • Как извлечь иконку из файла ярлыка?
        • Как использовать встроенные в Windows иконки в своем приложении?
        • Как нарисовать иконку в TImage?
        • Как показать иконку, ассоциированную с данным типом файла?
        • Как получить иконку чужого окна?
        • Как сохранить иконку в файл имея её хендл?
        • Как сравнить две иконки?
        • Компонент на основе TImageList позволяет использовать в приложении анимированные иконки
        • O сохранении иконок 32х32 в 256-цветном формате
        • Объединение двух иконок
        • Пример работы с DrawIcon(Ex)
        • Проблемы с TCanvas.StretchDraw при рисовании иконок
        • Преобразование иконок в Gliph-ы
        • Растягивание иконки
        • Создание иконок из ресурсов
      • Курсоры
        • Изменить экранный курсор без необходимости возвращать предыдущий
        • Как вставить свой курсор из внешнего файла?
        • Как использовать свои курсоры?
        • Как запретить показ курсора в TEdit и ему подобных контролах?
        • Как ограничить перемещение курсора?
        • Как отключить курсор мыши?
        • Как работать с анимированными курсорами?
        • Определение и использование курсора
        • Проверить видимость курсора
        • Создание курсора с процентом выполнения
        • Функции и процедуры для работы с курсором
      • Каретка
        • Можно ли изменить вид текстового курсора (каретки) edit'а или другого элемента?
        • Найти позицию каретки
        • Частота мигания каретки
      • 256-цветное изображение из RES-файла
      • Как извлечь иконку из EXE или DLL?
      • Как загрузить BMP файл из DLL?
      • Как поместить JPEG-картинку в exe-файл и потом загрузить её?
      • Компиляция ресурсов
      • Работа с ресурсами
      • Работа с ресурсами без TResourceSteram
      • Создание RES-файла с помощью BRCC.EXE
      • Сохранение и выдергивание ресурсов в DLL или EXE?
      • Таблицы строк
      • Хранение данных в EXE-файле
      • Converting 16bit resource to 32bit
      • Creating resource files
      • How to get all the resource names that are loaded in a given application?
    • Буфер обмена (Clipboard)
      • Общие вопросы
        • Использование интерфейса OLE
        • Как работать с буфером обмена (clipboard)?
        • Как программно реализовать Cut, Copy и Paste?
        • Как удобнее работать с буфером обмена как последовательностью байт?
        • Копирование в буфер обмена
        • Контроль за изменением содержимого буфера обмена
        • Копировать и вставлять ячейки TStringGrid в буфер обмена
        • Просмотр буфера обмена
        • Предотвратить работу с командами буфера обмена в TEdit
        • Симулировать нажатие клавиш для копии и вставки из буфера
        • Скопировать HTML-код в буфер обмена
        • Сохранение данных в Clipboard
        • Скопировать строки TListBox в буфер обмена
      • Буфер обмена и потоки (TStream)
        • Буфер обмена (Clipboard) и TMemoryStream
        • Копировать буфер в поток и обратно
        • Копирование потока компонент в буфер обмена
      • Буфер обмена и файлы
        • Как скопировать файл в Windows clipboard?
        • Копирование большого файла в буфер обмена
        • Получаем имена файлов, скопированных в буфер обмена
        • Сохранение всего содержимого буфера обмена в файл
      • Буфер обмена и текст
        • Как скопировать содержимое строки в буфер обмена?
        • Копируем русский текст в буфер обмена в Windows 2000
        • Копировать RTF-текст в буфер обмена
        • Поместить/получить строку из буфера обмена (Заплатка к стандартным)
        • Указание языка помещенного в clipboard текста
      • Буфер обмена и изображения
        • Вставка содержимого буфера как картинку в RTF
        • Как копировать векторное изображение?
        • Как копировать и вставлять картинки через буфер обмена?
        • Скопировать изображение формы
        • TPaintBox в буфер обмена
      • Буфер обмена и форматы
        • Встроенные форматы буфера обмена
        • Копирование и вставка данных своего формата из буфера обмена
      • Буфер обмена на чистом WinAPI
        • Добавление текста в буфер обмена без использования модуля Clipbrd
        • Как копировать / менять clipboard text без использования VCL?
        • Получение текста из буфера обмена без использования модуля Clipbrd
    • Рабочий стол (Desktop)
      • Безжизненный рабочий стол
      • Вывести Bitmap на рабочем столе
      • Как обновить рабочий стол?
      • Как сменить обои на рабочем столе?
      • Как показать окно свойств экрана?
      • Как получить Handle рабочего стола
      • Как проверить, включен ли ActiveDesktop?
      • Как пpогpаммно вывести окно свойств экpана?
      • Как скрыть / показать иконки на рабочем столе?
      • Как скрыть / показать ActiveDesktop?
      • Как создать лупу для рабочего стола?
      • Как установить цвет фона иконок на рабочем столе, либо сделать у них прозрачный фон?
      • Как выровнять иконки на рабочем столе к левому краю?
      • Как получить и изменить координаты иконок на столе?
      • Как установить обои в формате JPEG?
      • Определить размера рабочей области Desktop'а
      • Получить цвет пикселя на рабочем столе
      • Переворачиваем рабочий стол
      • Снимок рабочего стола
    • Панель задач (Taskbar)
      • Кнопка «Пуск»
        • Анимированная кнопка «Пуск»
        • Изменить размер кнопки «Пуск»
        • Как изменить заголовок кнопки «Пуск»
        • Как изменить изображение кнопки «Пуск»?
        • Как открыть меню кнопки «Пуск»?
        • Как спрятать и отключить кнопку «Пуск»?
      • Кнопка приложения на панели задач
        • Без иконки в панели задач
        • Кнопки в панели задач
        • Как получить список кнопок на таскбаре?
        • Как заставить форму не разворачиваться из иконки?
        • Как заставить формы минимизироваться на панель задач с анимацией?
        • Как отобразить не главные окна своей программы в панели задач?
        • Как сделать, чтобы неглавная форма минимизировалась не на Taskbar, а выше него?
        • Мигание кнопки приложения
        • Показать контекстное меню на панели задач
        • Получить дескриптор окна, которое владеет кнопками запущенных программ на панели задач
        • Рисование на минимизированной иконке
      • Системный трей
        • Что такое System Tray?
        • Что такое иконка на System Tray?
        • Как свернуть прогу в tray?
        • Как скрыть часики в панели задач?
        • Как изменить иконку на Tray?
        • Как удалить иконку с Tray?
        • Как мне узнать о воздействии мыши на иконку, находящуюся на Tray?
        • Как сделать popup меню при щелчке иконке в tray?
        • Как закрыть всплывающее меню в System Tray, когда оно теряет фокус?
        • Как показать округленное окошко подсказки в трее в Windows 2000?
        • Надпись на часах в трее
        • Делаем свои часы в трее
        • Отображаем текст в System Tray
        • Показываем / Скрываем System Tray
        • Программный класс для вывода информации о системном трее
      • Системное меню
        • Как добавить файл в меню Пуск / Документы?
        • Как очистить пункт меню Документы кнопки «Пуск»?
        • Работа с System Menu
      • Как определить, включено ли автоскрытие у панели задач?
      • Как скрыть TaskBar?
      • Кто владелец taskbar buttons (NT)?
      • Определение координат расположения TaskBar
      • Получение информации о TaskBar
      • Получить дескриптор панели задач
      • Работа с TaskBar
      • Скрыть Tray, часы, кнопку «пуск», панель задач
    • Панель управления (Control Panel)
      • Как запустить любой апплет панели управления?
      • Свои апплеты в панели управления
    • Переменные окружения (Global Variables)
      • Как получить переменные окружения типа PATH и PROMPT?
      • Как раскрыть строки переменных окружения?
      • Как установить переменные окружения?
      • Получение переменных среды
    • Проводник (Explorer)
      • Как добавить собственную панель?
      • Как добавить свой пункт меню?
      • Как добавить кнопку?
      • Как перезагрузить Explorer?
      • Как выделить файлы в Проводнике?
      • Как зарегистрировать свою команду в контекстном меню проводника?
      • Определение адреса во всех открытых Explorer
      • Пример отображения системного контекстного меню эксплорера
      • Пример приложения, использующего Shell API
      • Shell Extensions и как с ними бороться (статья)
      • Реализация закладки свойств файла
    • Корзина (Recycle Bin)
      • Восстановление файла из корзины
      • Как получить количество файлов в корзине и их размер?
      • Очистка корзины
      • Получение информации о папках и файлах находящихся на данный момент в корзине
      • Просмотр состояния корзины
      • Удаление файла в корзину
    • Ловушки (Hooks)
      • Hooks − аспекты реализации
      • Hook-функции в собственном приложении
      • Hook на клавиатуру и мышку
      • Hook на буфер обмена
      • Глобальный хук на клавиатуру
      • Демонстрационный пример хука и подмены API в приложениях
      • Использование Hook в Delphi
      • Использование ловушек: блокировка мыши, клавиатуры и т.д.
      • Interprocess communication на примере keyboard hook (статья)
      • Как отловить нажатия клавиш для всех процессов в системе?
      • Ловушки в Windows
      • Отключить клавиши при системном Hook'e
      • Перехват API функций на примере MessageBoxA
      • Перехват (Hook) клавиатуры (программа Sendkeys)
      • Создание мышиного перехватчика
      • Создание ловушек в Delphi
      • Установка ловушки для клавиатуры
    • Хранитель экрана (Screen Saver)
      • Инсталляция screensaver'a
      • Как включить / отключить хранитель экрана?
      • Как запустить текущий screensaver?
      • Как написать свой хранитель экрана?
      • Как определить, установлен ли ScreenSaver?
      • Получить время задержки хранителя экрана
      • Получить установленный по умолчанию Screen Saver
      • Предотвратить запуск screensaver'a при работе программы
      • Создание хранителя экрана средствами Delphi
      • Узнать, включен ли хранитель экрана
    • Шрифты, языки, кодировки и регионарные стандарты
      • Локализация и перекодировка
        • Как добавить нужный язык в систему
        • Как конвертировать кодовую страницу?
        • Как определить локализацию ОС: английская или русская?
        • Как получить информацию о локальных настройках системы?
        • Как прочитать русский текст MS DOS?
        • Как программно переключить раскладку клавиатуры
        • Как узнать, является ли окно Unicode?
        • Как узнать язык Windows по умолчанию
        • Какой язык на данный момент на клавиатуре?
        • Перекодирование из одних кодировок в другие
        • Распознавание кодировки
        • Регионарные стандарты
        • Список установленных раскладок клавиатуры
        • Транслитерация
        • Узнать текущую раскладку клавиатуры в любом активном окне
      • Работа с TFont и API-функциями холста
        • Вертикальный текст
        • Вывести полупрозрачный текст
        • Изменение регистра букв
        • Как выдать текст под наклоном?
        • Как вывести текст с красивым обрезанием если не помещается?
        • Как изменить фоновый цвет текста?
        • Как сделать фон у текста прозрачным?
        • Сохранение свойств шрифтов
        • Свойства шрифта Style и Color в виде строки
        • Управление настройками шрифта
        • Хранение стилей шрифта
      • Шрифты и файлы шрифтов
        • Вывод шрифтов в списке в виде самих шрифтов
        • Защита приложений от крупных шрифтов
        • Как использовать неустановленный шрифт?
        • Как узнать размеры шрифтов в Windows?
        • Как добавить True Type шрифт в систему?
        • Как приложению воспользоваться своими шрифтами?
        • Какой шрифт установлен (крупный или мелкий)?
        • Как выяснить, установлены ли в системе шрифты TrueType
        • Масштабирование размера формы и размера шрифтов
        • Нормальная процедура отображения графических шрифтов
        • Различные разрешения − различные размеры шрифтов
        • Получение имени шрифта, зная имя файла шрифта
        • Работа с казахскими шрифтами
        • Список шрифтов, совместимых одновременно с экраном и с принтером
        • Является ли шрифт шрифтом с фиксированной шириной?
    • Ярлыки, файловые ассоциации и расширения
      • Взять все расширения из реестра и их описание
      • Зарегистрировать новый тип файлов
      • Как зарегистрировать свой пункт в меню для моего типа файлов?
      • Как зарегистрировать свое расширение?
      • Как получить имя программы, с которой ассоциировано то или иное расширение?
      • Как получить список всех расширений и их ассоциаций?
      • Как программно создать ярлык?
      • Как прочитать shortcut's link information?
      • Как связать определенное расширение файлов с моим приложением?
      • Как создать shortcut-файл (.lnk)?
      • Как удалить / восстановить файлы из корзины?
      • Работа с ассоциациями файла
    • BIOS
      • Как узнать номер BIOS для разных версий Windows?
      • Как получить дату BIOS?
      • Как получить информацию о BIOS в Windows 9x?
      • Как получить информацию о BIOS в Windows NT/2000/XP?
      • Как прочитать ROM-BIOS?
      • Получить информацию о BIOSе
      • Разбудить компьютер по сети, Использование Bios Wake-on-Lan
      • Универсальные пароли к BIOS
    • Порты
      • Что такое порт? Правила для работы с портами
      • Как читать / писать в I/O порты?
      • Как прочитать байт из параллельного порта?
      • Как узнать адрес LPT-порта?
      • Как программно установить конфигурацию COM-порта в Windows 95?
      • Как узнать имена установленных в системе COM-портов?
      • Как узнать, есть ли в приемном буфере RS232 данные?
      • Компонент для последовательного устройства (TRS232)
      • Как найти список параллельных портов?
      • Печать DOS-файла в порт напрямую
      • Посылать и считывать данные с COM порта, а также менять параметры (биты данных, четность)
      • Пример программирования com портов
      • Работа с последовательными портами
      • Работа с сотовыми телефонами
      • Detect if a USB device is connected or disconnected?
      • Write / read a string to / from the serial port
    • Процессор и сопроцессор
      • Архитектура x86
      • Как запустить процесс на конкретном процессоре в многопроцессорной системе?
      • Как найти скорость процессора?
      • Как получить информацию о процессоре?
      • Как узнать загрузку процессора? (NT/2000/XP)
      • Как определить наличие сопроцессора?
      • Количество активных потоков и загруженность процессора
      • Определение поддержки SSE
      • Определение поддержки SSE2
      • Определение фирмы-производителя CPU
      • Поддерживает ли процессор технологию 3DNow?
      • Поддерживается ли MMX?
      • Получение количества установленных процессоров
      • Получение уровня процессора
      • Работа с портами микропроцессора
    • Видеокарта и монитор
      • Выключить монитор
      • Как отследить изменения дисплея?
      • Как определить видеокарту?
      • Как перевести монитор в режим standby?
      • Как получить screen shot экран вместе с указателем мыша?
      • Как рисовать на экране
      • Как сделать Multi Screen Emulator?
      • Как узнать разрешение экрана?
      • Как узнать количество цветов в системной палитре?
      • Как узнать частоту обновления монитора?
      • Как установить разрешение экрана?
      • Копирование содержимого экрана на форму
      • Настройка монитора
      • Перетасовка экрана
      • Получить все возможные разрешения экрана
      • Получение изображения экрана
      • Получаем и устанавливаем различные режимы видеоадаптера
      • Сохранение изображения экрана в файле
    • Аудиокарта и звук
      • Как выключить master volume в звуковой карте?
      • Как изменить громкость?
      • Как использовать Microsoft Speech API?
      • Как можно включить / выключить звук в системе?
      • Как научить приложение Delphi разговаривать?
      • Как сделать регулятор громкости?
      • Как включить / выключить спикер?
      • Как получить / изменить громкость?
      • Как считать сигнал с микрофона?
      • Как определить, установлена ли звуковая карта?
      • Как определить уровень звука в данный момент?
      • Как можно получить звук с микрофона?
      • Как можно получить звук с помощью MediaPlayer?
      • Как управлять спикером под 9х?
      • Программирование Sound Blaster
      • Сыграть звуковой файл без компонентов
    • Жесткий диск и флоппи
      • Информация о дисках
      • Информация о логических дисках
      • Информация о физических дисках
      • Как заблокировать доступ к дисководу?
      • Как получить инфу о жестком диске?
      • Как получить инфу о SCSI дисках?
      • Как получить серийный номер тома жесткого диска?
      • Как форматировать диск?
      • Как узнать, находится ли дискета в дисководе?
      • Как сделать виртуальный диск?
      • Можно ли удалять из списка TDriveComboBox диски которые отключены?
      • Определение типов логических дисков
      • Прочитать boot-сектор
      • Редактор диска своими руками
      • Cуществует ли диск в системе?
      • Управление метками томов дисков
    • Дисковод (CD / DVD / BD)
      • Активизация или отключение автоматического проигрывания CD
      • Блокировка / Разблокировка CD-ROM
      • Есть ли CD-ROM?
      • Изменение скорости привода CD-ROM
      • Как узнать букву CD-ROM?
      • Как выдвинуть дверцу CD-ROM?
      • Как загрузить иконку CD-ROM?
      • Как записать CD-R / CD-RW?
      • Как открыть CD-ROM, если их несколько в системе?
      • Как узнать серийный номер Audio CD?
      • Как узнать, есть ли в заданном CD-ROM'е Audio CD?
      • Как получить информацию о дорожке Audio CD?
      • Как различать звуковые CD
      • Как узнать количество CD в системе?
      • Как узнать производителя CD / DVD?
      • Обработать момент вставки и вытаскивания CD
      • Практически все о взломе CD
      • CD Remember
      • How to check, if a CD-Recorder is available? (WinXP)
    • Клавиатура и мышь
      • Клавиатура
        • ASCII код для PrintScreen
        • Включение и выключение клавиатуры
        • Выставляем горячие клавиши для Delphi приложения
        • Если нажато более 2-х клавиш одновременно
        • Имитация Tab
        • Заставить мерцать индикаторы клавиш CapsLock, NumLock и ScrollLock
        • Как отличить нажат правый или левый SHIFT?
        • Как отличить нажат правый или левый CTRL?
        • Как перехватить нажатие TAB?
        • Как отключить комбинацию Alt+Tab
        • Как скрыть программу от Alt+Tab?
        • Как заставить кнопку Enter работать наподобие Tab?
        • Как послать нажатие клавиши в какое-нибудь окно?
        • Как програмно имитировать нажатие Ctrl-Esc?
        • Как програмно переключить состояние клавиш Num Lock, Caps Lock, Scroll Lock?
        • Как узнать состояние клавиши CAPS LOCK?
        • Как определить, нажата ли в данный момент клавиша Shift, Ctrl или Alt?
        • Как определить, нажал ли пользователь клавишу PrintScreen?
        • Как глобально перехватить нажатие кнопки PrintScreen?
        • Как конвертировать виртуальную клавишу в ASCII-код?
        • Как програмно переключить раскладку клавиатуры?
        • Как запретить Ctrl-Alt-Del?
        • Как отловить правый Enter (NumPad)?
        • Как заставить дополнительную клавиатуру всегда работать в режиме цифр?
        • Как отловить изменение раскладки клавиатуры?
        • Как очистить буфер клавиатуры?
        • Как перехватить нажатия функциональных клавиш и стрелок?
        • Как узнать о нажатии NON-MENU клавиши в момент, когда меню показано?
        • Как сделать клавишу-акселератор (keyboard shortcut) компонету, у которого нет заголовка?
        • Как определить нажаты ли клавиши Shift, Alt или Ctrl в какой-либо момент времени?
        • Как выполнять другую команду по нажатию на кнопку, если зажата клавиша Shift?
        • Как определить нажатие определенной клавиши во время загрузки приложения?
        • Как отловить правый Enter (NumPad)
        • Коды виртуальных клавиш
        • Регистрируем горячие клавиши
        • Симфония на клавиатуре (статья)
        • Состояние кнопки Insert
        • Оперировать с цифровой частью клавиатуры всегда как будто NumLock занят
        • Определение нажатия определенной клавиши во время загрузки приложения
        • Перехватить нажатие клавиши на клавиатуре
        • Переключение раскладки клавиатуры для приложения
        • Получение типа клавиатуры
        • Програмная эмуляция нажатия клавиш
        • Программно нажимаем Print Screen
      • Мышь
        • Информация о мыши
          • Как узнать, присутствует ли мышка?
          • Как узнать, есть ли у мыши колесико?
          • Определить количество кнопок мышки
        • Информация о положении курсора
          • Как определить координаты курсора мыши?
          • Как отследить выход мыши за пределы формы?
          • Как получить координаты указателя мыши относительно формы в Delphi?
          • Как узнать, находится ли мышка на форме?
        • Имитация мыши, управление курсором
          • Имитировать события мыши
          • Как послать нажатие кнопки мыши в окно?
          • Как имитировать нажатие левой кнопки мыши?
          • Как использовать mouse_event() для эмулирования событий мышки?
          • Как программно двигать курсор мышки?
          • Как автоматически помещать курсор мышки в центр контрола получившего фокус?
          • Пример реализации управления мышью
        • Настройки мыши
          • Как поменять функции кнопок мышки?
          • Как прочитать и изменить doubleclick time?
          • функции для изменения и получения чуствительности мышки
        • Поведение мыши и контролы
          • Добавление события OnMouseLeave
          • Как ограничить движения мышки определенной областью?
          • Как заставить появиться окошко подсказки, когда курсор мышки находится над определенным контролом?
          • Ловить события мышки вне вашего приложения
          • Отключить реакцию на события мыши
          • Отслеживать переход мышки на компонент и уход ее
          • Перемещение контролов мышкой во время выполнения приложения
          • Подсветка компонента во время перемещения над ним мыши
          • Получить Handle и имя класса окна под мышкой
          • Получить дескриптор текущего курсора
          • Получить диапазон, прокручиваемый колесиком мышки
          • Получить заголовок элемента управления под мышкой
          • Проверить, находится ли курсор на линии
        • Функции и процедуры управления мышью
      • Как можно узнать, что было изменениие, например сдвиг мыши или нажатие клавиши?
      • Програмное выключение клавиатуры и мыши
      • Эмулирование мыши / клавиатуры через SendInput()
    • Принтер и печать
      • Настройки принтера, драйвер и очередь печати
        • Как изменить порт для принтера?
        • Как изменить кодовую страницу шрифта принтера?
        • Как найти все форматы бумаги, поддерживаемые принтером?
        • Как открыть диалог добавления принтера?
        • Как получить статус принтера?
        • Как получить разрешение принтера по умолчанию?
        • Как прочитать очередь печати?
        • Как прочитать название порта принтера?
        • Как прочитать / установить принтер по умолчанию?
        • Как получить информацию о заданиях на принтере?
        • Как программно добавить принтер?
        • Как прочитать список возможностей принтера?
        • Как узнать драйвер принтера?
        • Как узнать минимальные поля для принтера?
        • Как установить драйвер принтера?
        • Мониторинг принтера
        • Метрики принтера
        • Настройки принтера
        • Определение количества заданий в спулере печати
        • Определение параметров принтера через API
        • Получить список шрифтов и их размеров для текущего принтера
        • Управляющие коды принтера
        • Escape код PASSTHROUGH
      • Объект TPrinter
        • Задать необходимый для печати принтер
        • Exception при попытке создать обьект класса TPrinter
        • Работа с принтером
      • Диалог прекращения печати
      • Изменение свойств печати во время её выполнения
      • Как вместо печати графики использовать резидентный шрифт принтера?
      • Как мне отправить на принтер чистый поток данных?
      • Как очистить очередь печати принтера?
      • Как правильно печатать любую информацию (растровые и векторные изображения), а также как сделать режим предварительного просмотра?
      • Как прервать печать и заставить печатать свой файл?
      • Как послать файл на принтер?
      • Как распечатать decision grid?
      • Как распечатать TStringGrid?
      • Как распечатать TImage?
      • Как распечатать PRN?
      • Как распечатать BMP?
      • Как сделать предпросмотр?
      • Напечатать миллиметровку
      • Печать ячеек
      • Печать повернутого текста
      • Печать всей формы
      • Печать содержимого TMemo / TListbox
      • Печать в порт принтера
      • Печать с масштабированием
      • Печать текста в обход Windows
      • Печать изображения
      • Печать в Delphi
      • Подробное описание способа печати содержимого формы
      • Прерывание работы принтера
      • Перехватывать печать на принтере
      • Растягивание изображения при печати
      • Сохранение точных размеров при печати
      • Установить размеры бумаги
      • Хитрости печати
      • Print Preview
      • Sending an image to the printer
    • Модем
      • АТ команды модема
      • S-регистры модема
      • Как узнать состояние модема в Win32?
      • Как прочитать из модема?
      • Как получить список установленных модемов в Win95/98?
      • Набор dialup соединения по умолчанию
      • Функция набора номера модемом
      • RAS API для непродвинутых
      • Using TAPI
    • Другие устройства
      • Библиотека для работы с Bluetooth
      • Работа с Bluetooth в Delphi
      • Как работать с джойстиком?
      • Как работать со сканером?
      • Как получить размер физической установленной памяти?
      • Как работать с web-камерой?
      • Немного о джойстиках
      • Определение подключения / отключения нового устройства
    • Разные вопросы
      • Получение уведомлений от оболочки (Shell)
      • Пространство имен оболочки Windows
      • Расширения оболочки Windows
      • Работа со Structured Storage
  • Файловая система
    • Все о файлах (статья)
      • Текстовые файлы
      • Паскалевский метод доступа
      • Работа через WinAPI
      • Типизированные файлы
      • Нетипизированные файлы
      • Файловые потоки
      • Работа через Handle
      • Файловые операции
      • Информация о файле
      • Поиск файлов
    • Свойства файлов
      • Как узнать версию программы?
      • Как выяснить дату последнего изменения файла?
      • Как выяснить дату последнего доступа к файлу?
      • Как выяснить дату создания файла?
      • Как получить тип файла?
      • Как показать контекстное меню для конкретного файла?
      • Как извлечь «Сводку» свойств файла?
      • Как вызвать диалог свойств файла?
      • TFileTime > TDateTime
      • Устанавливаем дату создания файла
    • Чтение и запись в файлы
      • Буферы для потоков
      • Как сравнить два файла?
      • Отображение файлов в память
      • Переместиться в конец файла
      • Список режимов открытия файлов
      • Чтение из открытого файла
      • Утечка памяти при поиске файлов
      • Пример, показывающий принцип работы с Memory Mapped Files
      • Чтение и запись переменных типа Record
    • Файловые операции
      • Как проверить, находится ли файл на локальном диске?
      • Как удалить файл после перезагрузки Windows?
      • Как удалить файл из самого себя?
      • Копирование файлов
      • Объединить два файла
      • Обновление файла после перезагрузки системы
      • Файловые операции средствами ShellAPI
      • Split / merge files
    • Форматы файлов
      • ANSI > ASCII
      • BMP > AVI (для TAnimate)
      • BMP > EMF
      • BMP > DIB
      • BMP > ICO
      • BMP > JPG
      • BMP > EMF (Enhanced Metafile)
      • BMP > RTF
      • BMP > WMF
      • CUR > BMP
      • ICO > BMP
      • JPG > BMP
      • TIF > PDF
      • TXT > GIF
      • DOC > HTML
      • WMF > BMP
      • RTF > HTML
      • HTML > RTF
      • DFM > TXT, TXT > DFM
      • Win1251 <> Koi8r
      • Flash SWF > EXE
      • Дедушка RTF еще послужит
      • Документация на основе RTF-шаблона
      • Декомпилляция звукового файла формата Wave и получение звуковых данных
      • Как инсталлировать INF файл?
      • Как конвертировать WideString в String?
      • Как определить графический формат файла (не используя расширение)?
      • Как прочитать MP3 ID3-Tag?
      • Как прочитать заголовок wav файла?
      • Информация о AVI файле (разбор заголовка AVI)
      • Как работать с DWG файлами (AutoCAD)?
      • Как работать с GIF файлами?
      • Как работать с PDF файлами?
      • Как разрезать wav файл?
      • Как узнать размер картинки для JPG, GIF и PNG файлов?
      • Компонент для работы с PCX файлами
      • Пример работы чтения и сохранении wav-файлов
      • Работа с TGA файлами
      • Формат wave файла
    • Каталоги и подкаталоги, пути к файлам
      • Как найти путь к моей программе?
      • Как скопировать директорию?
      • Как получить UNC-путь к файлу?
      • Как проверить папку на shared?
      • Как получить короткий путь файла, если есть длинный, и на оборот?
      • Как получить длинное имя файла или каталога, зная короткое имя?
      • Проход дерева каталогов
      • Проверяем находится ли файл на локальном диске
      • Cколько файлов есть в определенной папке?
      • Удаление каталога с подкаталогами
    • NTFS
      • CryptoAPI
        • CryptoAPI (статья)
        • CryptoAPI для шифрования файлов случайными ключами
        • Delphi и Windows API для защиты секретов
        • Как шифровать файлы при помощи Windows NTFS API?
        • Методы криптографической защиты информации Windows
      • Как прочитать владельца файла?
      • Как определить, является ли диск NTFS?
      • Права доступа NTFS
      • Создание hardlink и symbolic link
      • Учимся работать с многопоточными файлами в NT
      • Файловая система NTFS (статья)
    • Набор инструментов для оперирования с дисками на физическом уровне
      • Модуль для работы с дисковыми драйверами (на уровне FAT)
      • Модуль для работы с дисковыми драйверами (На уровне секторов)
      • Программа для восстановления удаленных файлов
      • Показать структуру разделов жесткого диска
      • Показать загрузочную запись визуально
    • Разные вопросы
      • Как отслеживать изменение файла?
      • Как использовать Shell API SHBrowseForFolder?
      • Как поместить в буфер файл с помощью File Mapping?
      • Мониторинг изменений на диске
      • Перетаскивание файлов в приложение
      • Поддержка библиотеки сжатия ZLib
      • Пример загрузки файлов в ListView с иконками
      • Пример написания FileListBox
      • Создаем собственный UnRar, используя unrar.dll
      • Справочник по функциям работы с файлами
  • Базы данных
    • Базы данных с нуля (статья)
      • Что такое базы данных?
      • Реляционные базы данных
      • Первая программа с базами данных
      • Визуальные компоненты для DB
      • Работа с таблицами в коде
      • Поиск нужных данных
      • Доступ к базам данных
      • Приемы работы с BDE
      • Создание базы данных
      • Создание таблицы
      • Изменение данных в таблице
      • Понятие о запросе (Query)
      • Запросы на выбор данных
      • Запросы на изменение данных
    • Общие вопросы
      • Как работать с полями типа DateTime?
      • Моя собственная база данных
      • Быстрое копирование таблиц
      • Как найти размер записи?
      • Как перекинуть все данные из одной базы данных в другую?
      • Как передать Username и Password в удаленный модуль данных?
      • Защита данных
      • Нужна база данных, работающая без каких-либо драйверов: без ODBC/BDE/ADO/DAO и т.д.
      • БД − хранилище объектов (статья)
      • Создание базы данных в run-time с ZEOS?
      • Переходим на клиент-сервер (советы), на примере MS SQL Server
      • Запросы и параметры, или как избавится от многих проблем
      • Критерии выбора базы данных (статья)
      • Деревья в SQL
      • Пример простейшего приложения баз данных
      • Пример использования параметров компонентов запросов SQL
      • Пример использования отношения «один-ко-многим»
      • Демонстрирация вариантов поиска записей в таблице базы данных
      • Пример использования закладок (класс TBookmark)
      • Пример использования компоненты синхронного просмотра
      • Пример простого распределенного приложения баз данных
      • Приложение, использующее компоненты многомерного представления данных
      • Работа с транзакциями
      • Зачем нужны транзакции?
      • Что такое журнал транзакций?
      • Почему возникает deadlock?
      • Что такое триггер?
      • Зачем нужен внешний ключ?
      • Что такое репликация?
      • Что такое суррогатный ключ?
      • Внести изменения в набор данных и не потерять текушей позиции
      • Извлечение данных индекса таблицы
      • Проблема с AddIndex
      • Абстрактный набор данных
      • Множество модулей данных − одно соединение
      • Avoiding server side locking (including DEADLOCK)
    • BDE
      • Установка BDE
        • Почему я должен устанавливать BDE?
        • Как установить BDE?
        • Как узнать версию BDE?
        • Как инициализировать BDE, если она установлена в нестандартном месте?
        • Проверка наличия BDE
      • Настройка BDE, Database Desktop
        • Не читаются русские буквы в Database Desktop
        • Ошибка совместного доступа к базе данных
        • Не получается вставить в таблицу записи со строками на русском языке
        • Модификация настроек BDE
      • Непосредственное обращение к BDE
        • Демонстрация обратного вызова BDE
        • Обратные вызовы BDE32 для получения статуса операций
        • Изменение месторасположения *.NET-файла
        • Каким драйвером пользуется TDatabase?
        • Пример DbiAddFilter
        • Пример приложения, напрямую использующее API BDE для удаления записей
        • Пример приложения, напрямую использующее API BDE для представления данных
      • Обзор BDE API
        • Работа с базами данных
        • Конфигурация и настройка
        • Работа с сессиями
        • Обработка исключений
        • Поддержка блокировок
        • Поддержка курсоров
        • Работа с индексами
        • Работа с запросами
        • Работа с таблицами
        • Доступ к данным
        • Управление транзакциями
        • Схемы и возможности
        • Работа с форматами данных
      • Объяснения некоторых ошибок при работе с базами данных
        • Access to table disabled because of previous error. Read failure
        • Database index out of date error
        • BDE Error 2B04 Too many open files
        • BLOB has been modified. Index is out of date
        • ISAPI and CGI Applications get Errors Initializing the BDE
        • При использовании BDE, попытка вызвать abort выдает ошибку компиляции
        • Огромные LCK-файлы (Lock File Has Grown Too Large)
        • Обработка исключения index not found
        • Memo too large
        • Multiple records found, but only one was expected
        • Перехват ошибок DBEngine
        • Stream Read Error
        • Ошибка создания дескриптора курсора
        • Ошибка BDE32 2104
        • Тpансляция ошибок
        • ENoResultSet Error creating cursor handle
      • Поддержка пользователей и защита
        • Как использовать свой диалог ввода пароля BDE?
        • Как сделать список всех пользователей BDE?
        • Как сменить пароль для таблицы Paradox?
      • Работа с Alias
        • Как создать постоянный Alias?
        • Как получить параметры Alias?
        • Как по Alias узнать физический путь к базе данных?
        • Добавление псевдонима с помощью функции DbiAddAlias
        • Задание псевдонима программным путем
      • Работа с базами данных
        • Как использовать базу данных BDE, не указывая её имени?
        • Как узнать физическое расположение локальной БД по Alias?
        • Как проверять корректность доступа к базе данных?
        • Как узнать путь базы данных и её имя?
        • Как зарегистрировать базу данных (BDE)?
        • Определение типа базы данных
        • Как очистить базу данных, оставив только структуру?
        • Как перейти к указанной записи в БД
        • Функция для быстрого копирования таблиц вместе со всеми дополнительными файлами
      • Работа с полями
        • Использование нумерации в TFields
        • Изменить размер поля или его тип
        • Динамическое создание полей
        • Работа с автоинкрементальными (AutoInc) полями
        • Как задать выражение по умолчанию для объекта TField
        • Функции редактора полей во время выполнения программы
        • Создание автоинкрементного поля SQL запросом?
        • Как создать вычисляемые поля во время исполнения программы
        • Как создать поле Lookup во время выполнения приложения
        • Обновление вычисляемых полей
      • Работа с индексами
        • Убывающий индекс
        • Создание индекса
        • Поиск фраз и записей переменной длины
        • Как добиться верной работы фильтра на запросах и на неиндексированных таблицах
        • Индекс БД в другом каталоге
        • Как восстановить индекс Paradox?
        • Как восстановить индексы?
        • Почему не всегда верно обновляются IndexDefs по Update?
      • Работа с таблицами
        • Создание таблицы
        • Очень медленный доступ к таблице при первом обращении
        • Как создать таблицу в памяти?
        • Создание кросс-таблицы
        • Физическое удаление записей в локальных таблицах (BDE)
        • Копирование таблицы с помощью DBE
        • Получение информации о таблице
        • Как сохранить содержимое таблицы в текстовый файл?
        • Кросс-таблица через pivot-таблицу
        • Создание таблицы по образу и подобию
        • Local SQL и временная таблица
        • Как копировать и удалять таблицы?
        • Как сравнить Bookmarks в таблице?
        • Как узнать версию таблицы
      • Работа с запросами SQL в BDE
        • Выполнение запросов к базе данных в фоне
        • BDE: несколько SQL-запросов одним махом
      • Работа с TTable, TQuery и TDatabase
        • Как обновить TQuery не потеряв при этом текущей записи?
        • Дает ли Delphi возможность корректно прервать выполнение SQL-запроса (BDE)?
        • Как добавить копию текущей записи?
        • Создание индексного файла из Delphi
        • Как по имени Базы Данных получить ссылку на компоненет TDataBase?
        • Как выбрать случайную запись?
        • Быстрый доступ к нужной записи в таблице Paradox
        • Как скопировать структуру таблицы?
        • Как результат TQuery сделать в виде постоянной таблицы?
        • Фильтр посредством логического поля
        • Функция вычисления суммы полей
        • Создание и удаление полей во время выполнения программы
        • Как пересчитать все вычисляемые поля (Calculated Fields) без переоткрытия TDataSet?
        • Поиск по нескольким полям
        • Поиск значения при вводе
        • Поиск записи в больших таблицах
        • Поиск записи с помощью TQuery
        • FindKey для нескольких полей
        • Как показать удаленные записи
        • Вставка новой записи через буфер
        • Как передать Username и Password в удаленный модуль данных
      • Работа с BDE в сети, общий доступ к данным
        • Использование BDE в сети
        • Локальный общий доступ
        • Использование BDE приложений в Peer-To-Peer сети
      • Справочные материалы по BDE
        • Каковы текущие ограничения BDE?
        • Cписок зарезервированных слов Local SQL BDE
        • Список ошибок BDE
        • Протокол блокировки BDE
        • Архитектура BDE и его особенности при работе с SQL-серверами (статья)
        • Конфликт IDAPI German и English
      • Разные вопросы
        • Проблемы использования компонента TStoredProc
        • Как сделать экспорт TDataSet в XML-файл?
        • Какой формат данных предпочесть в Delphi? DBase или Paradox?
        • Пример вызова TUtility DLL из Delphi?
        • Правила для SetRange
        • Как заставить BDE сохранять в БД поле времени с сотыми долями секунды
        • Как ускорить поиск?
        • Загрузить все записи в TStringList одним махом?
        • Как предотвратить Data Corruption (повреждение данных)?
        • Информация о TDataLink
    • ADO
      • Использование ADO (статья)
        • Перечислители
        • Объекты соединения с источниками данных
        • Сессия
        • Транзакции
        • Наборы рядов
        • Команды
        • Провайдеры ADO
        • Реализация ADO в Delphi
        • TADOConnection
        • Наборы данных ADO
        • TCustomADODataSet
        • Параметры
        • TADODataSet
        • TADOTable
        • TADOQuery
        • TADOStoredProc
        • Команды ADO
        • Объект ошибок ADO
      • Компоненты ADO (статья)
      • ADO и SQL Server. Руководство разработчика
      • Как работать с ADO компонентами в DLL?
      • Из Paradox в Access при помощи ADO
      • Курсоры в ADO
      • Поиск в базе данных
      • Экспорт ADO таблиц в разные форматы
      • Экспорт из TDBGrid в Excel без OLE
      • Как узнать версию ADO?
      • Как сделать ADO-connection?
      • Как узнать перечень таблиц базы и количество записей в них?
      • ADO+Delphi5: постоянные ошибки BOF или EOF
      • Передача параметров ADO запросу
      • Как работать из Delphi напрямую с ADO?
      • Запись картинки в ADO-таблицу
      • Быстрый доступ к ADO
      • Access Violation при передаче неполного параметра
      • Как сделать ADOConnection с использованием OLE-Automation?
      • Пример приложения, демонстрирующее возможности технологии ADO
      • ADO.OLEDB.JET − Access Violation при передаче неполного параметра
      • Как работать из Delphi напрямую с ADO
      • Как сделать ADO-connection
      • Опыт использования ADO для доступа к базам данных форматов MS Access, xBase и Paradox
    • ODBC
      • Как создать новый DSN из программы?
      • ODBC соединения
      • Установка ODBC
      • Конфигурирование ODBC
      • Конфигурирование ODBC и псевдонима
      • Получение дескриптора ODBC соединения
      • Получаем имена ODBC-источников
      • Добавление ODBC-драйверов в Delphi
      • Установка ODBC − Watcom SQL
    • DBExpress
      • Технология dbExpress (статья)
        • Драйверы доступа к данным
        • Соединение с сервером баз данных
        • Управление наборами данных
        • Транзакции
        • Использование компонентов наборов данных
          • TCustomSQLDataSet
          • TSQLDataSet
          • TSQLTable
          • TSQLQuery
          • TSQLStoredProc
        • TSimpleDataSet
        • Способы редактирования данных
        • Интерфейсы dbExpress
          • ISQLDriver
          • ISQLConnection
          • ISQLCommand
          • ISQLCursor
        • Отладка приложений с технологией dbExpress
        • Распространение приложений с технологией dbExpress
      • Развертывание приложения, использующего dbExpress
      • Создание DBExpress-Connection в runtime
      • Перенос приложений с BDE на dbExpress (статья)
      • Создание DBExpress соединения в runtime
      • Особенности использования BLOB-полей в dbExpress на примере MySQL
      • База данных без BDE
      • Пример приложения, демонстрирующего возможности технологии dbExpress
    • DBase
      • Как создать DBase базу данных?
      • Работа с удаленными записями
      • Как паковать таблицу?
      • Индексы выражений
      • Формат и размер dBase-поля
      • Восстановление записи dBase
      • При использовании DOS DBF файлов − перекодировка между форматами
      • Как создать dBASE таблицу во время выполнения
      • Как сделать откат внутри триггера
      • Удалить dbase index flag
      • Index not found Exception
      • Создание/пересоздание индекса
      • Показ меток удаленных записей в dBASE-файлах
      • DBASE − Индексы выражений
      • Определение номера записи в таблице dBASE
      • DBFSeek и DBFLocate
      • Как прочитать базу данных с Досовским шрифтом
      • Как открыть индексированную таблицу dBase, если отсутствует файл индекса
    • Oracle
      • Oracle и TStoredProc
      • В режиме отладки приложения не разрешается открытие базы данных
      • Динамические SQL-запросы Oracle для ускорения выборок данных
      • Доступ к Oracle через ADO
      • Доступ к объекту Oracle
      • Как в Oracle создать sequence с некоторого номера?
      • Как выяснить номер версии Oracle?
      • Как заставить ORACLE анализировать все таблицы?
      • Как корректно прервать выполнение SQL-запроса?
      • Как на Oracle поменять compatible?
      • Как напрямую добраться до Oracle?
      • Как настроить Personal Oracle с русским языком на корректную работу с числами и BDE
      • Как получить текущую дату?
      • Как правильно соединяться с базой данных под Personal Oracle?
      • Как при выполнении долгой операции в Oracle показать прогресс бар?
      • Компонент TStoredProc
      • Подключение к Personal Oracle с помощью BDE
      • Понятия Instance, Database и т.д.
      • После логина возникает EExternalError 0xC0000008
      • Связь с personal Oracle
      • Сжатие данных в целях экономии места и ускорения работы Oracle
      • Cоздание приложений для ORACLE с помощью Delphi Client-Server
      • Выводить текст с помощью DBMS_OUTPUT.PUT_LINE в режиме отладки
    • MS Access
      • Automating Microsoft Access
        • Start Access
        • Opening Access (early binding)
        • How to open a database
        • How to close a database
        • How to open a report
        • How to list all reports and forms
      • Help по синтаксису SQL для MS Access (DAO/ADO/ODBC)
      • UPDATE из SELECT'а
      • Возникает сложность копирования MS Access
      • Дата в SQL запросах в MS Access
      • Задать пароль на MS ACCESS через ADO
      • Записываем в Access, используя OLE DB
      • Использование таблиц Access при помощи ODBC
      • Как можно открыть отчет (в режиме print preview а также print direct) в MS Access?
      • Как найти пароль к базе данных?
      • Как открыть базу данных Microsoft Access .MDB в Delphi?
      • Как паковать базу данных?
      • Как получить список таблиц в базе Access?
      • Как редактировать группы и пользователей?
      • Как скопировать таблицу из одной базы данных в другую?
      • Как создать таблицу в MS Access при помощи DAO?
      • Как узнать номер автоинкремента при вставке новой записи?
      • Как экспортировать все таблицы в CSV файл?
      • Поверка версии Microsoft OLE DB JET 4.X
      • Примеры работы с репортами
      • Проверить файл базы данных на возможность открытия в монопольном режиме
      • Программное сжатие базы данных Access, используя JRO
      • Создание новой MS Access базы данных
      • Программное создание таблиц и ключей (первичных и вторичных) для БД Access
      • Why can’t I connect to an Access database using the BDE and native MSACCESS driver?
    • MS SQL Server
      • Особенности работы с БД на MS SQL Server 2000 из Delphi 5 (статья)
        • Обзор сервера
        • Особенности реализации клиентской части
        • Особенности реализации серверной части
          • SELECT
          • INSERT, UPDATE и DELETE
          • CREATE TABLE и типы данных
          • Написание триггеров
          • Пакеты команд
          • Обработка ошибок
          • Блокировки
          • Обработка транзакций
          • Соответствие стандарту ANSI SQL 92
          • Модель безопасности
          • Оптимизатор запросов MS SQL Server
          • Получение уникальных идентификаторов
          • Временные таблицы
          • Создание хранимых процедур и триггеров
          • Кластерные индексы
          • Определяемые пользователем функции
        • Советы по работе с MS SQL Server
      • Как узнать, доступен ли в сети сервер MS SQL?
      • Как удалить таблицу?
      • Extended Stored Procedures with Delphi − Using the ODS (Open Data Services) API from Delphi
      • Самый быстрый способ узнать количество записей в таблице
      • Как узнать версию сервера?
      • Как найти все Alias, укакзывающие на MS SQL Server?
      • Разработка внешних Stored Procedures
      • Блокируется таблица в MS SQL Server
      • Поиск по мемо-полям
      • Как вернуть результат в виде XML?
      • Как поймать свой RAISEERROR в Delphi
      • Как построить строку подключения
      • Как запустить DTS из StoredProcedure
      • Поиск значения по любому столбцу
      • Запись файла
      • Выбрать случайные несколько записей
      • Отсортировать результат случайным образом
      • Доступ к внешнему серверу по IP адресу
      • Посчитать события по месяцам
      • Пронумеровать строки в результате запроса
      • Узнать автоинкрементное поле после вставки
      • Вставить сразу несколько строк в таблицу одним запросом
      • Удалить данные из таблицы и обнулить автоинкремент
      • Удалить временную таблицу по имени
      • Добавить расширенное свойство к таблице
      • Прочитать расширенное свойство таблицы
      • Получить список индексов таблицы
      • Получить размеры таблиц
      • Проверить, существует ли индекс
      • Проверить, есть ли значение в таблице
      • Проверка на ошибки исполнения конструкции SQL
      • Пример использования курсоров
      • Выполнение SQL, заданного строкой
      • Преодоление барьера в 8000 символов в динамическом SQL
      • Использование табличных переменных
      • Транзакции и откат при ошибках
      • Использование case
      • Подождать 1 секунду средствами SQL
      • Целочисленное деление
      • Остаток от деления
      • Проверка битовых значений
      • Узнать текущую дату / время
      • Сгенерировать новый GUID
      • Как использовать в UDF функциях GetDate() и NewID()
      • Вычленение подстроки из строки
      • Замена подстроки на другую
      • Местоположение символа в строке
      • Выделить подстроку (@result) после подстроки (@substr) в строке (@str)
      • Выделить подстроку (@result) перед подстрокой (@substr) в строке (@str)
      • Узнать количество строк, участвовавших в последнем SQL-запросе
      • Узнать имя текущего SQL сервера
      • Пример вызова хранимой процедуры
      • Пример вызова хранимой процедуры c передачей переменной
      • Пример вызова хранимой процедуры с указанием переменных
      • Пример вызова хранимой процедуры с возвращаемой переменной
      • Пример вызова динамического SQL с возвращаемой переменной
      • Пример создания хранимой процедуры
      • Оптимизация хранимых процедур
      • Сгенерировать собственную ошибку
      • Если имя зарезервировано
      • Вернуть дату без временной части
      • Вернуть только время без части даты
      • Возведение в степень для больших чисел
      • Перехват множественного рекордсета
      • Место, занимаемое таблицей
      • Узнать ширину столбца
      • Послать E-mail
      • Получить список полей таблицы
      • Выполнить DOS-команду на серверном компьютере
      • Сохранить значение текстовой переменной в файле
      • Экспортировать таблицу или результат запроса в файл
      • Загрузить файл в BLOB-поле
      • Сохранить BLOB-поле в файл
      • Отключить пользователя и прервать все его запросы
      • Вывести список блокировок
      • Создать скрипт базы данных путем запроса
      • Посмотреть информацию об индексах
      • Освободить transaction log
      • Удалить прилинкованный сервер
      • Узнать путь к прилинкованной файловой базе данных
      • Прилинковать MS Access базу данных как удаленный сервер
      • Прилинковать MS Excel книгу как удаленный сервер
      • Создать SQL-скрипт, который бы учитывал порядок создания объектов
      • Вывести список активных пользователей
      • Как поменять установки на case-sensitive у сервера
      • Прочитать файл
      • 10 вещей, которые убедят вас перейти на сервер 2005
      • Перекодировка в Code 128
      • Сформировать штрихкод
      • Конвертирование числа в строку, которую понимает Excel
      • Вернуть строку в DOS-кодировке
      • Строка в WIN-кодировке
      • Как получить обновление данных по событию, а не таймером
      • Дерево на базе MS SQL
      • Идея стандартизации элементов клиента базы данных
      • Модуль, содержащий несколько удобств для работы с MS SQL посредством ADO
      • Перевод ODS API MS SQL 2000 на Delphi (написание extended stored procedures)
      • Аналог функции FormatDateTime на TSQL
    • InterBase
      • Выборка данных
        • Можно-ли в запросах делать поиск по BLOB?
        • Как избавиться от ошибки multiple rows in singleton select?
        • Как оптимизировать запросы?
        • Почему в операторе SELECT для VIEW нельзя использовать ORDER BY?
        • Почему таблица или select показывается в Grid быстро, а перемещение в конец таблицы происходит долго?
      • LogOn, пользователи и защита информации
        • Автоматический logon к локальной InterBase
        • Как предотвратить появление login dialog?
        • Можно ли создать пользователя БД при помощи SQL-команды?
        • Установка InterBase и добавление пользователя
      • Проблемы установки, подключения и запуска IB
        • Как остановить или запустить IB сервис?
        • Как я могу работать с IB с клиентского компьютера?
        • Можно-ли поместить БД IB на CD-ROM?
        • Не могу подсоединиться к IB из под web-сервера IIS, Netscape, Baikonur и др
        • Как установить клиента InterBase
        • Сколько памяти использует IB на сервере?
        • Проблемы с открытием базы данных
        • Что такое ISC4.GDB? Для чего нужна эта БД?
        • Пропажа прав пользователей в Local IB после переноса
        • Как переносить базы данных между разными IB?
        • Почему IB работает неустойчиво на NetWare 4.x?
        • Включение WAL на NetWare ухудшает производительность на 80% при вставках записей, и только на 15% − при обновлениях
        • Каков максимальный размер базы данных IB?
      • IB и русский язык
        • В InterBase при создании базы ввести параметр для поддержки русского языка
        • Использование русских кодировок приводит к ошибке
        • Как заставить InterBase принять COLLATE PXW_CYRL по умолчанию?
        • Работает ли IB с русскими буквами?
      • Сколько БД я могу открыть в одной транзакции?
      • В каких версиях IB поддерживаются уведомления о событиях (Event Alerts)?
      • Как получить текущее время?
      • Как получить список таблиц?
      • Как восстановить целостность автоинкрементного поля?
      • Ошибка: lock manager out of room
      • Ошибка о файле SAA.AAA
      • Как гарантированно сделать backup?
      • Проблемы с автоинкрементальными полями
      • Есть ли способ восстановить несохраненные (uncommitted) изменения БД, например в случае отключения питания?
      • Можно-ли создать индекс по полю view?
      • Как скопировать данные между БД?
      • Мне нужны временные таблицы, но их нет в IB. Что делать?
      • В чем разница между CHAR и VARCHAR? Что лучше использовать?
      • Как выполнить create procedure / trigger при помощи TQuery?
      • Ошибка при установке Internal error near IBcheck
      • Interbase BLOB-поля
      • Удаление большого количества записей
      • Создание UDF для InterBase
      • При попытке регистрации UDF возникает ошибка − udf not defined
      • Переход с Oracle на InterBase
      • OLE и Interbase − прочесть и записать
      • Hе получается открыть таблицу (WIN1251 undefined)
      • Генераторы и их использование
      • О системных таблицах InterBase
      • InterBase для программиста
      • Шифрование текстовых полей таблицы InterBase
    • Foxpro
      • Краткое описание Foxpro
      • Ограничения Foxpro
      • Создание таблицы Foxpro
    • MySQL
      • Как подсоединиться к MySQL?
      • Подключение через TMySQLClient & TMySQLResult
      • Справочник по MySQL
    • Paradox
      • Как назначить пароль на таблицу?
      • Как изменить языковый драйвер в runtime?
      • Как пересоздать индексы?
      • Ограничения Paradox
      • Reading the autoincrement value of Paradox table
      • Имя пользователя Paradox
      • Ввести пароль Paradox
      • Печать структуры таблицы Paradox
      • Вскрытие запароленной таблицы Paradox
      • Размеры полей таблицы Paradox
      • Как упаковать таблицу?
      • Создание таблицы с автоинкрементальным полем
      • Не сохраняются изменения в базе Paradox
      • Каскадированное удаление с проверкой целостности Paradox
      • Как уменьшить дату в Paradox
      • Как сменить пароль (master password) для таблицы Paradox
      • Доступ к таблицам Paradox на CD или c флагом только для чтения
      • Paradox и неверные индексы Win95
      • Byte-поля Paradox
      • Краткое описание Paradox
      • Как добавить пароль к таблице
      • Как восстановить поврежденную таблицу?
    • ASCII, CSV
      • ASCII драйвер для CSV-файлов
      • ASCII-файл с использованием полей
      • RecCount в таблицах ASCII
      • Быстрая обработка CSV файла
      • Импорт CSV ASCII
      • Импорт большого CSV файла
      • Как определить, имеет ли файл ASCII-формат
      • Как экспортировать таблицу базы данных в ASCII-файл?
      • Формат файла ASCII-схемы
      • Читаем CSV текстовый файл в StringGrid
    • Clipper
      • Работа с индексами Clipper'а
    • DB/2
      • Что такое DB2?
      • Как заставить работать DB2 через протокол IPX?
      • Как создать БД в кодировке CP1251?
      • Почему DB2 ругается на Create Trigger?
      • Технологическое лидерство DB2
    • SyBase
      • SyBase Transact-SQL
        • Вступление
        • Запросы: выбор данных из таблицы
        • Соединения: выбор данных из нескольких таблиц
        • Подведение итогов, группировка и сортировка
        • Создание и использование типов данных
        • Создание баз данных и таблиц
        • Подзапросы: запросы внутри запросов
        • Добавление, изменение и удаление данных
        • Views
        • Использование встроенных функций
        • Создание индексов в таблицах
        • Определение правил и умолчаний для данных
        • Пакеты и язык управления заданиями
        • Использование сохраненных процедур
        • Триггера: поддержка ссылочной целостности
        • Курсоры: доступ к отдельным строкам
        • Транзакции
      • Delphi и SyBase (официальное руководство)
      • Архитектура SyBase System
      • 32-битное соединение с сервером SyBase
    • Informix
      • Язык SQL (на примере диалекта Informix)
      • Краткое пособие по языку Informix-4GL
      • О руссификации Informix
      • Формат операторов Informix-4GL
    • BLOB-поля
      • Как записать файл в BLOB-поле?
      • Как удалить данные из BLOB-поля?
      • Как в TBlobField загрузить картинку из переменной типа TBitmap?
      • Как сохранить RTF в TBlobField?
      • Как определить реальный размер поля типа BLOB, которое сохранено в таблице?
      • Загрузка изображений в BLOB-поля
      • Извлечение изображения из BLOB-поля
      • Сохранить в базе картинку формата JPEG
      • Изображения и InterBase BLOB-поля
      • Запись потока в BLOB-поле
      • Запись и чтение чисел в BLOB-поле
      • BlobField как Bitmap
      • Чтение OLE из BLOB-поля Paradox
      • Сохранение и чтение файлов в BLOB-полях
      • Сохранение TForm и её свойств в BLOB-поле
      • Связать поле BLOB-таблицы Paradox с компонентом TRichEdit через потоки
      • Как записать в BLOB- поле большой текст (более 255 символов)?
      • Приемы работы с BLOB (OLE/Memo) полями
      • Извлечение текста из TMemoField
      • Сохранить F1Book в Blob поле
      • Storing / Playing an AVI file in a database
    • SQL
      • SQL-запросы в Delphi
      • Генератор SQL-запросов Insert / Update
      • Интерактивные SQL-запросы
      • Как получить результирующим полем разницу между хранимой датой и текущей датой?
      • Как создать таблицу через SQL?
      • Локальные операторы языка SQL (BDE)
      • Основы языка SQL (статья)
      • Синтаксис SQL-функции Substring
    • XML
      • XML: будущее гипертекста?
      • Конвертировать INI-файл в XML
      • Конвертировать результат запроса в XML и обратно
      • Конвертировать таблицу в XML
      • Парсер XML
      • Парсер подавляющего большинства нотаций XML
      • Сбростить BDE базу данных в XML файл
      • Создание DTD для объекта
      • Стилевые таблицы XSL
      • TClientDataSet: некорректное формирование XML
      • TClientDataSet: утечка памяти при загрузке XML
      • XML сериализация объекта Delphi
      • Parsing XML
    • Другие базы данных
      • Возможности PostgreSQL
      • Обучающее руководство по PostgreSQL
      • Использованию в Delphi прямых обращений к ядру Btrieve
      • Руководство по Btrieve
      • Прямой доступ к базе данных 1С
      • Advantage Database Server
      • Berkeley DB
      • ObjectHaven
    • Работа с визуальными компонентами (DB Сontrols)
      • TDBGrid
        • TDBGrid компонент c разными цветами: удаленные, обновленные и добавленные записи
        • TDBGrid − сохранение конфигурации
        • TDBGrid и множественный выбор
        • TDBGrid.DefaultDrawDataCell
        • TDBGrid.CutToClipboard
        • TDBGrid с номером строки
        • TDBGrid со свойствами Col и Row
        • Буфер обмена и ячейки TDBGrid
        • Выделить все поля в TDBGrid?
        • Использование Enter как Tab в TDBGrid
        • Как в TDBGrid узнать, над каким полем висит мышь?
        • Как в TDBGrid pазpешить только опеpации UPDATE записей?
        • Как вывести Hint для ячейки TDBGrid?
        • Как выделить цветом текущую строку в TDBGrid?
        • Как заблокировать TDBGrid от автодобавления новой записи?
        • Как заблокировать функцию вставки записи в компоненте TDBGrid?
        • Как заменить данные в столбце компонента TDBGrid?
        • Как заставить корректно работать колесо мыши в TDBGrid?
        • Как зафиксировать один или несколько столбцов в TDBGrid с возможностью навигации по этим столбцам?
        • Как изменить число фиксированных колонок в TDBGrid?
        • Как защитить запись в TDBGrid от удаления?
        • Как изменить шрифт определенной строки в TDBGrid?
        • Как изменить цвет отмеченных записей в TDBGrid?
        • Как определить изменение фокуса строки в TDBGrid?
        • Как отобразить выбранную строку TDBGrid различными цветами?
        • Как передвинуть колонку в TDBGrid?
        • Как показать содержимое TMemo-поля в TDBGrid?
        • Как показать TDBGrid в режиме disabled?
        • Как получить содержимое поля[1,1] TDBGrid?
        • Как поместить графическое изображение в TDBGrid?
        • Как программно перевести TDBGrid в режим редактирования?
        • Кам при прокрутке зафиксировать левое поле сетки?
        • Как работать с выделенными запясями в TDBGrid?
        • Как сделать, чтобы в TDBGrid вместо цифр были соответствующие константы?
        • Как сделать, чтобы необходимая ячейка TDBGrid получила фокус ввода?
        • Как убрать HScroll у TDBGrid?
        • Как удалить вертикальную полосу прокрутки (скроллбар) из TDBGrid?
        • Как узнать значения, которые пользователь вводит в TDBGrid?
        • Как экспортировать содержимое TDBGrid в Excel или Clipboard?
        • Копирование информации из TDBGrid-а в Clipboard
        • Перемещение по таблице с помощью вертикальной полосы прокрутки
        • Перемещение из TDBGrid
        • Печать содержимого TDBGrid через Quick Report
        • Позиция ячейки в TDBGrid
        • Пример Drag & Drop между двумя TDBGrid
        • Прокрутка таблицы − хитрость PeekMessage
        • Решение проблемы передачи фокуса TDBGrid
        • Рисование текста в TDBGrid
        • Самый продвинутый TDBGrid
        • Симуляция нажатия кнопки при наличии TDBGrid
        • Сортировка TDBGrid по клику на колонке?
        • Текущая строка и поле в TDBGrid
        • Цвета в TDBGrid
        • Шапка в TDBGrid
        • Экспортировать TDBGrid в HTML
        • Что можно поместить в TDBGrid?
      • TDBNavigator
        • Выключение кнопок в TDBNavigator
        • Как выделить кнопку в TDBNavigator программно?
        • Как сменить картинки на TDBNavigator?
        • Настройки всплывающих подсказок в TDBNavigator
        • Нажать кнопку TDBNavigator програмно
        • Подмена данных в визуальных DB-компонентах
        • Свойства кнопок TDBNavigator
        • TDBNavigator без иконок
      • Древовидные структуры
        • TDBTreeView своими руками
        • TTreeView − компонент для показа dataset в виде дерева с сохранением
        • Построение древа TTreeView из базы данных
        • Процедура заполнения компонента TTreeView данными из TDataSet-совместимой выборки
      • ActiveControl имеет DataSet
      • Использование DB Controls без базы данных
    • Теория баз данных, архитектура и проектирование
      • Архитектура «Клиент-cервер»
      • Архитектура «Хост-терминала»
      • Архитектура на основе разделяемых файлов
      • Архитектура с использованием сервера приложений (трехзвенная архитектура)
      • База данных и система управления базами данных
      • Информационная система
      • Математические основы реляционных СУБД
      • Многоуровневые модели в архитектуре клиент-сервер
      • Многомерное представление данных (статья)
      • Модели данных
      • Объектно-ориентированный подход и современные мониторы транзакций
      • Обзор средств проектирования информационных систем
      • Понятие о модели и схеме базы данных
      • Проектирование баз данных (статья)
      • Проектирование баз данных: новые требования, новые подходы
      • Распределенные информационные системы и базы данных
      • Чем отличаются «версионники» от «блокировочников»?
  • Интернет, Сети и Протоколы
    • Интернет
      • Доменная система имен
      • Есть ли соединение с инетом?
      • Использование интернет-функций Win32 API
      • Как загрузить веб-страницу со скрытым IP?
      • Как заполнить форму и отправить на сервер?
      • Как можно разорвать соединение с интернетом?
      • Как проверить существование URL?
      • Как скачать любой URL используя стандартные настройки сети?
      • Как узнать размер файла в интернете?
      • Как узнать тип соединения с интернетом?
      • Можно ли определить интернет адрес?
      • Обзор компонентов InternetExpress
      • Отправка SMS при помощи Delphi
      • Подключиться к интернету, определить активные соединения, определить и сохранить параметры соединения
      • Пример получения информации с WhoIs сервера
      • Пример загрузки HTML-страницы при помощи WinInet
      • Работа с WinInet, демо получения HTML-кода страницы
      • Создаем свой GetRight
      • Traсert, принцип трассировки маршрута прохождения сетевого запроса
      • Alexa Rank, Google PR, Yandex тИЦ
    • Локальная сеть
      • Работа с MailSlots
        • Обмен информацией между Вашими программами в сети по почтовым каналам
        • Отправка WinPopup сообщения через MailSlots
        • Пример работы с MailSlot
      • Библиотека для работы с LAN
      • Демонстрационная программа сканирования сети
      • Демонстрационная программа получения информации о компьютере по IP
      • Демонстрационная программа получения информации об удаленном компьютере
      • Демонстрационная программа Tracert.exe
      • Демонстрационный пример сниффера
      • Добавление и удаление общих сетевых ресурсов
      • Запущен ли сервер удаленного доступа (RAS)
      • Имена сетевого адаптера, системное имя устройства и описание
      • Как выключить удаленный компьютер?
      • Как изменить пароль для указанной сети или домена?
      • Как найти все комьютеры в сети?
      • Как определить MAC адрес NIC?
      • Как получить primary domain controller (PDC)?
      • Как расшарить диск?
      • Как синхронизировать время на двух компьютерах?
      • Как узнать, подключен ли компьютер к сети?
      • Как узнать имя домена Windows NT/2000?
      • Как узнать имя компьютера?
      • Обзор сети (типа Network Neighborhood)
      • Описание протокола DNS
      • Подключение сетевого диска
      • Получение времени удаленного компьютера, Пример использования NetRemoteTOD
      • Получение информации по IP
      • Получение информации о пользователях и группах домена
      • Получение файла из сети
      • Получить список процессов в компьютере сети
      • Получить список пользователей, подключенных к сети
      • Получение имени пользователя и домена
      • Получение IP-адресов всех компьютеров в рабочей группе
      • Пример получения информации о NETBIOS именах компьютера
      • Пример получения информации о пользователях, группах и рабочих станциях домена
      • Путеводитель по RFC
      • Создание Аккаунта в Windows, используя ADSI (Активные директории)
      • Сканирование доменов локальной сети
      • Сканирование локальной сети
      • Список установленных сетевых интерфейсов
      • Таблица NetBIOS-имен удаленных компьютер
      • Формулы передачи данных для начинающих
      • RNA API
      • SVR API для непродвинутых
    • Сокеты
      • CrtSock − модуль для работы с сокетами в Delphi32
        • Crtsock.pas
        • FtpSock.pas
        • HttpSock.pas
        • PopSock.pas
        • SmtpSock.pas
      • Что такое сокет?
      • Где TServerSocket и TClientSocket в Delphi 7?
      • Использование компонента TServerSocket
      • Асинхронная ошибка
      • Использование WSAAsyncSelect в DLL
      • Как запросить страницу с сайта?
      • Как отправить веб-форму на сервер?
      • Как передать картинку по сети через TServerSocket?
      • Как послать широковещательный UDP-пакет?
      • Когда приходит несколько пакетов в одном
      • Модуль для принятия и отправления длинных блоков данных
      • Определить, занят ли порт сокета
      • Отправка файлов при помощи TClientSocket / TServerSocket
      • Посылка Raw IP-пакетов
      • Перевести коды ошибок Winsock'a в текстовый вид
      • Прием текста, передаваемого с помощью метода SendText
      • Примеры работы с socket
      • Программирование серверов на основе сокетов в Delphi
      • Процедуры передачи и приема блоков данных, с учетом фрагментации и склейки пакетов
      • Сетевеая библиотека Winsock
      • Создание сетевых приложений на Delphi с использованием Windows Sockets API
      • Do an application loader with TCP?
    • Indy
      • Глубины Indy
        • Введение в сокеты
        • Введение в Indy
        • Блокирующий режим против неблокирующего
        • Введение в клиентов
        • UDP
        • Чтение и запись
        • Обнаружение разъединения
        • Реализация протоколов
        • Прокси
        • Обработчики ввода / вывода (IOHandlers)
        • Перехватчики (Intercepts)
        • Отладка
        • Параллельное выполнение (Concurrency)
        • Кодовые потоки
        • Серверы
        • SSL − безопасные сокеты
        • Indy 10 обзор
        • Преобразование Delphi приложений в Delphi .NET
      • Введение в Indy
      • Где взять примеры использования Indy?
    • TCP/IP, UDP
      • Семейство протоколов TCP/IP
      • Протокол IP
      • Протокол TCP
      • Что такое протокол межсетевого взаимодействия IP?
      • IPv6 или 667 квадрильонов адресов на квадратный миллиметр земной поверхности
      • Как вычислить IP-адрес по доменному имени?
      • Как вычислить IP-адрес компьютера?
      • Как оперделить все IP и порты на моем компьютере?
      • Как по IP адресу получить Hostname (и обратно)?
      • Как преобразовать http://192.168.1.2 в http://3232235778?
      • Как преобразовать длинный IP-адрес в короткий адрес / порт?
      • Как узнать IP-адрес?
      • Как узнать IP клиента и IP сервера для активного RAS-подключения?
      • Назначение портов
      • Обмен информацией по TCP/IP-протоколу
      • Подключен ли в своем компе протокол TCP/IP?
      • Получение IP-адреса и маски для всех сетевых интерфейсов
      • Получение TCP/UDP статистики
      • Преобразуем доменное имя в IP адрес
      • Пример получения TCP и UDP статистики
      • Смена IP-адреса
      • Трассировка пути до определенного IP-адреса (Traceroute)
    • HTTP
      • HyperText Transfer Protocol − протокол обмена WWW-серверов
      • Обзор HTTP
      • Использование HTTP в Delphi
      • Коды ответов HTTP сервера
      • Пример простейшего HTTP-сервера
      • Пример HTTP Get − загружаем файлы и страницы из Интернета
      • HTTP кодирование строки
      • URL кодирование строки
      • URL декодирование строки
      • Форматы кодирования файлов Интернет
    • FTP
      • FTP
      • Как загрузить файл?
      • Компонент TNMFTP
      • Пример FTP-сервера
      • Разбор адреса FTP
    • ICQ
      • ICQ2000 − сделай сам (статья)
        • Main.pas
        • Packet.pas
        • Types.pas
        • MessForm.pas
        • SendMess.pas
        • UInfo.pas
        • SUser.pas
      • Как послать сообщение?
    • E-mail
      • Как найти SMTP Mail Server по умолчанию?
      • Как отправить Email?
        • Автозаполнение формы для нового письма
        • Использование COM-объекта Outlook
        • Использование SMTP Relay Server
        • Пример работы с SMTP
        • Работа через MAPI
        • Send e-mails via WinSock API?
      • Как получить имена установленных почтовых клиентов?
      • Описание протокола POP3
      • Описание протокола SMTP
      • Примеры для работы с POP3
      • Примеры для работы с E-mail
      • При чтении почты POP3 отделять Attachment и сохранять в файл
      • Технологии взлома E-mail
      • Проверка правильности E-mail адреса
      • FAQ по почтовым протоколам
    • Ping
      • Как сделать Ping?
    • Telnet
      • Telnet
      • Управление приложением через Telnet
      • Учимся работать с POP3 по Telnet'у
    • ARP
      • Описание протокола ARP (Address Resolution Protocol)
    • SSH
      • Описание протокола SSH (Secure Shell)
    • Другие протоколы
      • Компонент TNMEcho
      • Компонент TNMDayTime
      • Описание протокола ICMP (Internet Control Message Protocol)
      • Пример программирования обращения к IRC
      • Протокол IMAP4 (Internet Message Access Protocol)
      • Протокол SOCKS 5
      • Протоколы маршрутизации
      • Управляющий протокол SNMP
      • PPP
      • WhoIs, демо получения информации с WhoIs сервера
    • Работа с Microsoft Internet Explorer
      • Закрытие всех окон IE
      • Как автоматически заполнить поля формы в IE?
      • Как взять URL из окна IE?
      • Как добавить пункт в контекстное меню IE?
      • Как добавить кнопку в панель инструментов IE?
      • Как добавить cookie?
      • Как обновить все окна IE?
      • Как определить, установлен ли IE?
      • Как открыть HTML-файл в стандартном браузере?
      • Как очистить кэш в IE?
      • Как получить активный URL из браузера?
      • Как получить handle на editbox в IE?
      • Как прочитать выделенный текст из IE?
      • Как прочитать / изменить домашнюю страницу IE?
      • Как узнать browser по умолчанию?
      • Как узнать путь к браузеру по умолчанию?
      • Как узнать версию IE?
      • Кнопка программы в IE
      • Перехват сообщений IE
      • Связка ActiveX − Internet Explorer
      • Удалить временные файлы IE
      • Узнать информацию о прокси сервере
    • Работа с TWebBrowser
      • Использование TWebBrowser (статья)
      • Что из себя представляет TWebBrowser?
      • Где можно найти документацию на TWebBrowser?
      • Доступ к отдельным элементам страницы в TWebBrowser
        • Использоватние Drag & Drop для заполнения полей в TWebBrowser?
        • Как работать со всеми фреймами, отображенными в данный момент в TWebBrowser?
        • Как работать со всеми ячейками <table>?
        • Как добраться до конкретного фрейма?
        • Как найти и выделить текст TWebBrowser?
        • Как нажать кнопку в TWebBrowser, когда в окне есть несколько кнопок?
        • Как получить текст HTML-документа из TWebBrowser без тегов
        • How to add alternative text to a Webbrowser image?
        • RadioButtons in a TWebbrowser
      • Печать из TWebBrowser
        • Как производить печать?
        • Работа с печатью в TWebBrowser
      • Сохранение страницы и её элементов
        • Как сохранить веб-страничку в Bitmap?
        • Как сохранить веб-страничку в JPG?
        • Как сохранить все картинки TWebBrowser?
        • Как сохранить исходник HTML из TWebBrowser.Document на диск?
        • Как получить полный исходник HTML?
      • Добавить HTML к TWebBrowser Document
      • Для своего браузера, как мне сохранить свои cookies?
      • Как вызвать команды Find, Option или View Source?
      • Как вызвать скрытые команды TWebBrowser?
      • Как выполнить JavaScript-функцию?
      • Как получить URL?
      • Как получить POST-данные?
      • Как использовать протокол about?
      • Как использовать протокол res?
      • Как запретить всплывающее меню при нажатии правой кнопки мыши?
      • Как загрузить потоковые (stream) данные в TWebBrowser, не прибегая к открытию файла?
      • Как загрузить строковые данные в TWebBrowser, не прибегая к открытию файла?
      • Как сделать TWebBrowser плоским вместо 3D?
      • Как проверить является ли текущее соединение в TWebBrowser secure (SSL)?
      • Как перевести TWebBrowser в режим редактирования (дизайна)?
      • Как скрыть контекстное меню TWebBrowser?
      • Как загрузить HTML-код непосредственно в TWebBrowser?
      • Как сделать WebBrowser средствами Delphi?
      • Как добавить текущую страницу TWebBrowser в favorites?
      • Как установить фокус на документе в TWebBrowser?
      • Кобинации клавиш Ctrl-C, Ctrl-O, и т.д. не срабатывают. В чем проблема?
      • Навигация в TWebBrowser по линкам
      • Найти и выделить текст в TWebBrowser
      • Не работает кнопка <Enter> в WebBrowser
      • Получить или установить задний фон в TWebBrowser
      • Перехватить WM_CONTEXTMENU в TWebBrowser
      • Реагируем на щелчок по ссылке в TWebBrowser
      • Свои настройки Proxy в программе с TWebBrowser
      • Скопировать, удалить, вставить в TWebBrowser
      • Читать значения переменных из JavaScript?
      • Cut и Copy отказываются работать
      • Create a TWebBrowser at runtime?
      • Save all TWebBrowser frame sources
    • Работа с HTML, клиентскими скриптами
      • Что такое DOM?
      • Визуальный HTM- редактор своими руками
      • HTMLEditor − Краткий обзор
      • Веб-страничка внутри Delphi-приложения
      • Как получить TextRange страницы без фреймов?
      • Как переделать TLabel в URL
      • Как преобразовать шестнадцатиричный цвет HTML в TColor?
      • Как получить цвет строки в HTML формате?
      • Как распечатать веб-страничку при помощи HTML-контрола?
      • Компонента HTML-редактора
      • Показать код HTML страницы в TMemo
      • Справочник свойств CSS1
      • Удаление HTML элементов из текста
      • Функция конвертации текста HTML, содержащего строки вида #123; в читабельбный вид
      • GIF для HTML в EXE
    • Веб-приложения
      • ASP и ASP.NET
        • Разработка ASP-приложений при помощи Delphi
        • Создание Active Server Page (ASP) приложений (Статья)
      • CGI
        • CGI
        • Delphi и CGI
        • Программирование CGI в Delphi и Kylix (статья)
          • Передача параметров
          • Переадресация
          • Вывод изображений
          • Защита паролем
          • Куки (Cookies)
          • Работа с Базами Данных
          • Частые Вопросы и Ответы
        • Простейший CGI на Дельфи
        • Гостевая книга
        • Простейшая авторизация в ISAPI/CGI приложениях
        • Как отправить бинарные данные из CGI приложения?
        • Кириллица в параметрах CGI-запроса
        • Мое CGI-приложение при обращении к нему ничего не возвращает
        • Создание веб-приложений
        • Создание CGI счетчика в Delphi 5
      • Детектор мертвых ссылок
      • Использование Web Services
      • Корпоративное веб-приложение
      • Понимание многопоточности в VCL для веб-серверных ISAPI-расширений
      • Разработка Internet-приложений с использованием Borland Delphi и Kylix
      • Создание веб-сервера
      • Счетчик посещений на Delphi
      • Эволюция средств разработки веб-приложений в Delphi
      • Delphi ActiveForms и Web Modules (Intranet)
      • WebSnap
      • Hello ISAPI
      • How to debug an Apache Shared Module
      • How to turn off ISAPI DLL caching on Windows 2000 and IIS5
  • Графика и Мультимедиа
    • Bitmap
      • Bitmap.PixelFormat − подробности
        • Bitmap.PixelFormat := pf1bit;
        • Bitmap.PixelFormat := pf8bit;
        • Bitmap.PixelFormat := pf24bit;
      • Вырезание эллиптической области на Bitmap
      • Вставить Bitmap
      • Вывод изображения по маске, используется MaskBlt
      • Загрузка 256-цветного TBitmap
      • Загрузка bitmap из .res без потери палитры
      • Загружать большие битовые изображения с небольшим использованием памяти
      • Информация о BMP-файлах
      • Как использовать TImageList для рисования прозрачных картинок?
      • Как создать bitmap из массива пикселей?
      • Как создать регион (HRNG) по маске?
      • Как поместить битмап в метафайл?
      • Как нарисовать радугу?
      • Как из HBitmap получить адрес bitmap в памяти?
      • Как из Handle битовой картинки получить адрес битового изображения в памяти?
      • Количество уникальных цветов Bitmap
      • Назначение палитры bitmap
      • Отрисовка битового образца
      • Получить bitmap радио кнопок
      • Порог между двумя цветами на bitmap
      • Пример записи информации в битмап
      • Размер bitmap
      • Сравнение картинок
      • Bitmap без формы
      • Форма окна по bitmap
    • Metafile
      • TMetaFile − ошибка при работе с памятью
      • Как нарисовать метафайл?
      • Как получить доступ к объекту метафайла?
      • Канва для метафайлов
      • Копировать векторное изображение
    • JPEG
      • Загрузка JPEG из ресурсов
      • Изменение размеров JPEG Image?
      • Как загрузить и отмасштабировать JPEGImage в TImage
      • Как подгружать JPG-картинки, но чтобы они быстро отображались
      • Как показать на экpане и сохранить в базе картинку формата JPEG
      • Открыть файл JPEG
      • Приложение для просмотра изображений JPEG и BMP
      • Работа с JPEG изображением в Delphi
      • Сохранить изображение в формате JPEG
      • Узнать / установить разрешение JPEG?
    • GIF
      • Как работать с GIF-файлами?
      • Как получить размер GIF-картинки?
    • Canvas
      • Рисование линий
        • Как рисовать линии (или еще что-нибудь) на экране (TDesktopCanvas)?
        • Нарисовать линию, не используя функцию LineTo
        • Рисование линий как в Microsoft Paint
        • Рисование кривых в Delphi
        • Убрать зазубринки при рисовании линий
      • Рисование различных объектов
        • Градиентная заливка
        • Заполняем Canvas рисунком с рабочего стола, учитывая координаты
        • Как рисовать на компоненте, если свойство Canvas недоступно?
        • Как быстро нарисовать тень в заданном регионе?
        • Как отбрасывать тень от текста?
        • Координатная сетка
        • Кораблик
        • Отрисовка стрелки
        • Почему методы рисования Delphi (например MoveTo и LineTo) рисуют на один пиксель короче?
        • Процедура выводит на Canvas семисегментный индикатор, позволяя управлять включенными сегментами
        • Рисование графов
        • Рисование фрактальных графов
        • Рисовать практически любую фигуру!
        • Рисование звезд и многоугольников
        • Рисование квадрата мышкой
      • Движение
        • Двигаем крестик для показа значений X/Y
        • Движение окружности
        • Самолет летит по небу
        • «Сквозь Вселенную» с дополнительными возможностями
      • Разные вопросы
        • Изменить режим координат
        • Приложение для просмотра растровых приложений JPG, JPEG, BMP
        • Пример приложения, использующего компоненты Delphi для отображения графики
      • Возможные проблемы при работе с TCanvas больших размеров
      • Как быстро выводить графику?
      • Как временно отключить перерисовку окна?
      • Как очистить Canvas?
      • Как сделать, чтобы компоненты отбрасывали тень?
      • Как создать временный Canvas?
      • Карта высот картинки
      • Перемещать объект на сложном фоне
      • Работа с изображением в памяти
      • Рисование без мерцания
      • TCanvas и освобождение дескрипторов
    • GDI и GDI+
      • GDI − графика в Delphi
      • GDI+ − графическое ядро нового поколения (статья)
        • Часть 1. Введение
        • Часть 2. Работа с примитивами и изображениями
    • DirectX и DelphiX
      • DirectX (Игровой SDK)
        • DirectX (Игровой SDK) 1
        • DirectX (Игровой SDK) 2
        • DirectX (Игровой SDK) 3
        • DirectX (Игровой SDK) 4
      • DirectX и Delphi
        • Введение
        • DirectX и Delphi
      • DirectX для начинающих
        • DirectX для начинающих. Считывание и запись
        • DirectX для начинающих. Часть вторая
      • DelphiX
        • О DelphiX
        • Изучаем DelphiX (Часть 1)
        • Изучаем DelphiX (Часть 2)
        • Изучаем DelphiX (Часть 3)
        • Изучаем DelphiX (Часть 4)
        • Изучаем DelphiX (Часть 5)
        • Изучаем DelphiX (Часть 6)
        • Изучаем DelphiX (Часть 7)
        • Обработка событий клавиш в DelphiX
        • Туториал по DelphiX
      • Что такое DirectShow?
      • DXInput
      • DXPlay
      • Пример использования DirectInput для опроса клавиатуры
      • Пример опроса мыши методами DirectInput
      • Текст с эффектами
      • Blitting, спрайты и анимация
      • Динамическая загрузка спрайтов
      • Advanced Draw
    • OpenGL
      • OpenGL в Delphi
        • OpenGL в Delphi. Часть 1. Первые полигоны
        • OpenGL в Delphi. Часть 2. Туман
        • OpenGL в Delphi. Часть 3. Quadric-объекты
        • OpenGL в Delphi. Часть 4. Сглаживание
        • OpenGL в Delphi. Часть 5. GLAux
      • Работа с OpenGL
        • Работа с OpenGL − Введение
        • Работа с OpenGL − Минимальная программа
      • Основы программирования OpenGL в Borland Delphi (Статья)
      • OpenGL для начинающих
      • OpenGL − радиальное размытие
      • GLScene
      • Каким обpазом выбиpать pазмеp шpифта?
      • Как записать содержимое окна OpenGL в bmp файл?
      • Получение OpenGL расширений
      • Экспорт анимированных 3D персонажей из 3D Studio Max 3.0 для Delphi и OpenGL
    • Вывод текста
      • Бегущая строка
      • Вертикальный текст с горизонтальной ориентацией букв
      • Вывод надписи на рабочий стол
      • Вывод строковой информации
      • Вывод текста на канве картинки
      • Вывод текста с эффектами
      • Выравнивание текста по ширине
      • Как вывести текст, написанный под углом или вращение текста?
      • Как нарисовать disabled текст?
      • Как выдавить текст?
      • Как вывести полупрозрачный текст
      • Как преобразовать текст в иконку?
      • Как разместить прозрачную надпись на TBitmap?
      • Как сделать прозрачным фон текста?
      • Отображение текста с тегами форматирования
      • Эффект потухания текста
      • Show text progressively as typed with a typewriter (horizontal/vertical)
    • Цвета и палитра
      • String > TColor
      • TColor > String
      • TColor > HTML Color
      • RGB > Gray
      • RGB > CMYK
      • CMYK > RGB
      • Что такое Цвет?
      • Градиентная заливка
      • Градиентная заливка и сложение цветов
      • Дополнительные константы цветов
      • Инверсия цветов
      • Изменение цветовой палитры изображения
      • Изменение палитры при выводе изображения
      • Как получить hex-значение данного цвета?
      • Как сделать стандартные цвета в Delphi светлее или темнее?
      • Как преобразовать цвет в оттенки серого?
      • Как разбить цвет на составляющие и наоборот?
      • Как преобразовать цвета RGB в CMYK и обратно?
      • Как конвертировать RGB в TColor?
      • Как определить цвет произвольной точки экрана?
      • Как получить более светлый или более темный цвет?
      • Как получить средний цвет между двумя цветами?
      • Как работать с палитрой в Delphi?
      • Как найти контрастный цвет к данному?
      • Как выбрать цвет пользуя TTrackBar?
      • Как создать цветовую паллитру?
      • Как можно узнать количество цветов текущего режима?
      • Как получить цвет строки в HTML-формате?
      • Как преобразовать шестнадцатиричный цвет HTML в TColor?
      • Нeсколько полезных функций для работы с цветами
      • Получить и установить системные цвета
      • Преобразование цвета RGB <> HLS
      • Смешиваем два цвета
      • Число цветов (цветовая палитра) у данного компьютера
      • Функция для работы с палитрами и RGB
    • Графические фильтры и эффекты
      • Изменение размеров, Thumbnails, деформации, выделение части изображения
        • Алгоритм качественного уменьшения
        • Качественно уменьшить изображение
        • Как сделать Thumbnail?
        • Как сделать прямоугольник для выделения части картинки для редактирования?
        • Изменение размера
        • Наклон изображения
        • Растягивание изображения
        • Масштабирование для Canvas
        • Создание уменьшенной копии картинки
        • Качественное увеличение изображения билинейной интерполяцией
        • Как качественно увеличить изображение при помощи билинейной интерполяции?
        • Захват части изображения
        • How to scale bitmap by percent?
      • Вращение, зеркальные преобразования
        • Алгоритм поворота изображения
        • Вращение изображения
        • Вращать изображение вокруг точки
        • Зеркальное преобразование
      • Яркость, контраст и гамма
        • Изменение гаммы рисунка
        • Изменение контрастности изображения
        • Как изменить яркость и контраст?
      • Размытие и шумы, резкозть
        • Добавление шума
        • Как добавить когерентный шум?
        • Размыть изображение
        • Получение Gaussian Blur
        • Sharpen a bitmap
      • Работа с цветами, каналы и глубина цвета
        • Замена всех цветов на оттенки одного
        • Инверсия всех цветов в bitmap
        • Изменение глубины цвета изображения
        • Изменить цветовые каналы битового изображения
        • Как сделать colorize?
        • Негатив картинки
        • Преобразование изображения в оттенки серого
        • Смешивание цветов рисунка с другим цветом
      • Dithering
        • Как сделать 24bit dithering?
        • Как сделать greyscale dithering?
      • Прозрачность
        • Как нарисовать bitmap с прозрачностью
        • Как поместить прозрачный текст на Canvas bitmap
        • Прозрачный bitmap
        • Установка уровня прозрачности изображения
      • Различные эффекты
        • Как создать disabled битмап из обычного (emboss)?
        • Как работать с Fade для TImage?
        • Как сделать Twist / Swirl эффект?
        • Как сделать Wipe эффект?
        • Конвертация bitmap в sepia или greyscale
        • Плавно превратить один рисунок в другой
        • Подсветить изображение
        • Сглаживание (antialiasing)
        • Сделать картинке 2D свертку
        • Смешать два изображения
        • Эффект блоков
        • Эффект волн (синусоидальные, вид сбоку)
        • Эффект инея
        • Эффект мозаики
        • Эффект плавного перехода
        • Эффект разбрызгивания
        • Spray effect
    • Рисование в разных местах и захват изображения
      • Как копировать образ экрана в файл?
      • Как рисовать за пределами формы?
      • Как рисовать в чужом окне или по всему экрану?
      • Копирование экрана
      • Можно ли из Delphi рисовать в любой части экрана или в чужом окне?
      • Перетасовка экрана в Delphi
    • Черчение
      • Как начертить круг?
      • Как начертить hexagon?
      • Как повернуть элипс?
      • Как изменить размеры полигона?
      • Создание PolyPolygon, используя массив точек
    • Видео и анимация
      • Анимация без DirectX
      • Информация об AVI-файле (разбор заголовка AVI)
      • Как показать видео на полном экране?
      • Как получить картинку с видео источника?
      • Как прочитать свойства видеофайла?
      • Как сделать анимацию немерцающей?
      • Как экстрагировать фрейм из AVI?
    • Работа со звуком
      • Изменить громкость
      • Изменение громкости в TMediaPlayer
      • Как вывести звук через звуковую карту?
      • Как выключить звук?
      • Как играть MIDI без медиаплеера?
      • Как изменить уровень громкости микрофона?
      • Как определить продолжительность в секундах wav файла?
      • Как определить bitrate WAV файла?
      • Как проиграть файл, не используя MediaPlayer?
      • Как проиграть wave файл в обратную сторону?
      • Как проиграть wav из ресурса не сохраняя его в файл?
      • Как проиграть wave-ресурс?
      • Как проигрывать 2 звука одновременно?
      • Как проиграть ноту?
      • Как получить длину wav в секундах?
      • Как экстрагировать аудиодорожку из AVI файла?
        • vfw.pas
      • Нажатия клавиши и звук
      • Низкоуровневые процедуры обработки звука
      • Как использовать в своей программе API DirectSound и DirectSound3D?
      • Пример использования DirectSound на Delphi
      • TDXSound. AudioStream, стерео эффекты
      • Работа с Microsoft Speech API в Delphi
      • Снятие звука с микрофона, отображение звуковые данных в виде графика
      • Создание пустого wav-файла
      • Стандарты MIDI: GM, GS, XG, GM2
    • Разные вопросы
      • Двоичный файл с набором изображений
      • За какое время было создано изображение?
      • Как обрезать форму по рисунку?
      • Как определить формат изображения, загруженного в TMemoryStream?
      • Как поместить картинку из базы данных, например MsSQL, в компонент TImage?
      • Как сделать выделение резиновым прямоугольником?
      • Об ускорении работы с графикой
      • Оптимизация скинов для окошек сложной формы
      • Определить формат изображения, загруженного в TMemoryStream
  • ActiveX, COM и Другие технологии
    • ActiveX, OCX, VBX
      • Как зарегистрировать в компонент ActiveX?
      • Как узнать, установлен ли ActiveX на машине?
      • Как можно создать OCX-компонент?
      • Как получить доступ к определенной части GUID?
      • Управление свойством Font через сервер автоматизации
    • COM и OLE
      • Общие сведения о COM (статья)
        • Простой пример
        • DLL!
        • Еще шаг в направлении COM
        • Понятие интерфейса
        • Понятие интерфейса − 2
        • Собираем тестовый пример
        • Стандарт СОМ
        • Как система создает объект СОМ
        • IClassFactory
      • Понимание потоковых моделей в COM (статья)
        • Введение
        • Основы многопоточности и COM
        • Сценарии комбинаций потоковых моделей
        • Заключение
      • Delphi и COM (статья)
        • Введение и базовые понятия
        • Реализация интерфейсов
        • Интерфейсы и TComponent
        • COM-сервер, структура и использование
        • Создание COM-сервера
        • Создание приложения клиента
        • Создание Plug-In в виде COM-Сервера
        • OLE Automation
        • Автоматическая регистрация серверов из своей программы
      • Агрегация и нотификация вообще и для Delphi в частности
      • Интерфейс OLE AutoServer
      • Использование Microsoft Transaction Server
      • Как обрабатывать ошибки в COM-объектах
      • Как заставить работать COM объекты в потоке?
      • Как можно определить доступные сервера приложений на этой машине через Registry
      • Как получить список всех зарегистрированных typelibs?
      • Создание COM-объектов средствами Delphi?
      • СОМ хранилища: подпольная файловая система
      • Midas и COM. Советы и приемы
      • Pipeline Components
    • DCOM
      • Как узнать, доступен ли DCOM?
      • Настройка системы безопасности DCOM сервера
      • Sending a file via DCOM
    • MIDAS
      • Что такое MIDAS?
      • Использование AutoInc полей в приложениях MIDAS
      • MIDAS и маленькие настольные приложения
      • Deploying Midas
      • Inprise Midas
    • CORBA
      • CORBA − Архитектура распределенных объектов
      • Документация по CORBA
      • Краткий словарь терминологии CORBA
      • Крестики-нолики с CORBA
      • Первый CORBA сервер
      • CORBA клиент − Java Server
      • CORBA клиент-сервер
      • Сравнительный анализ технологий CORBA и COM
      • СОМ или CORBA
    • DDE
      • DDE (статья)
      • DDE − передача текста
      • DDE для вызова диалога поиска файлов и папок
      • DDE для захвата текущего URL из окна Internet Explorer или Netscape Navigator
      • Динамический обмен данными (DDE)
      • Как добавить группу в Program Manager?
      • Как можно работать с DDE?
      • Как можно работать с DDE под Delphi, используя вызовы API?
      • Получение данных из Program Manager через DDE
      • Пример DDE и WordPerfect
      • Работа с Netscape Navigator через DDE
      • Регистрация программ в меню «Пуск» Windows 95
      • Управление Program Manager в Win95 с помощью DDE
      • Управление mIRC при помощи DDE
      • GROUPFILE и ADDITEM для групп
      • WinWord через DDE
    • Интерфейсы
      • Дайте теоретическое объяснение типу IDispatch
      • Delphi IAutoComplete интерфейс
      • Интерфейсы и published-свойства
      • Пример использование методов интерфейса IShellDispatch
      • Ревизия интерфейсов (статья)
      • Тест на корректность GUID и интерфейсов
    • Работа с приложениями Microsoft Office
      • Работа с Microsoft Word
        • Работа с MS Word из Delphi
        • Работа с Word через OLE
        • Как прочитать/изменить свойства Word документа?
        • Как экспортировать StringGrid в MS Word таблицу?
        • Как экспортировать таблицу в MS Word в TStringGrid?
        • Как заполнить поля формы в MS Word?
        • Как заменить текст в документе MS Word?
        • Как вставить свой пункт меню?
        • Как поменять ссылку в тексте?
        • Как проверить инсталлирован ли MS Word?
        • Как сохранить текст MS Word в другом формате?
        • Как заменить значение переменных для текста MS Word?
        • Как узнать версию MS Word?
        • Как добавить текст к закладке?
        • Как создать таблицу в MS Word?
        • Как работать с Shapes
        • Как добавить текст в header документа?
        • Как добавить текст в footer документа?
        • Как работать с объектом Excel вставленном в Word документ?
        • Как сделать поиск/замену в документе?
        • Как работать с WordBasic?
        • Пример запуска макроса в MS WinWord
        • Как вставить RTF в Word?
        • Как получить RTF из Word без буффера обмена?
        • Управление Word-ом из Дельфи
        • Примеры для работы с MS Word
        • Импорт активного документа Word
        • Получить язык MS Word
      • Работа с Microsoft Excel
        • Через СОМ интерфейс
        • Через DAO/ODBC/ADO
        • Обмен данными с Excel
        • Дополнительная литература
        • Как импортировать данные из Excel в Stringgrid?
        • Как экспортировать данные из StringGrid в Excel?
        • Как распечатать Excel файл?
        • Как определить установлен ли Excel?
        • Как определить запущен ли Excel?
        • Как вывести данные в Excel?
        • Создание или открытие книги
        • Работа с листами книги
        • Как вставить конец страницы?
        • Как вставить картинку
        • Как узнать существует ли страница (worksheet)?
        • Как создать DLL для MS Excel?
        • Как скопировать страницу?
        • Как поменять border страницы?
        • Как осуществить поиск ячейки по её значению?
        • Создаем Excel файл без OLE
        • Страницы Excel − компонент F1Book
        • Как снять пароль с Excel файла?
        • Примеры работы с MS Excel
        • Как зыкрыть Excel
        • Создание отчетов в Excel
        • Экспорт документов Excel
        • Особенности работы с "русским" Excel'ем
        • Работа с ячейкой листа Microsoft Excel
        • Запуск и закрытие Excel, добавление и удаление книг и листов
        • Приемы оформления отчетов в Excel
        • Сохранение данных из ListView в *.xls
      • Работа с Microsoft Outlook
        • Как написать Outlook AddIn?
        • Как получить список папок Outlook?
        • Как прочитать адресную книгу Outlook (MSOffice) из Delphi и занести данные в таблицу *.db?
        • Как прочитать адрес отправителя?
        • Создать новый Outlook Contact?
        • Как сохранить Outlook календарь как website?
        • Чтение email адресов из Outlook .dbx файлов
        • How to start Outlook
        • How to send and receive email
        • How to check for unread email
        • How to check for unsent email
        • Сохранить вложения OutLook
      • Работа с Microsoft Power Point
        • Как работать с Powerpoint через OLE?
        • How to close a presentation
        • How to save a presentation
        • How to open a presentation
        • How to start a new presentation
        • How to close PowerPoint
        • Opening PowerPoint
      • Суперфункции Microsoft Word и Microsoft Excel (статья)
        • Доступ к ячейкам Excel
          • Выбор шрифта
          • Высота и ширина ячейки Excel
          • Выравнивание текста в ячейке Excel
          • Другие режимы отображения текста в ячейке Excel
          • Некоторые дополнительные возможности
          • Формат заливки ячейки
          • Формат границ ячейки
          • Числовой формат ячейки Excel
        • Диаграммы Excel
          • Создание диаграммы
          • Область данных диаграммы
          • Область диаграммы
          • Область построения диаграммы
          • Заголовок диаграммы
          • Тип диаграммы
          • Размещение диаграммы
          • Наклон и поворот
          • Легенда
          • Подписи осей
          • Стены и основание диаграммы
          • Серии коллекции
        • Настройки листа и печать в Excel
          • Выбор и настройка принтера
          • Вид листа, область и параметры страницы для печати
          • Некоторые общие параметры для листа
          • Просмотр печати
          • Печать
        • Суперфункции (FAQ)
          • Как переместить курсор в конец только что открытого файла, т.е. дописать текст в конец?
          • Как изменить шрифт в таблице?
          • Как изменить положение таблицы на листе (подвинуть влево, вправо, вверх, вниз)?
          • Как изменить цвет сетки таблицы?
          • Как напечатать документ без предварительной настройки принтера (что печатать, какое качество печати и т.д.)?
          • Как напечатать документ с предварительной настройкой принтера?
          • Как выравнивать текст в документе (по ширине, по центру и т.д.)?
          • Как быть, если таблица содержит столбцы, количество строк в которых разное?
          • Можно ли работать и создавать, редактировать документы, используя объект Word.Basic?
        • Как формировать документ в формате Word?
        • Как создать таблицу в Word'е?
        • Рисунки и другие объекты MS Word
        • Cоздание документа MS Word
        • Создание DLL-библиотеки для работы с Word / Excel из приложений на Delphi
        • Создание средствами Delphi DLL-библиотек для использования в макросах Excel
        • Суперфункции Excel
        • Шаблоны и отчеты MS Word
        • Заключение
      • Доступ к COM-серверам Microsoft Office из Delphi 5 (Статья)
      • Как использовать проверку грамматики?
      • Некоторые функции для работы с Microsoft Word и Microsoft Excel
      • Проверка правописания и синонимов при помощи компонентов Microsoft Office
      • Создание модулей расширения Microsoft Office
      • Создание Microsoft Office 2000 COM Add-Ins
      • Microsoft Antivirus API
      • Microsoft Binder
    • Работа с другими приложениями
      • 1C
        • Delphi и 1C − экспорт и импорт
      • Adobe Flash
        • Delphi и Flash
        • Определить, установлен ли Adobe Flash
        • Пример работы с Flash
      • Adobe Photoshop
        • Работа с Photoshop
      • Adobe PageMaker
        • Просто и ясно о PageMaker и Delphi
      • AutoCAD
        • Базовые функции по работе с Автокадовскими скриптами
        • Получение текущего чертежа из AutoCAD в формате DXF
      • Corel Draw
        • Delphi и Corel Draw
      • Lotus Notes
        • Как работать с адресной книгой Lotus Notes?
      • MapInfo
        • Как добавить функции картографирования в приложение
        • Вызов MapInfo и встраивание его в свою программу
        • Настройка панелей и меню
        • Реализация CallBack вызовов MapInfo
      • Microsoft Exchange
        • MS Exchange API
      • Microsoft Script Control
        • Использование Microsoft ScriptControl
      • Outlook Express
        • Как читать файлы Outlook Express
      • WinAMP
        • Взаимодействуем с WinAMP
    • Распределенные приложения баз данных
      • Клиент многозвенного распределенного приложения (статья)
      • Сервер приложения (статья)
      • Технология DataSnap (статья)
  • Репортинг
    • Quick Report
      • Использование компонентов Decision Support System при генерации отчетов в Quick Report
      • Как сохранить Quick Report в TStream?
      • Позволяет ли Quick Report выгружать данные в формате Microsoft Excel?
      • Проблема с установками принтера
      • Создание отчетов с помощью Quick Report 3 (статья)
    • Rave Report
      • Rave Report − руководство разработчика
        • От переводчика
        • Начало работы − техническая информация
        • Введение в Rave
        • Начало работы с Rave
        • Компонент TRvSystem
        • Rave подключения данных
        • Настройка подключений данных
        • Компонент TRvNDRWriter
        • Компоненты вывода
        • Компонент TRvProject
      • Rave Report − руководство пользователя
        • От переводчика
        • Начало работы − техническая информация
        • Что такое Rave?
        • Панели и окна инструментов
        • Обзор компонент
        • Дизайнер страниц
        • Дерево проекта
        • Панель свойств
        • Выполнение отчета
          • Вывод на принтер
          • Вывод в файл
          • Упражнения
        • Панели утилит
          • Панель выравнивания
          • Панель дизайнера
          • Панель палитры цветов
          • Редактор шрифтов
          • Редактор линий
          • Панель проекта
          • Панель масштабирования
          • Упражнения
        • Стандартные компоненты
        • Графические компоненты
        • Базы данных
        • Подключения баз данных
        • Помощники
        • Компоненты отчета
        • Компоненты проекта
        • Компоненты штрих-кодов
        • Расширенные компоненты
        • Адаптация отчетов
        • Пакеты и обмер страниц
        • Предпочтения
      • Пример разработки простых отчетов в Rave Reports
      • Пример использования настраиваемого соединения TRvCustomConnection
      • Пример отчетов Rave Reports для приложений баз данных
      • Работа с отчетами Rave Report в режиме Runtime
    • Другие репортинговые системы
      • Fast Report − разработка кроссплатформенных отчетов
      • Fast Report − сумма прописью
      • Crystal Reports 8.0 через API
      • Какой из генераторов отчетов самый быстрый?
      • Передача переменной в отчет Report Smith
  • Математика и Алгоритмы
    • Арифметика и алгебра
      • Квадратное уравнение
        • Вычисление квадратного корня (алгоритм Ньютона)
        • Как посчитать корни квадратного уравнения?
      • Наибольший общий делитель
        • Вычисление наибольшего общего делителя двух целых неотрицательных чисел
        • НОД и НОК
        • Как найти наибольший общий делитель?
      • Очень большие числа
        • Огромные числа
        • Работа с очень большими числами
        • Умножение больших целых чисел
      • Как возвести в степень?
      • Как найти простое число?
      • Как округлять числа?
      • Как посчитать логарифм?
      • Как посчитать факториал?
      • Как проверить, является ли число простым?
    • Алгоритмы работы с текстом
      • Алгоритм переноса русского текста по слогам
      • Алгоритм поиска всех уникальных слов в файле
      • Перевернуть строку
      • Рекурсивный поиск с помощью функции pos
    • Алгоритмы работы с графикой
      • Алгоритм градиентной заливки
      • Алгоритмы потухания текста и обратного ему эффекта
      • Вращение объектов
      • Вычисление площади одноконтурного несамопересекающегося многоугольника
      • Интерполяция изображений
      • Как нарисовать график функции?
      • Как нарисовать кривую Безье?
      • Как нарисовать фрактал?
      • Как определить, лежит ли точка внутри полигона?
      • Найти центр треугольника
      • Найти точку пересечения прямых
      • Нахождение угла между радиус-вектором и осью абсцисс
      • Определить взаиморасположение точки и прямой
      • Поиск пересечений графика с осью абсцисс
      • Преобразование 3D-координат точки в 2D-координаты в перспективе
      • Проверка пересечения двух прямоугольников (TRect)
      • Проверка попадания точки в треугольник
      • Проверка пересечения двух отрезков
      • Угол поворота точки окружности относительно центра
      • Центр вписанной в треугольник окружности
      • 2D Бампмэппинг (Bumpmapping)
      • Detect simple collision and transparency
      • Draw a polygon with Gouraud shading
      • Find the convex hull of 2D points
      • Rotate a 2D Point
      • Rotate a 3D Point around another 3D Point
    • Высшая математика
      • Комплексные числа
        • Как работать с комплексными числами?
        • Модуль для работы с комплексными числами
      • Матрицы, векторы и списки
        • Динамическая реализация стека на основе списка
        • Как инвертировать матрицу?
        • Как заменить строку в матрице?
        • Матрицы в Delphi
        • Модуль реализации матричных вычислений для массивов больших размеров
        • Основы 3D-математики − векторные и матричные преобразования
        • Реализация односвязного и двусвязного списков
        • Решение СЛАУ, вычисление обратных матриц и определителей с использованием LU-разложения
        • Статическая реализация стека на основе массива
        • Статическая реализация очереди на основе массива
      • Интегралы, производные и дифференциальные уравнения
        • Вычисление интеграла
        • Взятие интеграла методом Симпсона
        • Вычисление определенного интеграла методом левых и правых прямоугольников с заданной точностью
        • Вычисление определенного интеграла методом трапеций с заданной точностью
        • Метод Рунге-Кутта решения дифференциальных уравнений и их систем
      • Статистика и теория вероятности
        • Биноминальное рапределение
        • Гамма распределение
        • Гипергеометрическое распределение
        • Нормальное распределение
        • Распределение Паскаля
        • Экспоненциальное распределение
        • Как получить неповторяющиеся случайные числа?
        • Поговорим о случайных числах в Delphi
      • Метод Гаусса решения системы линейных уравнений
    • Деревья
      • AVL-деревья
      • Методы использования и создания BSP-деревьев
      • Применение расширяющихся деревьев для сжатия данных
    • Комбинаторика
      • Алгоритм оптимального распределения камней по ящикам
      • Hапечатать все перестановки чисел 1...N
      • Hапечатать все последовательности длины N из чисел 1, 2, ..., M
      • Перечислить все расстановки 8-ми ферзей на шахматной доске, при которых они не бьют друг друга
      • Перечислить все разбиения N на целые положительные слагаемые
      • Перебор вариантов
      • Сгенерировать все подмножества данного n-элементного множества {0,.., n-1}
      • Example of Skip List source code
    • Контрольные суммы (CRC)
      • Работа с документами
        • Алгоритм расчета контрольного числа ИНН
        • Алгоритм расчета контрольного числа страхового номера ПФ
      • CRC
      • CRC-32
      • CRC-64
      • Вычисление CRC-32 для файла
      • Как вычислить CRC (контрольную сумму) для файла?
    • Криптография
      • Кодирование
        • Кодирование с помощью решетки
        • Кодирование русского текста методом сдвига
        • Кодирование по спирали
        • Кодировка полиалфавитным шифром Вигeнера
        • Base64 кодирование
        • UUE кодирование
      • Пароли
        • 10 способов взлома пароля
        • Генерация случайного пароля
        • Запрос пароля при инициализации приложения
        • Определить, что текстовое поле для ввода пароля
        • Перехватчики паролей
        • Способ высосать пароли из едитов определенных программ
        • Тянем пароли из кэша
        • Увидеть пароль, скрытый за звездочками
        • InputBox для ввода пароля
      • Хэширование
        • Алгоритм хэширования MD5
        • Вычисление простого хеш-кода для блока данных
      • Шифрование
        • RC
          • RC4
          • RC5
          • RC6
        • Алгоритм шифрования TEA
        • Алгоритм шифрование XOR
        • Библиотека реализующая практически все распространенные алгоритмы шифрования и хэширования
        • Генерация 96-битного ключа для шифрования с помощью Encrypt()
        • Естественные ключи против искуственных ключей
        • Криптоалгоритм DES
        • Пример шифрования данных
        • Простые алгоритмы шифрования текста
        • Расшифровка строки, ранее зашифрованной фукцией UBPFD.Encrypt
        • Cвой PGP на Delphi
        • Шифрование в Delphi
        • Шифрование и дешифрование текстов по принципу S-Coder со скрытым ключом
        • Шифрование SHA-1
        • Шифрование IDEA
        • PGPSDK − легкий путь к шифрованию
      • Разные вопросы
        • Как проверить правильность номера кредитной карточки?
        • Как проверить правильность International Bank Account Number?
        • Как проверить правильность штрих-кода?
        • Как реализовать методы криптографической защиты информации?
        • Повышение криптоустойчивости шифрования текста любым алгоритмом
        • Проверка ISBN
        • Создание банковского ключа
        • Стеганография (вшивание информации в рисунки)
    • Корреляция и регрессия
      • Вычисление автокорреляционной функции
      • Фильтрация, регрессия, работа с массивом и серией
    • Поиск и алгоритмы перебора
      • Алгоритмы поиска
      • Алгоритмы поиска в строке
      • Алгоритм простого перебора
      • Бинарный поиск
      • Двоичный (бинарный) поиск элемента в массиве
      • Методы программрования: переборные алгоритмы
      • Проверка на наличие числа в массиве
    • Поиск пути и графы
      • Алгоритм обхода препятствий
      • Алгоритм Ли (поиск пути на карте)
      • Алгоритмы теории графов
      • Определение кратчайшего пути между двумя точками
      • Путь в двумерном лабиринте − волновой алгоритм
      • Расчет расстояния между 2-я точками на земной поверхности методом Винсенти
    • Построение графиков функций
      • Программа, выводящая график функции в декартовых координатах
      • Программа, выводящая график функции в полярных координатах
      • Программа, выводящая график параметрической функции в декартовых координатах
      • Рисуем график функции в Delphi
      • Функция построения графика
    • Системы счисления
      • Как представить число в другой системе счисления?
      • Конвертация арабских цифр в римские
      • Конвертация римских цифр в арабские
      • Операции с числами в разных системах счисления
      • Перевод чисел из десятичной в любую другую систему счисления
      • Преобразование числа в двоичную запись
      • Разбиение шестнадцатиричной величины
    • Сортировка
      • Алгоритмы сортировки (цикл статей)
        • Алгоритм 1. Сортировка вставками
        • Алгоритм 2. Пузырьковая сортировка
        • Алгоритм 3. Сортировка шейкером
        • Алгоритм 4. Сортировка слиянием
        • Алгоритм 5. Сортировка двоичной кучей
        • Алгоритм 6. Быстрая сортировка
        • Алгоритм 7. Сортировка подсчетом
        • Алгоритм 8. Цифровая сортировка
      • Быстрая сортировка
      • Сортировка пузырьком (bubble sort) и её улучшения
      • Сортировка методом двунаправленного пузырька
      • Сортировка выбором
      • Сортировка слиянием
      • Сортировка методом Шелла
      • Пирамидальная сортировка
      • Поpазpядная цифpовая соpтиpовка
      • Топологическая сортировка
      • Сортировка массива методом прямого выбора
      • Сортировка связанного списка
      • Сортировка двух связанных списков по целочисленным значениям одного из них
      • Сортировка строк с украинскими символами
      • Компактный код для сортировки массива
      • Естественное (неймановское) слияние
      • Упорядочивание случайных чисел
    • Сжатие данных
      • Алгоритм LZ-78
      • Алгоритм уплотнения данных по методу Хафмана
      • Использование алгоритма расширяющегося префикса для кодирования и схожих пpоцессов
      • Методы компрессии/декомпрессии
      • Немного относительно методов упаковки данных
    • Разные алгоритмы
      • Алгоритм преобразует алгоритм
      • Алгоритм пламени
      • Волны и алгоритм их создания
      • Генетические алгоритмы
      • Использование многомерных массивов в процедурах и функциях из math.pas
      • Как вычислить математическое выражение?
      • Как посчитать возраст человека?
      • Как сравнить быстродействие алгоритмов?
      • Линза
      • Метод Дихотомии
      • Метод Монте-Карло
      • Метод Ньютона
      • Настройка сетки графика по оси ординат
      • Оптимизация функции методом деформируемого многогранника (метод Нелдера-Мида)
      • Преобразование выражения к Обратной Польской Нотации
      • Тест простоты Рабина
      • Числа Фибоначчи
      • Элементы спектрального анализа (Фурье, Хартман и т.д.)
  • Разработка приложений
    • Вопросы защиты и взлома программ
      • Взлом программ, декомпиляция
        • Взлом Windows-приложений
        • Декомпиляция в Delphi
        • Исследование E-Book Html Compiler 2.12
      • Виртуальные машины
        • Как определить, работает ли программа в виртуальной машине VMware?
        • Как определить, работает ли программа в виртуальной машине Connectrix?
      • Защита программ
        • Антиотладочные приемы
        • Вирусы: обнаружение заражения
        • Защита программы паролем
        • Защита shareware- программ
        • Защита от копирования с CD
        • Пример программы на Delphi, которая морфирует во время работы свой код
        • Шифрование исполняемого файла
      • IDA Pro
        • Установка и использование IDA Pro
        • Часто задаваемые вопросы по дизассемблеру IDA Pro
      • SoftIce
        • Установка SoftIce
        • Запущен ли Softice?
      • Доступ в программах
      • Как определить, запущена ли Delphi?
      • Как определить, находится ли ваше приложение в режиме отладки?
    • Вопросы оптимизации и отладки програм
      • Библиотека KOL
      • Использование классовых методов для выявления утечек памяти
      • Как сэкономить память в ваших программах?
      • Ловим баги или почему программы допускают недопустимые операции
      • Масштабирование окон приложений, в зависимости от разрешения экрана
      • Оптимизация программы для работы в фоновом режиме
      • Почему такие большие программы сделанные в Delphi?
      • Приложение с различным разрешением монитора?
      • Работа над ошибками
    • Вопросы инсталяции програм
      • Как получить список инсталлированных програм?
      • Такие разные инсталляторы
      • Что делает inf-файл?
      • Installer
      • Install BDE программы
    • Вопросы локализации програм
      • Как возвращать сообщения на родном языке компьютера?
      • Как локализовать (русифицировать) ресурсы какого-либо пакета (runtime package)?
      • Как проводить локализацию своих приложений?
      • Поддержка многоязычного интерфейса
      • Программа с многоязычным интерфейсом
    • Вопросы запуска программ
      • Автозагрузка програм (как и откуда?)
      • Автозапуск Windows: помещение и удаление програм из автозапуска
      • Как заставить запускаться из определенной папки?
      • Какую ветвь реестра использовать для своей проги?
      • Создание заставки при старте программы
    • Работа со справочной системой
      • Как создать help-файл?
      • Как использовать файлы справки?
      • Как закрыть help при закрытии приложения?
      • Как использовать chm-файлы в своем проекте?
      • Как вывести главное окно справочной системы?
      • Как вызвать подсказку к подсказке?
      • Как привязать файлы помощи в Delphi
      • Оглавление файлов помощи (Contents)
      • Хелп с окошечком для поиска раздела
    • Разработка плагинов
      • Интерфейсы и плагины
      • Как написать свой плагин?
      • Принцип создания плагинов в Delphi
    • Extreme Programming (XP)
      • Основы Extreme Programming: документация
      • Extreme Programming, руководство пользователя
    • Разные вопросы
      • Как отследить завершение работы в приложении?
      • Как прочитать время компиляции проги?
      • Как экспортировать процедуру в exe-файле?
      • Реализовать фоновую работу программы
  • Delphi .NET
    • Платформа .NET
      • .NET глазами дельфийца. Использование Delphi в .NET
      • Borland Delphi 7 − миграция в сторону .NET
    • Работа с .NET Framework
      • Написание приложений под .NET Framework 2.0 в Delphi 8 − Delphi 2006
      • Определение установленных версий .NET Framework в системе
      • Проверка наличия .NET Framework и определение его версии
    • Разные вопросы
      • Как создать консольное ASP.NET приложение с событиями Delphi?
  • Delphi Prism
    • Delphi Prism IDE
    • Язык программирования Delphi Prism
    • WinForms
    • WPF
    • WCF
    • ASP.NET
    • LINQ
    • Mono
    • Silverlight
  • Kylix
    • Обзоры Kylix
      • Обзор Kylix
      • Первые впечатления
    • Работа с базами данных
      • DBExpress
        • Kylix Tutorial. Работа с DBExpress (статья)
          • Kylix Tutorial. Часть 1. Установка
          • Kylix Tutorial. Часть 2. Работа с базами данных через dbExpress
          • Kylix Tutorial. Часть 3. Работа с базами данных через dbExpress. Коннект − есть коннект
          • Kylix Tutorial. Часть 4. Использование однонаправленных наборов данных
        • Использование SQLMonitor (DBExpress)
        • Accessing InterBase via dbExpress with Kylix produces error: «Unable to load libgds.so»
        • Работа с клиентскими наборами данных (DBExpress)
      • Does Kylix support ODBC?
      • Does Kylix support Postgres?
    • Сетевое программирование
      • Программирование интернет-приложений в Borland Kylix (статья)
        • Программирование интернет-приложений в Borland Kylix. Часть I
        • Программирование интернет-приложений в Borland Kylix. Часть II
      • Информация о сетевых интерфейсах
      • Using a DSO on Apache 2.0.43, created with Kylix 3
    • Qt и Linux API
      • Взаимодействие с системой: Linux API и Qt library
      • Перехватчики событий, сигналы и слоты
      • Как перехватывать kernel-signals?
      • Как получить имя текущего пользователя?
      • Обработка событий Qt в Kylix-приложении
      • Libqt для Kylix с поддержкой сглаживания
      • Как использовать Tray под Linux
      • Qt: интерфейс, и не только
      • Межплатформенный Drag & Drop
    • Проблемы установки Kylix и запуска Kylix-приложений
      • Запуск программы на Kylix
      • Установка Kylix под новые версии Linux (ядро 2.6)
      • Error «-10» when trying to install Kylix
      • Error «permission denied» when trying to run Kylix
      • How to run executables created in Kylix
      • Installing Kylix 3 Open Edition on Mandrake 9
      • Kylix 3 encounters declaration syntax errors in TIME.H
      • Limit reached for installs using Kylix serial number
      • My Kylix application won't run outside the IDE
      • Runtime error 230 when running Kylix application outside of the IDE
      • Why can't I run my Kylix application outside of the IDE?
      • Should I install Kylix as root or a regular user?
      • What is the message Generating font matrix when starting Kylix?
      • Problem generating font matrix in Kylix
      • Unresolved external malloc referenced, Ошибка линкера Kylix 3
    • Как нарисовать повернутый текст?
    • Как отловить CLX форму?
    • Как использовать ресурсы?
    • Как клонировать процесс?
    • Как сделать mount?
    • Как отлаживать консольные приложения?
    • Как запустить другое приложение?
    • Как посмотреть требуемые библиотеки для бинарника?
    • Как запустить консольное приложение и перехватить вывод?
    • Как узнать загрузку CPU определенным процессом?
    • Как узнать расход памяти процессом?
    • Как узнать имя компьютера?
    • Как узнать свободное место на диске?
    • Как сделать Ping?
    • Кросс-Kylix − возможность под Windows получать Linux-исполняемые файлы
    • Модуль CRT для Linux
    • Русификация Kylix
    • CopyFile для Linux
    • Fast Report для CLX
    • How do I create an executible file using the command line directive in Linux with Kylix?
  • Разное
    • Забавное программирование в Delphi
    • Как повесить винду
    • Пасхальные яйца в Delphi
    • Растворение экрана
    • Семь чудес и два фокуса на Delphi
    • Создание фрактальных молний
    • Спрайтовый персонаж (Screenmate)
    • Управление игрой FreeCell
    • Ханойская башня
    • Экранный вирус
    • }{0TT@БЬIЧ