Delphi help

Вопросы по Delphi

  • Введение
  • Delphi IDE, компилятор, отладчик, редактор
    • Ошибки, связанные с работой Delphi
      • Delphi 4 виснут при запуске. Видеокарта S3 Virge?
      • В основном Help'е в Delphi не работает индекс по Win32?
      • Исчезает главное меню Delphi, почему?
      • Where are my components?
      • Hidden or missing IDE
      • IDE highlighting the incorrect line
      • Проблемы регистрации Дельфи
    • Директвиы компилляции
      • Какие есть директивы компилятора?
      • Как сделать свои собственные сообщения при компилляции?
      • Как узнать версию компилятора?
      • Предопределённые константы условной компиляции
    • Ошибки в Дельфи
      • Delphi Run-Time Error Codes
      • Как мне избавиться от выскакивающего окна CPU при ошибках?
      • Duplicate resource error
      • Data segment too large error
      • Error reading symbol file
      • Stack Overflow, Runtime error 202
      • Список префиксов Internal Error
      • Почему возникает ошибка Access Violation?
      • Error: Interface not supported
      • Как отловить ошибку?
      • Error: RPC Server is unavailable
      • Как перехватить сообщение об ошибке?
      • Как предотвратить утечки памяти при возникновении ошибок?
      • Как сгенерировать свою ошибку?
      • EOleSysError - как бороться?
    • Работа с ToolsAPI (Эксперты и редакторы свойств)
      • Borland Delphi/C++Builder ToolsAPI, или взгляд на Borland IDE изнутри
      • Delphi 7 ToolsAPI: Компоненты
      • Ещё примеры экспертов
      • Использование открытых интерфейсов
      • Как найти все установленные компоненты?
      • Как создать простейший эксперт?
      • Как создать свой пункт меню в Дельфи IDE?
      • Код определения свойств
      • Отладка экспертов
      • Показ свойств во время выполнения программы
      • Програмно меняем Delphi's Tool list?
      • Регистрация редактора свойства
      • Редактор свойства Color с заданными ограничениями
      • Создание pop-up меню своего компонента и кое-что еще о классе TComponentExpert
      • Создание редактора свойства
      • Текущий модуль и проект
      • Эксперты в DELPHI, или Программист, упростите себе жизнь
    • Среда Дэлфи
      • Эта незнакомая IDE! (статья)
      • Горячие клавиши Дельфи
      • Типы файлов в среде Дельфи
      • Как заставить стартовать Дельфи без заставки?
      • Как заставить стартовать Дельфи без проекта?
      • Скрытые настройки Дельфи
      • Смена свойств приложения, открываемого, по умолчанию в среде при её запске
      • Отображения величин в Watch List
      • Активизация и использование в IDE окна CPU
      • Как мне избавиться от выскакивающего окна CPU при ошибках?
      • Работа с IDE из программы
    • Проблемы с компонентами и палитрой компонентов
      • Проблема использования компонентов в D6/7 от предыдущих версий
      • Установка справки для сторонних компонент под d2005, d2006
    • Особенности отдельных версий Дельфи
      • Краткая история Delphi
      • Delphi 7. Отличия и особенности.
      • Переход от Delphi 7 к Developer Studio 2006 - сравнивая компоненты
      • Новые позможности языка в Delphi 2006
    • Компилятор Дельфи
      • Способы уменьшения размера Exe файлов полученных с помощью Дельфи?

Язык Дельфи

  • Общие вопросы
    • Директивы вызова процедур
    • Как использовать переменную для имени процедуры?
    • Быстрый способ обмена значений в 2х переменных.
    • BEEP для дельфи, который работает, как в TP
    • Можно ли задать шаг в For?
    • Как сделать procedure/function с переменным количеством параметров?
    • Как получить часть GUID?
    • Как передать массив как параметр?
    • GUI. Перегрузка контролами (статья)
    • Функция, возвращающая тип
    • Взять один символ из потока памяти
    • Удобная функция ifthen
    • Использование PosEx взамен Pos
    • Вызвать функцию по имени
    • О файле проекта
      • Вид экрана до появления главного окна
    • О переносе проекта в другую папку
    • Как использовать параметры командной строки?
  • Объектное ориентирование
    • Сущность ООП
      • Введение
      • Краеугольные камни ООП
      • Наследование
      • Метаклассы
      • Сущность ООП
      • Переназначения объектов
      • Сабклассинг и суперклассинг в Delphi для начинающих
      • Игра отражений
    • Разработка компонентов и классов
      • Как написать собственный класс?
      • Как заставить код компонента работать только в дизайне?
      • Создание компонент в Delphi
      • Пособие по написанию своих компонентов
    • Методы
      • Как преобразовать указатель на метод в указатель на функцию?
      • Как явно вызвать виртуальный метод дедушки?
      • Как вызвать метод предка?
      • Как редактировать таблицы виртуальных и динамических методов?
      • Перекрытие виртуальных методов
      • Динамические и виртуальные методы
      • Override/Vitual/Dynamic - методы
    • Свойства
      • Как скрыть свойства объекта?
      • Можно ли динамически изменять свойство owner компонента во время выполнения программы?
      • Демонстрация DefineProperties
      • Использование записей для хранения информации полей
    • События
      • Как присвоить событие в run-time?
      • Как получить список всех назначенных событий?
    • Self
      • Self
      • В чем отличие между Create(Self) и Create(Application)?
    • Sender
      • Работа с Sender
    • Разные вопросы
      • Как можно работать с объектами не заботясь об их разрушении?
      • Как создать компонент во время выполнения приложения?
      • Шаблоны в Object Pascal
      • Как внести изменения в код VCL?
      • Как создать копию произвольного компонента?
      • Вызов процедуры, имя которой содержится в переменной
      • Информация о TClass
      • Работа метода Assign
      • Как забыть о необходимости разрушать объекты?
      • Список handle всех окон моего приложения
      • Сгруппировать свойства наподобие Font
      • Клонирование объектов
      • Сохранение и загрузка данных в объекты на примере коллекций.
      • Выполнение процедуры по адресу
  • Работа со строками
    • Справочные материалы, общие вопросы
      • Справочник по функциям работы со строками
      • Справочник по функциям работы с PChar
      • Как хранятся строки?
      • Unix-строки (чтение и запись Unix-файлов)
      • Быстрые операции с очень большими строками
      • Небольшой модуль для работы со строками
      • Расширенные строковые функции
      • Добавление функций проверки орфографии
    • Преобразования строк из и в другие типы
      • String --> PChar
      • PChar-->Integer
      • Hex --> String
      • Hex --> Char
      • Hex --> Integer
      • Hex --> BIN
      • BIN --> Integer
      • Integer --> BIN
      • BIN --> Byte
      • Byte --> BIN
      • WideString -->String
      • String --> WideString
      • Функции преобразования UNICODE и ANSI строк
      • String --> BCD
      • BCD --> String
      • String --> HKEY
      • HKey --> String?
      • String --> PWideChar
      • PWideChar --> String
      • Преобразование Unicode строк в DFM файлах Delphi 6 в Ansi строки
      • Как преобразовать String в Binary и наоборот?
      • Из строки в массив и наоборот
      • Отобразить строку на определённую структуру
      • String --> Ascii
      • Ascii --> String
      • Преобразование сроки в число
      • String --> StringList
      • Как преобразовать значение любого типа в строку
    • Слова
      • Как осуществить поиск слов по маске?
      • Как подсчитать количество слов в строке?
      • Разбивка строки на слова
      • Функция возвращающая N-ое слово в строке
      • Словарь уникальных слов.
      • Быстрая функция для разбивки строки на части (слова) в один цикл
      • Заполнение списка словами из строки
      • Определить корень слова (для поиска похожих слов)
      • Сканирование строки начиная с указанной позиции с целью нахождения слова
      • Получать слова нужной длины при перестановке букв в указанном слове
      • Поиск слов по маске
    • Форматирование строк
      • Функции форматирования строк
      • Как использовать format parameter больше одного раза?
      • Дополнение строки пробелами
      • Выравнивание текста по ширине
      • Первая буква каждого слова в верхнем регистре
      • Как удалить переносы из строки
      • Обрезание строки по длине
      • Очистка строки (символьное значение числа) от пробелов, нулей и точки
      • Очистка строки слева и справа от указанного символа
      • Перевод символа в верхний регистр
      • Перевод символа в нижний регистр
      • Повтор строки N количество раз
      • Форматирование строки с использованием подстановочных символов
      • Функция для удаления из строки лишних символов
      • Замена в строке всех вхождений одной подстроки на другую
      • Наполнение строки
      • Удаление ненужных подстрок из строки
      • Удаление пробелов в начале строки
      • Удаление лишних пробелов в строке
      • Примеры форматирования строк с использованием API-функции wvsprintf
    • Разбор строки, выделение элементов, поиск
      • Как разделить строку на элементы, Аналог VB функции Split
      • Парсинг строк
      • Как найти строку в строке начиная с определённой позиции?
      • Регулярные выражения
      • Количество вхождений подстроки в строку
      • Модуль поиска по маске (более совершеный нежели дельфийский masks)
      • Деление строки не несколько строк
      • Замена подстрок
      • Нахождение последнего вхождения подстроки в строку
      • Выделение подстроки по контексту
      • Несколько расширенных функций по определению позиции
      • Поиск N-ого вхождения подстроки в строку
      • Расщепление строки с разделителями на массив строк
      • Функции для парсинга строк
      • Функция для разворачивания строк
      • Функция приблизительного (нечеткого) сравнения строк
      • Фильтрованный поиск в строке
      • Произвести поиск байта или слова в строке
      • Текст между двумя определёнными строками
    • Разные вопросы
      • Генерация GUID как строки
      • Explode / Implode a String?
      • Как получить количество активных ссылок на строку?
      • Инкрементация строкового поля
      • Получение параметра из строки по его индексу
      • Расстояние (разность) между двумя строками. Функция Левенштейна
      • Нестрогое сравнение строк
      • Сумма и количество прописью, работа с падежами
      • Сase для строки
      • Быстрые функции сжатия пробелов и управляющих символов в строке
      • О пользе типа ShortString при использовании WinAPI
      • Проверка значения строки
      • Удаление из файла элементов HTML
      • Функция проверки корректности ввода
      • Получить количество ссылок AnsiString
      • Как определить, что два слова имеют схожее произношение
  • Работа с датами и временем
    • Таймер и задержки выполнения (Delay)
      • Скорость работы процессора, точный таймер
      • Как реализовать сверхточный таймер?
      • Как отчитывать промежутки времени с точностью, большей чем 60 мсек?
      • Класс-оболочка для объекта синхронизации WaitableTimer
      • О таймере
      • Использование команды RDTSC процессора Pentium для работы с малыми временными интервалам
      • Реализация функции Delay
    • Календари, даты и летоисчисление
      • Программа рисует на форме календарь на 2002 год
      • Получить номер дня в году
      • Число текущей недели
      • Получить даты с понедельника по пятницу текущей недели
      • Конвертируем Unix дату
      • Проверка правильности даты
      • Дни в месяце
      • Определение восхода и захода солнца и луны
      • Как получить дату по Юлианскому календарю?
      • Вычисление даты Пасхи
      • Преобразовать Персидскую дату в дату по Грегорианскому календарю
    • Формат даты, преобразования дат и времени
      • Как преобразовать строку в дату?
      • Преобразование количества секунд в формат TTIME
      • Универсальная функция возврата значения элемента даты
      • Преобразование даты, месяц прописью
      • Преобразование даты и времени в строковый вид YYYYMMDDHHNNSS и обратно
      • Перевести секунды в формат времени
      • Корректировка поведения маски TDateTimeField
      • Частичный показ DateTime
      • Название месяца --> номер месяца
      • Вывод даты в нужном формате
      • Конвертируем TDateTime to Unix Timestamp
      • Как конвертировать RFC дату и обратно?
    • Недели и дни недели
      • Как узнать номер недели данного дня в году?
      • Как определить день недели?
      • Дни недели
    • Математика времени и временные интервалы
      • Работа со временем или как реализовать
      • Как реализовать визуальный отсчет времени
      • Использовать TTime для более 24 часов
      • За какое время было создано изображение
      • Генерация еженедельных списков задач
      • Допустимые периоды истечения времени
      • Сравнить быстродействие алгоритмов
      • Сложение времени
      • Как подсчитать возраст по дню рождения?
      • Прибавить час
      • Получение целого числа часов от начала суток
      • Округление времени
      • Математика времени
      • Как засечь время
    • Разные вопросы
  • Работа с числами
    • Функции преобразования чисел с плавающей точкой
    • Integer как SmallInt
    • Bin -> Dec
    • Число английской строкой
    • Как округлять до сотых в большую сторону?
    • Регионарные стандарты
    • Проблемы с дробными числами
    • Hex ---> Integer
    • Dec ---> Hex
    • Как получить доступ к битам переменной и управлять их значением?
    • Работа с типом Comp
    • Число украинской строкой
    • Число русской строкой
    • Римские -> Арабские
    • Арабские->Римские
    • "Некорректные" вещественные значения
  • Работа с битами
    • Проверка значения бита
    • Установка бита в единицу
    • Установка бита в ноль
    • Переключение состояния бита с единицы на ноль и наоборот
    • Двоичная математика
    • Битовые множества
    • Как в байте информации выделить биты
    • Как работать с битами
    • Получение значения бита в двойном слове
    • Пример чтения данных по битовой маске из значения
  • Работа с массивами
    • Примеры работы с динамическими массивами
      • Примеры работы с динамическими массивами
    • Массив в Delphi
    • Использование ассоциативных массивов
    • Пример массива констант (Array of Const)
    • Работа с большими массивами
    • Использование многомерного массива
    • Массив без ограничения типа и размера
    • Удаление и добавление значений динамического массива
    • Сохранение и загрузка двумерного динамического масива
    • Сохранение массива c изображениями
    • Запись массива на диск
    • Операции над числовыми массивами
    • Использование PHP-like операций с массивами
    • TMemoryStream --> Array of Byte
    • Array of Byte --> TMemoryStream
    • String --> Array
    • Array --> String
    • Как поместить двумерный массив в Image
    • Массив компонентов
    • Использование DynArrayFromVariant
    • Поиск минимального (максимального) элемента массива , статистика элементов массива
    • Проверка наличия числа в массиве
  • Работа с указателями, память
    • Арифметика указателей
    • Использование указателей на целое
    • Как избежать использования неактуальных указателей
    • Пример работы с указателями
    • Получение ссылки на экземпляр класса
    • Method pointers --> function pointers
    • Быстрое сравнение памяти
    • Динамическое распределение памяти
    • StrAlloc и GetMem
    • Освобождение памяти
    • Очистить переменную в оперативной памяти
    • Получение размера памяти выделенный под Pointer
    • Потеря памяти
    • Принципы работы с памятью в системе Windows32
    • Linked List Memory Table
    • Увеличение значения указателя
    • Указатель на вариантный тип
    • Указатель на функцию
    • Функции для выделения, перераспределения и освобождения памяти
  • Множества, записи и перечисляемые типы
    • Передача массива записей символов в Memo
    • Получить текст элемента перечисляемого типа
    • Пример переменной записи
    • Проблема передачи записи
    • Сохранение типа данных множество (TFontStyles)
    • Функции и процедуры для работы с данными перечислимого типа
    • Что такое множества?
  • RTTI и другие трюки с информацией о классах, модулях и т.п.
    • Имя класса компонента и модуля
    • Инспектор объектов и метаданные
    • Как выполнить метод по его имени?
    • Как выяснить имеет ли объект определённое свойство?
    • Как динамически прочитать информацию о классе
    • Как изменить значение свойства компонента по имени?
    • Как изменить цвет всех компонентов на форме в Run-time?
    • Как определить, насдледовано ли свойство от определённого класса?
    • Как определить, является ли метод потомком TNotifyEvent?
    • Как получить значение свойства в виде варианта по тексту имени свойства?
    • Как получить контекст свойства по его целочисленному значению?
    • Как получить строковое значение перечисляемого типа?
    • Как присвоить все значения полей одного класса, другому такому же классу?
    • Как прочитать весь список Published методов?
    • Как прочитать значение свойства компонента по имени?
    • Как прочитать свойство напрямую из его ресурса?
    • Как сделать текстовый список всех доступных свойств перечисляемого типа?
    • Как сохранить значение свойства в поток?
    • Как узнать имя файла моей программы?
    • Копирование свойств одного компонента другому
    • Теория и практика использования RTTI
  • Взаимодействие с другими языками
    • Использование ассемблера в Дельфи
      • Замечания о синтаксисе
      • Ввведение
      • Об основах ассемблерных процедур
      • Примеры
    • BASM - Уроки для начинающих.
      • BASM - Уроки для начинающих. Часть 1.
        • Урок 2
        • Урок 3
        • Урок 4
        • Урок 5
      • BASM - Уроки для начинающих. Часть 2.
        • Урок 7
    • Программирование АССЕМБЛЕРОМ в Delphi
    • Аналог функции С memcmp
    • Вызов cи-шной функции с переменным числом параметров
    • Вызов Delphi DLL из MS Visual C++
    • Изучаем ассемблер в Delphi
    • Использование массивов Visual Basic в Delphi
    • Как присвоить значение полям записи с помощью Assemblera
    • Основное отличие EXE-файлов созданных Delphi и Visual Basic
    • Соответствие типов С++ и Delphi
    • Что Delphi знает об ассемблере
    • Эквивалент функции DoEvents из Visual Basic в Delphi
    • Эквивалент функции SendKeys из Visual Basic в Delphi
  • Threads
    • Потоки и DLL
    • Как создавать потоки без класса TThread?
    • Как реализовать обработку информации одновременно несколькими потоками
    • Помещение формы в поток
    • Поток с доступом к глобальной переменной основной программы
  • Работа с коллекциями
    • Работа с коллекциями - сохранение и загрузка
    • Коллекции и работа с ними
    • Перетасовка строк в списке
  • RTL Delphi (краткий справочник)
    • Math - математика, статистика, финансы
    • Арифметика
    • Тригонометрические функции и процедуры
    • Функции и процедуры для финансовых вычислений
  • Базовые классы
    • TList
    • TObject
    • TPersistent
    • TComponent
    • TControl
    • TWinControl
    • TCustomControl
    • TGraphicControl
    • Глобальный объект Screen
    • Глобальный объект Clipboard
    • TStream
    • TStrings и TStringList
  • Скрипты, компилляторы и связанные с ними вопросы
    • Расчет введенной формулы
    • Использование Microsoft ScriptControl (статья)
      • Использование Microsoft ScriptControl
      • function Invoke
      • GetIdsOfNames
    • Использование компилятора Delphi (dcc32.exe) в прикладных программах
      • Вопросы реализации.
      • 1. Генерация кода
      • 2. Компиляция
      • 3. Диагностика ошибок
      • 4. Исполнение кода
      • 5. Взаимодействие с DLL
      • Пример реализации
    • Лекции по построению компилятора на Pascal
      • ВВЕДЕНИЕ
        • ОСНОВА
      • Синтаксический анализ выражений
        • ОДИНОЧНЫЕ ЦИФРЫ
        • ВЫРАЖЕНИЯ С ДВУМЯ ЦИФРАМИ
        • ОБЩАЯ ФОРМА ВЫРАЖЕНИЯ
        • ИСПОЛЬЗОВАНИЕ СТЕКА
        • УМНОЖЕНИЕ И ДЕЛЕНИЕ
        • КРУГЛЫЕ СКОБКИ
        • УНАРНЫЙ МИНУС
        • СЛОВО ОБ ОПТИМИЗАЦИИ
      • Снова выражения
        • ПЕРЕМЕННЫЕ
        • ФУНКЦИИ
        • ПОДРОБНЕЕ ОБ ОБРАБОТКЕ ОШИБОК
        • ПРИСВАИВАНИЕ
        • МНОГОСИМВОЛЬНЫЕ ТОКЕНЫ
        • ПРОБЕЛЫ
        • ПРОБЕЛЫ 2
      • Интерпретаторы
        • ИНТЕРПРЕТАТОР
        • НЕМНОГО ФИЛОСОФИИ
        • НЕМНОГО ФИЛОСОФИИ 2
      • Управляющие конструкции
        • ПЛАН
        • НЕМНОГО ОСНОВ
        • ОПЕРАТОР IF
        • ОПЕРАТОР WHILE
        • ОПЕРАТОР LOOP
        • REPEAT-UNTIL
        • ЦИКЛ FOR
        • ОПЕРАТОР DO
        • ОПЕРАТОР BREAK
        • ЗАКЛЮЧЕНИЕ
      • Булевы выражения
        • ПЛАН
        • ГРАММАТИКА
        • ОПЕРАТОРЫ ОТНОШЕНИЙ
        • ИСПРАВЛЕНИЕ ГРАММАТИКИ
        • СИНТАКСИЧЕСКИЙ АНАЛИЗАТОР
        • ОБЪЕДИНЕНИЕ С УПРАВЛЯЮЩИМИ КОНСТРУКЦИЯМИ
        • ДОБАВЛЕНИЕ ПРИСВАИВАНИЙ
      • Лексический анализ
        • ЛЕКСИЧЕСКИЙ АНАЛИЗ
        • КОНЕЧНЫЕ АВТОМАТЫ И АЛЬТЕРНАТИВЫ
        • ЭКСПЕРИМЕНТЫ ПО СКАНИРОВАНИЮ
        • ПРОБЕЛ
        • КОНЕЧНЫЕ АВТОМАТЫ
        • НОВЫЕ СТРОКИ
        • ОПЕРАТОРЫ
        • СПИСКИ, ЗАПЯТЫЕ И КОМАНДНЫЕ СТРОКИ
        • СТАНОВИТСЯ ИНТЕРЕСНЕЙ
        • ВОЗВРАЩЕНИЕ СИМВОЛА
        • РАСПРЕДЕЛЕННЫЕ СКАНЕРЫ ПРОТИВ ЦЕНТРАЛИЗОВАННЫХ
        • ОБЪЕДИНЕНИЕ СКАНЕРА И ПАРСЕРА
        • Пара комментариев:
      • Немного философии
        • ДОРОГА ДОМОЙ
        • ПОЧЕМУ ЭТО ТАК ПРОСТО?
        • ЗДЕСЬ НЕТ НИЧЕГО СЛОЖНОГО!
        • ЗАКЛЮЧЕНИЕ
      • Вид сверху
        • ВЕРХНИЙ УРОВЕНЬ
        • СТРУКТУРА ПАСКАЛЯ
        • РАСШИРЕНИЕ
        • ОБЪЯВЛЕНИЯ
        • СТРУКТУРА СИ
      • Представление "TINY"
        • ПОДГОТОВКА
        • ОБЪЯВЛЕНИЯ
        • ОБЪЯВЛЕНИЯ И ИДЕНТИФИКАТОРЫ
        • ИНИЦИАЛИЗАТОРЫ
        • ТАБЛИЦА ИДЕНТИФИКАТОРОВ
        • ВЫПОЛНИМЫЕ УТВЕРЖДЕНИЯ
        • БУЛЕВА ЛОГИКА
        • УПРАВЛЯЮЩИЕ СТРУКТУРЫ
        • ЛЕКСИЧЕСКИЙ АНАЛИЗ
        • МНОГОСИМВОЛЬНЫЕ ИМЕНА ПЕРЕМЕННЫХ
        • СНОВА ОПЕРАТОРЫ ОТНОШЕНИЙ
        • ВВОД/ВЫВОД
        • ЗАКЛЮЧЕНИЕ
      • Пересмотр лексического анализа
        • ПРОБЛЕМА
        • РЕШЕНИЕ
        • ИСПРАВЛЕНИЕ КОМПИЛЯТОРА
        • ЗАКЛЮЧЕНИЕ
      • Разное
        • СИНТАКСИЧЕСКИЙ САХАР
        • РАБОТА С ТОЧКАМИ С ЗАПЯТОЙ
        • КОМПРОМИСС
        • ОДНОСИМВОЛЬНЫЕ РАЗДЕЛИТЕЛИ
        • МНОГОСИМВОЛЬНЫЕ РАЗДЕЛИТЕЛИ
        • ОДНОСТОРОННИЕ КОММЕНТАРИИ
        • ЗАКЛЮЧЕНИЕ
      • Процедуры
        • ПОСЛЕДНЕЕ ОТКЛОНЕНИЕ
        • ОСНОВЫ
        • ОБЪЯВЛЕНИЕ ПРОЦЕДУРЫ
        • ВЫЗОВ ПРОЦЕДУРЫ
        • ПЕРЕДАЧА ПАРАМЕТРОВ
        • СЕМАНТИКА ПАРАМЕТРОВ
        • ПЕРЕДАЧА ПО ЗНАЧЕНИЮ
        • ЧТО НЕПРАВИЛЬНО?
        • ПЕРЕДАЧА ПО ССЫЛКЕ
        • ЛОКАЛЬНЫЕ ПЕРЕМЕННЫЕ
        • ЗАКЛЮЧЕНИЕ
      • Типы
        • ЧТО БУДЕТ ДАЛЬШЕ?
        • ТАБЛИЦА ИДЕНТИФИКАТОРОВ
        • ДОБАВЛЕНИЕ ЗАПИСЕЙ
        • РАСПРЕДЕЛЕНИЕ ПАМЯТИ
        • ОБЪЯВЛЕНИЕ ТИПОВ
        • ПРИСВАИВАНИЯ
        • ТРУСЛИВЫЙ ВЫХОД
        • БОЛЕЕ ПРИЕМЛЕМОЕ РЕШЕНИЕ
        • ЛИТЕРАЛЬНЫЕ АРГУМЕНТЫ
        • АДДИТИВНЫЕ ВЫРАЖЕНИЯ
        • МУЛЬТИПЛИКАТИВНЫЕ ВЫРАЖЕНИЯ
        • УМНОЖЕНИЕ
        • ДЕЛЕНИЕ
        • ЗАВЕРШЕНИЕ
        • ПРИВОДИТЬ ИЛИ НЕ ПРИВОДИТЬ
        • ЗАКЛЮЧЕНИЕ
      • Назад в будущее
        • НОВОЕ НАЧАЛО, СТАРОЕ НАПРАВЛЕНИЕ
        • НАЧИНАЕМ ЗАНОВО?
        • МОДУЛЬ INPUT
        • МОДУЛЬ OUTPUT
        • МОДУЛЬ ERROR
        • ЛЕКСИЧЕСКИЙ И СИНТАКСИЧЕСКИЙ АНАЛИЗ
        • МОДУЛЬ SCANNER
        • РЕШЕНИЯ, РЕШЕНИЯ
        • СИНТАКСИЧЕСКИЙ АНАЛИЗ
        • ССЫЛКИ
      • Конструирование модулей
        • СОВСЕМ КАК КЛАССИЧЕСКИЙ?
        • РАСШИРЕНИЕ СИНТАКСИЧЕСКОГО АНАЛИЗАТОРА
        • ТЕРМЫ И ВЫРАЖЕНИЯ
        • ПРИСВАИВАНИЯ
        • БУЛЕВА АЛГЕБРА
        • БУЛЕВА АЛГЕБРА 2

Карта сайта

  • Карта сайта Ссылка открывается в новом окне

VCL

  • Общие вопросы VCL
    • Как заставить приложение показывать различные иконки при различных разрешениях дисплея?
    • Процедуры и функции RX_lib
      • DBFilter unit
      • StrUtils unit:
      • VCLUtils unit:
    • Как сделать, чтобы компоненты отбрасывали тень?
    • Как создать каретку свой собственной формы?
    • Как разделить обработку OnClick и OnDblClick? Ведь OnClick будет вызываться всегда, и перед DblClick.
    • Как добавить событие OnMouseLeave?
    • Иерархия классов
    • Помещение VCL компонентов в область заголовка
    • Как различаются между собой Paint-события: Invalidate, Update и Refresh?
    • Можно ли как-то уменьшить мерцание при перерисовке компонента?
    • Как правильно работать с прозрачными окнами?
    • Как установить компонент от другой версии, если имеется только .DCU файл?
    • Как убрать публичное свойство компонента
  • Неявное обращение к компонентам, манипуляции в run-time
    • Перебор всех компонентов на форме
    • Как найти компонент по имени?
    • Групповые опперации с контролами
    • Как создать контрол в Run-Time?
    • Обращение через свойство Controls
    • Как отловить смену фокуса для всех контролов?
    • Работа с массивом компонентов
  • Реакция компонентов на клавиатуру
    • Как заблокировать реакцию на клавиатуру компонента?
    • Как работать с ssShift и TShiftState?
    • Имитация Tab
  • Перетаскивание объектов, Drag and Drop, Docking
    • Общие вопросы и теория технологии Drag and Drop
      • Внутренний интерфейс Drag and Drop
      • Функции и процедуры для работы с drag-and-drop операциями
      • Интерфейс переноса Drag-and-Drop
      • Перетаскивание объектов
      • Преобразование координат в параметрах событий OnDragOver и OnDragDrop, в координаты формы
    • Drag and Drop внутри своего приложения
      • Примеры использования Drag and Drop для различных визуальных компонентов
      • Перестроить вкладки TPageControl с помощью Drag and Drop
      • Как перетаскивать (Drag and Drop) выделенный текст между компонентами Memo?
      • Как перетаскивать компоненты в Run-Time?
      • Drag and Drop в TTreeView
      • Прокручивать TTreeView во время перемещения
      • Drag and Drop TImage
      • Drag and Drop для TListBox
        • Изменение позиций элементов ListBox с помощью Drag and Drop
        • Изменение позиций элементов ListBox с помощью Drag and Drop
        • Изменение позиций элементов ListBox с помощью Drag and Drop
        • Изменение позиций элементов ListBox с помощью Drag and Drop
        • Drag and Drop между двумя компонентами ListBox
        • Drag and Drop - как использовать ItemAtPos для получения элемента DirListBox
      • Drag and Drop - как использовать ItemAtPos для получения элемента DirListBox
      • Drag and Drop из RichEdit
      • Drag and Drop из TScrollBox
      • Drag and Drop несколько элементов в TListView
      • Drag and Drop со списками
      • Drag and Drop в TOutline
        • Drag and Drop для двух компонентов TOutline
      • Заполнение полей формы в TWebBrowser методом Drag-and-Drop
      • Как перетаскивать выделенный текст между компонентами Memo
      • Как перетащить целую колонку из StringGrid в ListBox
      • Пример Drag and Drop между двумя DBGRID
    • Drag and Drop с другого приложения, Drag and Drop файлов
      • Как перетаскивать файлы?
      • Как пpинимать яpлыки пpи пеpетягивании их на контpол
      • Как послать данные другому приложению используя auto-drag-n-drop?
      • Как сделать Drag-n-Drop из чужого приложения?
      • Drag and Drop c Explorer
      • Drag and Drop с минимизированным приложением
      • Переслать данные в другую программу методом Drag-and-Drop
      • Реализация Drag-and-Drop из внешнего приложения в ваше
    • Docking
      • Интерфейс присоединения Drag-and-Dock
    • Перемещение объектов мышкой
      • Как таскать форму за метку?
      • Как перемещать компонент во время работы программы
      • Перемещение изображений по форме с помощью мыши
        • Перетаскивание картинки мышью
  • Вставка одних компонентов в другие
    • Как поместить ProgressBar в панель StatusBar?
      • Способ 1
      • Способ 2
    • Как поместить TCheckBox внутри TRichEdit?
    • Как добавить TCheckBox в TStringGrid?
    • Как поместить ComboBox в ячейку StringGrid?
    • Помещение компонентов в StringGrid
    • Помещение компонентов в DBGrid
      • КОМПОНЕНТ #1 - TDBLOOKUPCOMBO
      • КОМПОНЕНТ #2 - TDBCOMBO
      • КОМПОНЕНТ #3 - TDBCHECKBOX
      • Ревизия
    • Как сделать pop-up Combobox по позиции курсора в Memo?
    • Мемо в DBGrid
    • CheckBox в DBGrid
    • TDateTimePicker в StringGrid
  • Стили и темы Windows
    • Элементы управления Windows XP
      • Theme API
      • Визуальные стили в Delphi
      • Визуальные стили и темы оформления
      • Включение манифеста Windows XP в ресурсы приложения
      • Компонент TXPManifest
      • Компоненты настройки цветовой палитры
      • Манифест Windows XP
      • Пользовательский интерфейс Windows
    • Windows XP манифест в Delphi
      • Исправление проблемы с TTrackBar
    • Добавление картинки на кнопку, если используются стили XP
    • Как определить использует ли пользователь стили?
    • Как отключать стили XP для отдельных контролов?
    • Как получить имя текщего стиля и имя цветовой схемы?
    • Как получить сообщение об изменении видео стиля?
  • TApplication
    • Восстановление минимизированного приложения
    • Глобальный класс TApplication
    • Замена Application.ProcessMessages
    • Как выполнить какой-то процесс тогда, когда пользователь не работает с моим приложением?
    • Как поместить окно програмы поверх всех?
    • Как приложение оставить свёрнутым в иконку?
    • Как сворачивать все приложение при сворачивании неглавного окна?
    • Как скрыть своё приложение?
    • Очистить иконку приложения
    • Работа с TApplication
      • property
      • Procedure
  • TForm
    • Общие вопросы
      • Выводим цветной текст на форме под любым углом
      • Как изменить оконную процедуру для TForm?
      • Как иммитировать появление формы как нового приложения?
      • Как поместить курсор мышки в нужное место на форме?
      • Как сделать анимацию минимизации формы?
      • Как сделать форму всегда позади всех окон?
      • Как среагировать на минимизацию-максимизацию формы перед тем как произойдет изменение?
      • Как узнать форма активна или нет?
      • Как узнать, находится ли мышка на форме?
      • Как установить минимальный размер окна?
      • Масштабирование формы под разрешение экрана
      • Мерцание формы
      • Наполовину активное окно
      • Полноэкранный режим
      • Привлечение внимания к окну
      • Пример градиентной заливки формы
      • Узнать класс формы
      • Функция, которая нарисует на форме сетку и сделает форму похожей на дизайнер форм Delphi
    • Создание, закрытие и вызов форм
      • В каком порядке происходят события при создании и показе окна?
      • Как заставить форму находиться всегда позади всех окон
      • Как использовать форму из DLL
      • Как сделать окно системно-модальным?
      • Как сделать плавное закрытие окна ?
      • Как сделать форму активной, Форма находится в DLL
      • Как сделать, чтобы форма закрывалась при нажатии Esc?
      • Как создать и вызвать модальную форму?
      • Можно ли динамически менять какая форма считается главной в приложении во время работы программы?
      • Можно ли создать форму, которая получает дополнительные параметры в методе Сreate?
      • Необходимо, чтобы дочерняя форма не активизировала родительское окно
      • Рождение, жизнь и гибель формы.
      • Сворачивает все приложение при сворачивании неглавного окна
      • Условие создания главной формы
      • Форма изменяющая размеры без заголовка
    • Прозрачность формы
      • Как выбрать и установить уровень прозрачности формы
      • Как сделать прозрачное окно родными средствами Windows?
      • Как сделать форму невидимой, а компоненты (image) видимые…
      • Прозрачная форма, не реагирующая на мышь
      • Прозрачность в Delphi 6
    • Прячем форму
      • Как спрятать окно при запуске приложения?
      • Как спрятать форму?
    • Формы нестандартного вида
      • Как сделать roll-up форму?
      • Как сделать subform?
      • Как сделать дырку в окне?
      • Как сделать форму без caption?
      • Как сделать чтобы окно было на весь экран?
      • Как создавать не квадратные формы и контролы?
      • Как создать круглую форму?
      • Как создать форму в форме элипса?
      • Работа с регионами (статья)
        • Функции создания/удаления регионов
        • Функции отображения регионов
        • Прочие функции
        • Функции работы с окнами и регионами
        • Комбинирование регионов
        • Рисование регионов
        • Прочие функции
        • Сохранение и загрузка региона
        • Создание региона по картинке
      • Создание окон произвольной формы (Статья)
      • Создание форм с закругленными краями
    • Манипуляции с заголовком формы
      • Добавляем дополнительную кнопку в заголовок формы
      • Изменяем заголовок окна
      • Как изменить шрифт и выравнивание в заголовке формы?
      • Как перехватить события в неклиентской области формы?
        • Пример
      • Как скрыть кнопку [х] в заголовке окна?
    • MDI приложения
      • Избавление от скролов в MDI форме
      • Как отобразить модально MDIChild форму
      • Как сделать MDI-приложение, где сливаются меню дочернего и главного окна, и полосы инструментов?
      • Как сделать родительское окно с фоновым рисунком в клиентской области?
      • Как спрятать окна MDI Child
      • Как убрать заголовок в дочерней форме MDI?
      • Как узнать что MIDI форма изменила статус?
      • Меню дочерних MDI-форм
      • Модуль данных для каждого MDIChild
      • Открытие MDI-окон определенного размера
      • Позиция дочерних MDI-окон
      • Почему MDI Child форма при закрывании просто минимизируется?
      • Придание MDI-формам большей трехмерности
      • Проблема всплывающих подсказок в дочерних MDI-формах
      • Разработка MDI приложений в Delphi
        • Создание и отображение...
        • Свойства MdiChildCount и MDIChildren
      • Сколько открыто дочерних окон?
      • Создать MDI окно с координатами 0,0
      • Фон MDI-окон
    • Перемещение формы
      • Как запретить перемещение формы?
      • Как прикрепить свою форму к другому приложению?
      • Как узнать какое окно закрывает форму
      • Как узнать что форма потеряла фокус?
      • Как узнать, была ли перемещена форма?
      • Липкие окошки
      • Ограничить подвижность формы
      • Таскаем форму за её поверхность
  • TStatusBar
    • OwnerDraw в компоненте StatusBar
    • StatusBar с другими контролами
    • TStatusBar+TProgressBar
    • В строке состояния TStatusBar выводится только 127 символов
    • Изменить шрифт TStatusBar
    • Как вывести цветной текст в TStatusBar?
    • Показ всплывающих подсказок в строке состояния
    • Показ даты, времени и состояния клавиш в строке состояния
    • Установить размер шрифта для панели StatusBar
  • TProgressBar
    • ProgressBar в колонке TListView
    • ProgressBar с невидимой рамкой
    • ProgressBar, который не отображают реального прогресса
    • TProgressBar при помощи фонового потока
    • Вставить ProgressBar в StatusBar
    • Как изменить стандартный цвет ProgressBar?
    • Как сделать ProgressBar таким же, как на заставке Windows XP
  • TEdit, TSpinEdit
    • Edit с возможностью автоматического выбора
      • Подстановка в TEdit
    • SetFocus в Edit на OnExit
    • Автоматический формат даты в компоненте Edit
    • Выравнивание по правому краю в TEdit?
    • Выравнивание по центру в TEdit?
    • Денежное поле редактирования
    • Изменить вид каретки TEdit
    • Изменить цвет неактивного TEdit
    • Как автоматически расширить TEdit?
    • Как заблокировать ввод нецифровых данных в Edit
    • Как заставить TEdit не пикать при нажатии недопустимых клавиш?
    • Как назначить событие на увеличение/уменьшение TSpinEdit с помощью стрелочек?
    • Как ограничить длинну вводимого текста шириной TEdit'а?
    • Как очистить все окошки редактирования на форме?
    • Как перехватить клавишу табуляции (Tab) в TEdit?
    • Как сделать так, чтобы в компонент TEdit можно было вводить текст только на английской раскладке?
    • Как узнать физические координаты каретки в пикселях?
    • Компонент TEdit с возможностью задать выравнивание текста
    • Массив Edit-компонентов
    • Ограничение ввода в текстовое поле
    • Отслеживаем позицию курсора в EditBox
    • Подсказка при вводе в Edit
    • Преобразовать первую букву каждого слова к верхнему регистру в TEdit
    • Проблема потери фокуса для TEdit
    • Проверка на соответствие содержимого TEdit
    • Элемент управления Edit, реагирующий на событие OnTimer
  • TMemo
    • Memo со свойствами Row и Col
    • Вставка текста в TMemo в текущую позицию
    • Выделить строку в Memo
    • Дельфи компонент для подкраски синтаксиса
    • Добавление строк в Memo
    • Как вставить содержимое файла в текущую позицию TMemo?
    • Как загрузить юникоды в мемо?
    • Как использовать различные шрифты и стили в Memo-объекте?
    • Как нарисовать что-нибудь на TMemo?
    • Как настроить табуляцию в компоненте TMemo?
    • Как переместить каретку TMemo в нужную строку?
    • Как перехватить Ctrl-V в компоненте TMemo?
    • Как получить координаты курсора в memo-поле?
    • Как програмно прокрутить Memo?
    • Как реализовать поиск, замену
    • Как сделать Memo с закруглёнными краями?
    • Как сделать окошко подсказки в редакторе как Delphi по CTRL-J
    • Как сделать отступ в Memo?
    • Как создание нестандартную процедуру разбиения слов при переносах для TEdit, TMemo или TRichEdit?
    • Как узнать количество видимых строчек в TMemo?
    • Найти все ссылки в TMemo
    • Обнаружение прокрутки TMemo
    • Ограничение длины и количества строк компонента Memo
    • Постраничная прокрутка Memo, когда фокус находится на Edit
    • Проверить, можно ли отменить последнее действие в TMemo
    • Програмная навигация в Memo
    • Режим вставки и замены
    • Режим замены
    • Следование за мышкой в TMemo для установки позиции курсора
    • Событие Key Press и курсорные клавиши в TMemo
    • Сортировка строк в MEMO
    • Управление прокруткой Memo
  • TRichEdit
    • RichEdit замена текста
    • RichEdit поиск текста
    • Richedit сам меняет язык при перемещении
    • Выравнивание текста в TRichEdit
    • Добавить цветную строку в TRichEdit
    • Загрузка нескольких RTF файлов в RichEdit
    • Задать расстояние между строк для TRichEdit
    • Изменить цвет выделения для TRichEdit
    • Исправление загрузки RTF текста через поток
      • 2. Текст с исправлением:
    • Как вставить Bitmap в TRichEdit?
    • Как вставить картинку в RichEdit?
    • Как вывести TRichEdit текст на холст?
    • Как выделить URL в TRichEdit?
    • Как из RXRichEdit сохранить в RTF формате?
    • Как использовать верхние и нижние индексы?
    • Как копировать RTF текст в буфер обмена?
    • Как менять шрифт в RichEdit горячими клавишами?
    • Как найти позицию текстового курсора в пикселях?
    • Как получить RTF текст из TRichEdit
    • Как получить определённую часть текста из RichEdit?
    • Как поменять цвет фона в RichEdit
    • Как поместить данные в RichEdit контрол?
    • Как прокрутить TRichEdit в конец?
    • Как скопировать содержимое одного RichEdit в другой?
    • Как указать максимальный размер текста для RichEdit Control?
    • Обратный поиск строки в TRichEdit
    • Перейти на строку в RichEdit
    • Подсветить HTML теги в RichEdit
    • Подсветить ссылки в TRichEdit
    • Подсветка синтаксиса
    • Подсчет слов в Richedit
    • Позиционирование курсора как в предыдущей строке
    • Позиция курсора в TRichEdit
    • Показывать значки элементов списка в TRichEdit
    • Получить первую или последнюю видимую строку в TRichEdit
    • Получить слово под курсором в RichEdit
    • Поместить изображение смайлика в TRxRichEdit
    • Предпросмотр/печать TRichEdit
      • вывести только определённый кусок текста
      • А как вывести Rich-текст с фоновым рисунком ?
    • Различные стили подчеркивания для TRichEdit
    • Сделать предварительный просмотр для TRichEdit
    • Таблицу в clipboard
    • Установка каретки в RichEdit
  • TLabel
    • Как осуществить ввод текста в компоненте Label?
    • Как отобразить hint в TLabel?
    • Как переделать TLabel в URL?
    • Комбинация TLabel и TEdit
  • Panel, ToolBar, CoolBar
    • Как поместить прозрачную фоновую каринку на компонент CoolBar?
    • Компонент со вложенной панелью
    • Не устанавливается цвет панели
    • Панель с двумя полосами слева, которые можно двигать
    • Панель с изменяющимися размерами
    • Плавающая панель
  • StringGrid
    • Вставка объектов в ячейки
      • Bitmap в StringGrid ячейке
      • CheckBox в StringGrid
      • Встроенный редактор ComboBox в ячейке StringGrid
      • Обновление картинки в ячейке
    • Удаление и добавление столбцов и колонок
      • Вставка и удаление строк в StringGrid
      • Вставка строки в TStringGrid
      • Добавление колонки в StringGrid
      • Как удалить строку в StringGrid в run-time?
      • Очистить ячейки в TStringGrid
      • Удаление колонки в StringGrid
    • Выделение ячеек
      • StringGrid без выделенной ячейки
      • StringGrid, выделить фиксированные строки
      • Выбор строки или колонки компонента TStringGrid
      • Как снять выделение в StringGrid?
      • Множественный выбор в TStringGrid
      • Проверить, выделена ли ячейка TStringGrid
      • Сменить цвет выделения в StringGrid
    • Сохранение и загрузка, импорт и экспорт
      • TStringGrid --> HTML
      • TStringGrid и файловый поток
      • XLS ---> TStringGrid
      • Получить содержимое TStringGrid или TDrawGrid в виде строки
      • Сохранение и чтение TStringGrid
      • Экспорт StringGrid в исполняемый файл *.EXE
      • Экспорт TStringGrid в Excel
    • Перемещение строк, столбцов и ячеек
      • Как перемещать строки и колонки в StringGrid?
      • Обмен строк TStringGrid
      • Перетаскиваем колонки и строки в StringGrid мышью
    • Размеры колонок и строк, выравнивание
      • Автоматическая ширина колонок в TStringGrid
      • В StringGrid ширина колонки подгоняется под длину самой длинной строки
      • Выравнивание колонок StringGrid
      • Изменение размеров колонок в StringGrid
      • Правое выравнивание ячеек TStringGrid
      • Увеличение ячейки TStringGrid при увеличении числа строк
    • Цвета текста, ячеек, столбцов и колонок
      • Назначение цвета для каждой строки
      • Покрашенный StringGrid
      • Символы разного цвета в StringGrid
      • Цвет неактивной ячейки StringGrid
      • Цветные ячейки в StringGrid / DBGrid?
    • Многострочность
      • Компонет TWrapGrid, осуществляющий перенос текста в TStringGrid
      • Многострочность в заголовках колонок StringGrid
      • Многострочные ячейки в StringGrid.
    • Фокус
      • SetFocus в TStringGrid
      • TStringGrid с фокусом (OnDrawCell)
      • Фокус ячейки TStringGrid
    • Текст в ячейке
      • Манипуляция словами в TStringGrid
      • Ограничение длины поля TStringGrid
      • Текст в ячейке StringGrid если не помещается переносится на следующую ячейку
    • Клавиатура
      • Tab как Enter в StringGrid
      • перехватывать горячие клавиши в StringGrid?
    • Буфер обмена
      • Копирование содержимого TStringGrid в буфер обмена
    • Разные вопросы
      • OnColumnClick из TListView для TStringGrid
      • StringGrid как DBGrid
      • StringGrid, Печать в ячейку
      • Вывести номер строки и столбца TStringGrid
      • Как сделать различные подсказки для каждой ячейки в StringGrid?
      • Можно ли обратиться к колонке или строке grid'а по заголовку?
      • Отображаются ли полосы прокрутки для TStringGrid?
      • Перевернуть текст в TStringGrid на 90 градусов
      • Печать TStringGrid
      • Пример TDrawGrid Drawcell
      • Пропорциональное отображение в TScrollBar или TStringGrid
      • Сортировка StringGrid
  • TreeView, ListView
    • TTreeView
      • ScrollBars от TTreeView
        • Доступ к ScrollBars от TTreeView
        • Прокрутка TreeView, чтобы держать выделение посередине
        • Убрать ScrollBars от TTreeView
      • Поиск и путь к узлу
        • Как получить строковый путь узла TTreeView?
        • Поиск в TreeView по тексту
        • Получение узла в TTreeView по пути заголовков
      • TTreeView. Проблемы CustomDraw
      • В TreeView текущий Node выделяется другим шрифтом
      • Выделение некоторых узлов другим шрифтом
      • Выделять узел TTreeView правой кнопкой мыши
      • Загрузка ini-файла в TTreeView
      • Как копировать и вставлять TreeNode?
      • Как открыть первую ветвь TreeView?
      • Как реализовать Drag and Drop в TTreeView
      • Как связать TreeView и PageControl?
      • Как убрать всплывающие подсказки в TreeView
      • Копировать и вставлять TreeNode
      • Копировать узлы с поддеревом TTreeView во второй TTreeView
      • Отмена вставки нового узла в TreeView по нажатию кнопки Esc
      • Поместить список контролов и пунктов меню в TTreeView
      • Поточность TreeView
      • Проверить, развернут ли или свернут полностью TTreeView
      • Рекурсивные механизмы спуска по дереву
      • Сохранить и загрузить TTreeView
      • Ускорение работы TreeView
    • TListView
      • Сортировка ListView
      • Как поместить картинку в заголовок TListView?
      • Как узнать, по какой колонке был клик в TListView?
      • Virtual ListView с контекстным меню
      • Дерево каталогов
      • Как добовлять в ListView полноцветные иконки?
      • Как поменять цвет Header'а в TListView
      • Запретить Hint в TTreeView
      • Невизуальное дерево
      • Двоичный поиск для TListView
      • Добавить событие onDblClick на заголовке TListView
      • Искать текст в TListView
      • Как ListView перевести в режим редактирования по нажатию на F2
      • Обмен значениями элементов TListView
      • Определить нажатие на CheckBoxe TListView
      • Отображать элементы TListView как группу XP
      • Переместить элемент в TListView
      • Перехват изменения размера колонки в TListView
      • Показать TRadioButtons в TListView
      • Показать файлы с ассоциированными с ними иконками в TListView
      • Получить все выделенные элементы TListView
      • Получить путь к выделенному файлу в TShellListView
      • Получить список файлов в ListView как в проводнике
      • Предотвратить изменение ширины колонки для TListView
      • TListView в режиме отчета под манифестом XP
      • Прокрутка для TListView или TTreeView
      • Спрятать горизонтальную или вертикальную полосу прокрутки в TListView
      • Сохранить TListView как HTML страницу
      • Ускорить удаление элементов из TListView
      • Цветные строки для TListView
      • Чередование фона строк в TListView
      • Экспорт TListView в TStringGrid
  • ListBox, CheckListBox, DBLookUp, Другие списки
    • Как изменить фоновый цвет текста в различных строчках TListBox?
    • Печать содержимого TMemo или TListbox.
    • TCheckListBox: использование методов LoadFromFile/SaveToFile
    • Компонент FontListBox
    • Как добавить горизонтальную полосу прокрутки (scrollbar) в TListBox?
    • Как перетащить целую колонку из Stringgrid в Listbox?
    • Как добавлять колонки в обычный Listbox (TListbox)?
    • Как вставить растровое изображение в компонент ListBox?
    • Как присвоить значение свойству selected в ListBox?
    • Как в ListBox нарисовать Item своим цветом?
    • Как принимать перетаскиваемые файлы из проводника?
    • Как осуществить быстрый поиск в Listbox?
    • Как создать поле Lookup во время выполнения приложения?
    • Можно ли изменить число колонок и их ширину в компоненте TFileListBox?
    • Как сделать картинки из TImageList прозрачными?
    • Как выводить элементы списка разными шрифтами
    • Инкрементальный поиск в ListBox
    • Показ in-place подсказки в TListBox и других компонентах
    • Табуляция в графическом ListBox
    • Уменьшение мерцания ListBox в обработчике OwnerDraw
    • Прокрутка ListView
    • Отрисовка элементов ListBox
    • Сортировать список по алфавиту
  • ComboBox, DBComboBox
    • Как можно отменить реакию ComboBox на F4?
    • TComboBox.ReadOnly
    • Несколько колонок в TComboBox
    • Как опеделить состояние списка ComboBox, выпал/скрыт?
    • Как получить размер развёрнутого TComboBox?
    • Как поместить картинки в Combo Box?
    • Мигание при добавлении строк
    • Как у Комбобокса сделать BorderStyle := bsNone?
  • PageControl, TabControl, Notebook, TabSet
    • Как использовать клавишу-акселератор в TTabsheets?
    • Динамические создание объектов в TabbedNotebook
      • Как мне поместить кнопку (во время выполнения программы) на страницу TabbedNoteBook?
      • TNotebook
    • Недоступная закладка в компоненте TabbedNotebook
    • Доступ к страницам Tabbednotebook
    • Над какой закладкой курсор в TabControl?
    • Как получить число и список всех компонентов, расположенных на TNoteBook?
    • Блокирование закладок TPageControl
    • Добавление и удаление страниц Notebook
    • Notebook как контейнер для форм
    • Включение и выключение закладки Notebook
    • Динамические PageControl и TabSheet
      • Как динамически создать PageControl
    • Изменяем цвет TPageControl
    • Как использовать клавишу-акселератор в TTabSheets (TPageControl)
    • Синхронизация TabSet c ListBox
    • Перемещение на страницу TabSet по имени
    • Проблема с освобождением ресурсов Notebook
    • Разделяемые элементы управления для Tabbednotebook
    • События KeyPress и KeyDown не вызываются для Tab - как определить ее нажатие
  • Action, ActionList
    • Как в run-time Action добавить в ActionList?
    • Создание и регистрация Action на низком уровне
  • Диалоги
    • Как работать с FileOpenDialog и FileSaveDialоg?
    • TOpenDialog, TSaveDialog, TOpenPictureDialog и TSavePictureDialog
      • TOpenDialog и TSaveDialog
      • TOpenPictureDialog и TSavePictureDialog
    • Добавляем компонент в стандартный Message dialog.
    • Как вывести окно свойств компьютеpа?
    • Как показать Open With диалог?
    • Как показать File Properties dialog?
    • Как показать Choose Computer диалог?
    • Как открыть диалог создания ярлыка?
    • Как открыть диалог Add printer?
    • Как открыть диалог свойств аудио?
    • Как открыть диалог смены системного времени?
    • Использование Shell API функции SHBrowseForFolder
    • Как получить картинки из MessageDlg?
    • Как вывести диалог Обзор папок
    • Просмотр списка файлов в File Dialogs
    • Манипулирование кнопками OpenDialog
    • Показать Run диалог
    • Показать Choose Domain диалог?
    • Как вызвать Shutdown Windows dialog?
    • Диалог подключения сетевого диска
    • Диалог отключения сетевого диска
    • Использование InputBox и InputQuery
    • Как вызвать диалог 'Найти файлы и паки' проводника?
    • Позиционирование TSaveDialog
    • Изменение вида сортировки объектов в диалогах
    • Как добавить в диалог TOpenDialog свой CheckBox
    • Открытие сокращённого или полного диалога выбора цвета
    • Процедуры для открытия диалогового окна "Свойства Экрана"
    • Правильные диалоги от Борланда
  • Прокрутка, ScrollBox
    • Как убрать HSCROLL у DBGRID?
    • Как перехватить сообщения скроллирования в TScrollBox?
    • Как сделать плавную прокрутку?
    • Синхронизация двух компонентов ScrollBox
    • Ползунок компонента TScrollBar все время мигает. Как это отключить?
    • Цветной ScrollBar
  • Button, SpeedButton, BitBtn
    • Расширяем возможности кнопок в Delphi.
    • Автоматически нажимающаяся кнопка
    • Кнопка со звуком
    • Кнопка или пункт меню выполняет другую функцию при нажатой кнопке shift
    • Как изменить цвет TButton?
    • Как сделать многострочную надпись на TBitBtn?
    • Если прозрачная часть glyph'а становится видной...
    • Можно ли использовать иконку как картинку на кнопке TSpeedButton?
    • Пример компонента типа XPButton
    • Можно ли из 3-х Image(картинок) сделать компонент-кнопку
    • Визуализация нажатия кнопки
    • Из ресурсов поочередно загружать глифы для кнопок SpeedButton
    • Как текст на кнопке расположить под заданным углом
    • Кнопка с многострочным заголовком
    • Кнопка с закругленными краями
    • Смена иконки BitBtn во время работы приложения
    • Создать неактивные пиктограммы для TSpeedButton и TBitBtn во время выполнения
    • Как програмно нажать SpeedButton?
  • Image, Icon, Shape, PainBox
    • Каким образом задать прозрачный цвет иконки?
    • Если отображается только часть TImage
    • Сохранить TImagelist в файл со всем содержимым
    • Перемещение Image
    • Хитрость вывода изображения
    • TImageList. Не отображаются иконки на контролах
    • Как сделать картинки в TImageList прозрачными
    • Очистить TImage
    • Перемещение иконок между несколькими TImageLists
    • Функции для работы с объектом типа TImage
    • Как сохранить содержимое TPaintBox в BMP
  • Checkbox
    • Видоизменяем чекбоксы в Delphi
  • Hints
    • Hint в выпадающем списке ComboBox
    • Многострочные подсказки
    • Как изменить шрифт hint?
    • Как получить эффект тени для hint?
    • Показываем всплывающие подсказки в различных панелях StatusBar
    • Длинные подсказки на StatusBar'e
    • Как поместить иконку в окошко подсказки?
    • Как сделать графический hint?
    • Хинт любой формы
    • Как сделать balloon tooltips?
    • Как показать округлённое окошко подсказки в Tray в Windows2000
    • Как заставить появиться окошко подсказки когда курсор мышки находится над определённым контролом?
    • Использование обработчика OnHint при наличии нескольких форм
    • Ярлычки и оперативная подсказка
    • Как выводить hint при движении мыши над списком
    • Hint на системных кнопках, Как это делается?
    • Видеть подсказки все время, пока поле редактирования имеет фокус
    • Прямой вызов Hint
    • Использование Hints
    • Как вывести Hint для ячейки DBGrid
    • Всплывающие подсказки у выключенных кнопок
    • Как показать подсказки Hints для элементов меню
    • Как создать собственное Hint-окно
    • Показ in-place подсказки в TListBox и других компонентах
  • Menu
    • Добавляем пункты в системное меню Windows
    • Пишем свой текст в Меню
    • Как сделать пункты меню с картинками?
    • Как поместить маленькие битмапы в TPopUpMenu?
    • Более быстрый способ добавлять пункты меню
    • Как программно заставить выпасть меню?
    • Как узнать о нажатии non-menu клавиши в момент когда меню показано?
    • Как сделать меню как в Дельфи?
    • Как поместить TMenuItem справа у формы?
    • Как рисовать картинки в пунктах меню?
    • Как узнать статус меню?
    • Элементы меню на основе изображений
    • Иконки в PopupMenu
    • Как показать подсказки Hints для элементов меню
    • Как добавить пункт меню?
    • Кнопка в MainMenu с правой стороны
    • Как заставить системное меню выпасть в указанном месте?
  • MediaPlayer
    • AVI файл проигрывается снова и снова
    • Как показать оставшееся время до конца?
    • Определить, когда TMediaPlayer закончил проигрывание
    • Установить звук для TMediaPlayer
  • RadioGroup, RadioButton
    • Можно ли отключить определенный элемент в RadioGroup?
    • Поведение TAB в компоненте RadioGroup
    • Как заставить GroupBox прорисовать на форме свой Caption неактивным цветом?
  • TrackBar
    • Как бы мне создать эдакий trackbar в котором вместо широкой белой полоски с ползунком была бы тонкая линия?
  • Другие компоненты
    • Как использовать ChartFX?
    • Как удалить сегодняшнюю дату из TDateTimePicker?
    • Как поставить свой формат в TDateTimePicker?
    • Как использовать IP Address Control у себя?
    • Что такое фреймы?
    • Пример компонента HotSpot
    • Глюк при запуске приложений через ShellListView
    • Загрузка файлов в THTMLViewer и TFrameBrowser
    • HeaderControl с дополнительной возможностью отображения стрелок
    • Расширенный Label для отображения имени файла

Системные функции и WinAPI

  • Работа с железом
    • Конфигурация железа
      • Как узнать конфигурацию железа?
      • Получение имени конфигурации HardWare profile
      • Как получить информацию о системе?
      • Узнать не запущено ли приложение под Virtual PC?
      • Узнать не запущено ли приложение под VMware?
      • Как корректно определить изменения в оборудовании PlugNPlay?
      • Установка драйвера
      • Определение видеокарты
    • Порты
      • Что такое порт? Правила для работы с портами
        • DwFlagsAndAttributes
        • Структура DCB
      • Как читать/писать в I/O порты?
      • Как прочитать байт из параллельного порта?
      • Как узнать адрес LPT-порта?
      • Как программно установить конфигурацию COM-порта в Windows?
      • Как узнать имена установленных в системе COM-портов?
      • Как узнать, есть ли в приёмном буфере RS232 данные?
      • Компонент для последовательного устройства (TRS232)
      • Печать Dos-файла в порт напрямую
      • Как найти список параллельных портов?
      • Посылать и считывать данные с COM порта, а также менять параметры (биты данных, четность)
      • Пример программирования com портов
      • Работа с последовательными портами
      • Работа с сотовыми телефонами
      • Write/read a string to/from the serial port
      • Обнаружить, подключено ли USB-устройство или отключено?
    • BIOS
      • Как узнать номер BIOS для разных версий Windows?
      • Как получить дату BIOS?
      • Как получить информацию о BIOS в Windows?
      • Как получить информацию о BIOS в Windows NT?
      • Разбудить компьютер по сети, Использование Bios Wake-on-Lan
      • Получить информацию о BIOSе
      • Универсальные пароли к BIOS
      • Как прочитать ROM-BIOS?
    • Диски
      • Cуществует ли диск в системе?
      • Информация о логических дисках
      • Информация о физических дисках
      • Как получить инфу о SCSI дисках?
      • Как форматировать диск?
      • Как узнать, находится ли дискета в дисководе?
      • Как сделать виртуальный диск?
      • Можно ли удалять из списка TDriveComboBox диски которые отключены?
      • Прочитать boot сектор
      • Управление метками томов дисков
      • Как заблокировать доступ к дисководу?
      • Информация о дисках
      • Как получить серийный номер тома жесткого диска?
      • Определение типов логических дисков
      • Редактор диска своими руками
    • CD-ROM/CD-R/CD-RW
      • Блокировка/Разблокировка CD-ROM
      • Есть ли CD-ROM?
      • Как узнать букву CD-ROM?
      • Как выдвинуть дверцу CD-ROM?
      • Как открыть CD-ROM, если их несколько в системе?
      • Как загрузить иконку CD-ROM?
      • Как узнать серийный номер аудио CD?
      • Как узнать есть ли в заданном CD-ROM'е Audio CD?
      • Как получить информацию о дорожке аудио-CD?
      • CD Remember
      • Как различать звуковые CD
      • How to check, if a CD-Recorder is available?
      • Практически все о взломе CD
      • Как узнать производителя CD/DVD?
      • Изменение скорости привода CD-ROM
      • Активизация или отключение автоматического проигрывания CD
      • Обработать момент вставки и вытаскивания CD
      • Как узнать количество CD в системе?
    • Процессор, сопроцессор
      • Как найти скорость процессора?
      • Как получить информацию о процессоре?
      • Количество активных потоков и загруженность процессора
      • Поддерживает ли процессор технологию 3DNow
      • Как узнать загрузку процессора?
      • Получение количества установленных процессоров
      • Получение уровня процессора
      • Работа с портами микропроцессора
      • Как запустить процесс на конкретном процессоре в много процессорной системе?
      • Архитектура x86
        • Процессорная шина
        • Латентность
        • Понятие архитектуры
        • Архитектура как характеристика семейства процесcоров
        • Частота работы ядра
        • Кэш
        • Арифметико-логические устройства
        • Trace cache
        • Предсказание ветвлений
      • Определение фирмы производителя CPU
    • Видеокарта, Монитор
      • Как установить разрешение экрана?
      • Получаем и устанавливаем различные режимы видео адаптера?
        • Установка видео-режима
        • Отслеживание изменений дисплея
        • все возможные видеорежимы
        • Текущее разрешение экрана
      • Как отследить изменения дисплея?
      • Как определить видеокарту?
      • Настройка монитора
      • Как узнать количество цветов в системной палитре?
      • Как узнать частоту обновления монитора?
      • Выключить монитор
      • Получить все возможные разрешения экрана
      • Как перевести монитор в режим stand-by
    • Модем
      • Как узнать состояние модема в Win32?
      • Как прочитать из модема?
      • Функция набора номера модемом
      • Как получить список установленных модемов
      • Using Tapi
      • АТ команды модема
      • S-регистры модема
      • Набор dialup соединения по умолчанию
      • RAS API для непродвинутых
    • Мышка/клавиатура
      • Клавиатура
        • Как отличить нажат правый или левый SHIFT?
        • Как отличить нажат правый или левый CTRL?
        • Как перехватить нажатие TAB?
        • Как отключить комбинацию Alt+Tab
        • Как скрыть программу от Alt - Tab
        • Имитация Tab
        • Как заставить кнопку Enter работать наподобие Tab?
        • Как послать нажатие клавиши в какое-нибудь окно?
        • Как програмно имитировать нажатие Ctrl-Esc?
        • Как програмно переключить состояние клавиш Num Lock, Caps Lock, Scroll Lock?
          • Как программно включить или выключить NumLock
        • Как узнать состояние клавиши CAPS LOCK?
        • Заставить мерцать индикаторы клавиш CapsLock, NumLock и ScrollLock
        • Как определить, нажата ли в данный момент клавиша Shift, Ctrl или Alt?
        • Регистрируем горячие клавиши
        • Как определить, нажал ли пользователь клавишу PrintScreen?
        • Как глобально перехватить нажатие кнопки PrintScreen?
        • Программно нажимаем Print Screen
        • Как конвертировать виртуальную клавишу в ASCII код?
        • OnKeyDown, OnKeyUp и OnKeyPress
        • Как програмно переключить раскладку клавиатуры?
        • Как запретить Ctrl-Alt-Del?
        • Как отловить правый Enter (NumPad)?
        • Как заставить дополнительную клавиатуру всегда работать в режиме цифр?
        • Как отловить изменение раскладки клавиатуры?
        • Как перехватить нажатия функциональных клавиш и стрелок?
        • Получение типа клавиатуры
        • Как очистить буфер клавиатуры?
        • Состояние кнопки insert
        • Выставляем горячие клавиши для Delphi приложения
        • Если нажато более 2х клавиш одновременно...
        • Как отловить нажатия клавиш для всех процессов в системе
        • ASCII код для PrintScreen
        • Определение нажатия клавиши во время загрузки приложения?
        • Переключение раскладки клавиатуры для приложения
        • Включение и выключение клавиатуры
        • Програмная эмуляция нажатия клавиш
          • Как посылать нажатие клавиш в элемент управления
          • Послать нажатие клавиш
          • Послать нажатие клавиш в программу Блокнот
          • Посылаем нажатия клавиш другому приложению
          • Посылка кода клавиши или текста в окно
          • Почти полный аналог метода SendKeys из VB
        • Работа с цифровой клавиатурой при выключенном NumLock
        • Какая клавиша нажата при загрузке приложения
        • Как выполнять другую команду по нажатию на кнопку, если зажата клавиша Shift
        • Как определить нажаты ли клавиши Shift, Alt или Ctrl
        • Как сделать клавишу-акселератор (keyboard shortcut) компонету, у которого нет заголовка
        • Как узнать о нажатии NON-MENU клавиши в момент когда меню показано
        • Коды виртуальных клавиш
        • Перехватить нажатие клавиши на клавиатуре
      • Мышка
        • Как узнать, присутствует ли мышка?
        • Как узнать есть ли у мыши колесико?
        • Как программно определить количество кнопок мышки
        • Как поменять функции кнопок мышки?
        • Как прочитать и изменить doubleclick time?
        • Функции для изменения и получения чуствительности мышки
        • Как определить координаты курсора мыши?
        • Как узнать, находится ли мышка на форме?
        • Как отследить выход мыши за пределы формы?
        • Как получить координаты указателя мыши относительно формы в Delphi
        • Как послать нажатие кнопки мыши в окно?
        • Как имитировать нажатие левой кнопки мыши?
        • Как использовать mouse_event() для эмулирования событий мышки?
        • Как программно двигать курсор мышки?
        • Как автоматически помещать курсор мышки в центр контрола получившего фокус?
        • Имитировать события мыши
        • Ограничение движения мышки определённой областью?
        • Перемещение контролов мышкой во время выполнения приложения?
        • Как заставить появиться окошко подсказки когда курсор мышки находится над определённым контролом?
        • Добавление события OnMouseLeave
        • Ловить события мышки вне приложения
        • Как отключить реакцию на события мыши
        • Отслеживать переход мышки на компонент и уход ее
        • Подсветка компонента во время перемещения над ним мыши
        • Получить Handle и имя класса окна под мышкой
        • Получить дескриптор текущего курсора
        • Получить диапазон, прокручиваемый колесиком мышки
        • Получить заголовок элемента управления под мышкой
        • Проверить, находится ли курсор на линии
        • Функции и процедуры управления мышью
        • Создание мышиного перехватчика
      • Hook на клавиатуру и мышку
      • Програмное выключение клавиатуры и мыши
      • Как узнать какое изменение сделала мышь
      • Эмулирование мыши/клавиатуры, Через SendInput()
    • Различная периферия
      • Как использовать joystick?
      • Как работать со сканером?
      • Как получить размер физической установленной памяти?
      • Как работать с Web камерой?
      • Определение подключения - отключения нового устройства
      • О джойстиках
      • Работа с Bluetooth в Delphi
        • Часть 2
        • Часть 3
        • Передача данных через Bluetooth
      • Библиотека для работы с BlueTooth
  • Windows
    • Получение общей информации
      • WMI - практика применения в Delphi
        • Практика
        • Примеры
        • Пояснения к коду
        • Примечание
        • Получение данных о запущенных процессах
        • Запуск приложений и выключение компьютера
        • Пояснения к коду
      • Изменить свойства системы
      • Получить информацию о регистрации Windows
      • Прочитать свойства системы
      • Как получить версию Windows?
    • Системная дата и время
      • Как получить список часовых поясов?
      • Получить из регистров информацию о временной зоне (DST)
      • Как узнать системное время?
      • Как изменить системное время?
      • Как определить, изменилось ли системное время?
      • Как открыть окно настройки даты и времени Windows?
      • Определение текущего времени(отдельно часы, минуты, секунды)
      • Определить сейчас до или после полудня
      • Узнать текущие время и дату по Гринвичу
      • Проверить, используется ли формат времени в 24 часа
      • 12 AM - это полдень или полночь?
      • Как долго запущена Windows?
      • Время старта и завершения работы системы
      • Время простаивания системы
      • Как реализовать задержку разрешения в микросекундах?
    • Системные папки, имя компьютера
      • Как найти системные папки Windows?
      • Как найти каталог Windows
      • Как удалить все файлы из Recent Documents List?
      • Добавляем файлы в Recent Documents list?
      • Как найти директорию TEMP в Windows?
      • Как добавить документ в меню Пуск -> Документы?
      • Как узнать откуда была установленна Windows?
      • Путь к папке My Computer
      • Пример очистки куков и Temporaly Internet Files
    • Питание компьютера, запуск и завершение Windows
      • Как программно вазвать окно Завершение работы Windows?
      • Как завершить сеанс работы или перезагрузить Windows?
      • Как выключить, перезагрузить или завершить Windows?
      • Компонент PowerControl
      • Как узнать о завершении работы Windows
      • Как предотвратить Shut Down?
      • Как узнать заряженность батарей?
      • Закрытие програм при Logoff/Shutdown
      • Синхронизация завершения работы Windows
      • Отключить команду Завершение работы
      • Получить статус питания
      • Приостановить ПК
      • Как выключить компьютер с любой версией Windows?
      • Выключение питания ATX коpпуса из-под DOS
      • Включение и выключение устройств ввода/вывода
      • Power off
      • Как заблокировать компьютер?
      • Как проверить, заблокирована ли рабочая станция?
      • Как перевести монитор в режим stand-by?
      • Как перевести компьютер в Stend-by или Hibernate?
      • Поддерживает ли система hibernation?
      • Приостановить компьютер (sleep)
      • Поддерживает ли система suspend?
      • Переход в ждущий режим
      • Как узнать о переключении сессии
    • Корзина
      • Как получить количество файлов в корзине и их размер?
      • Просмотр состояния корзины
      • Очистка корзины
      • Удаление файла в корзину
      • Получение информации о папках и файлах находящихся на данный момент в корзине
      • Восстановление файла из корзины
    • Имя компьютера
      • Как изменить имя компьютера?
      • Как узнать имя компьютера?
    • Пользователи, пароли, защита информации
      • Как получить закэшированные пароли в Win?
      • Как прочитать пароль, скрытый за звездочками?
      • Как проверить, имеем ли мы администраторские права в системе?
      • Изменение привилегий
      • Как вывести список привилегий?
      • Проверить запущена ли программа от System account?
      • Запуск процесса в контексте другого пользователя
      • Получить список пользователей
      • Создание нового пользователя NetUserAdd
      • Как узнать имя пользователя
      • Определить SID текущего пользователя
      • Получение пользователя и домена под которым работает текущий процесс
    • Команды Windows
      • Выполняем встроенные команды Windows
      • Как пользоваться командой шела - MinimizeAll?
    • Ярлыки, файловые ассоциации, расширения
      • Как зарегистрировать своё расширение?
      • Как программно создать ярлык?
      • Как связать определённое расширение файлов с моим приложением?
      • Как показать иконку, ассоциированную с данным типом файла?
      • Как получить имя программы, с которой ассоциировано то или иное расширение
      • Зарегистрировать новый тип файлов
      • Работа с ассоциациями файла
      • Взять все расширения из реестра и их описание
      • Как прочитать shortcut's link information?
      • Как зарегистрировать свой пункт в меню для моего типа файлов?
      • Как удалить/восстановить файлы из корзины?
      • Как создать ShortCut файл (.LNK)?
      • Как получить список всех расширений и их ассоциаций?
    • System tray
      • Что такое System Tray ? О чем идет речь?
      • Что такое иконка на System Tray?
      • Как свернуть прогу в tray?
      • Как скрыть часы в панели задач?
      • Как изменить иконку на Tray?
      • Как удалить иконку с Tray?
      • Как узнать о воздействии мыши на иконку на Tray?
      • Как сделать Pop-Up меню при щелчке на иконке в Sys tray?
      • Как отобразить текст в System Tray
      • Показываем/Скрываем System Tray
      • Как закрыть всплывающее меню в System Tray когда оно теряет фокус?
      • Как показать округлённое окошко подсказки в трее?
      • Надпись на часах в трее
      • Делаем свои часы в трее
    • Taskbar, кнопка Пуск, Системное меню
      • Панель задач (Taskbar)
        • Как определить, включено ли автоскрытие у панели задач?
        • Как скрыть TaskBar?
        • Определение координат расположения TaskBar
        • Работа с TaskBar
        • Кто владелец taskbar buttons?
        • Получение информации о TaskBar
        • Получить дескриптор панели задач
      • Кнопка приложения на панели задач
        • Как получить список кнопок в таскбаре?
        • Без иконки в панели задач
        • Мигание кнопки приложения
        • Как заставить форму не разворачиваться из иконки
        • Как заставить формы минимизироваться на панель задач с анимацией
        • Как отобразить не главные окна своей программы в панели задач Windows
        • Как сделать, чтобы неглавная форма минимизировалась не на TaskBar, а выше него
        • Кнопки в панели задач
        • Показать контекстное меню на панели задач
        • Получить дескриптор окна, которое владеет кнопками запущенных программ на панели задач
        • Рисование на минимизированной иконке
      • Кнопка Пуск
        • Как открыть меню кнопки Пуск?
        • Как изменить изображение кнопки Пуск?
        • Анимированная кнопка Пуск?
        • Как спрятать и отключить кнопку "Пуск"?
        • Изменить размер кнопки ПУСК
        • Как изменить заголовок кнопки ПУСК
      • Как очистить пункт меню Документы кнопки Пуск?
      • Работа с System Menu
      • Как добавить файл в меню Пуск/Документы
      • Скрыть Tray, часы, кнопку ПУСК, панель задач
      • Как сделать Multi Screen Emulator?
    • Дисплей
      • Как получить screen shot экрана вместе с указателем мыша?
      • Сохранение изображения экрана в файле
      • Получение изображения экрана
      • Копирование содержимого экрана на форму
      • Перетасовка экрана
      • Эмуляция многоэкранного режима
      • Как рисовать на экране
    • Буфер обмена
      • Общие вопросы
        • Как работать с буфером обмена (clipboard)?
        • Копирование в буфер обмена
        • Как программно реализовать Cut, Copy и Paste?
        • Как удобнее работать с буфером обмена как c последовательностью байт?
        • Контроль за изменением содержимого буфера обмена
          • Код2
        • Использование интерфейса OLE
          • Компонент TOLEContainer
          • Регистрация форматов
          • function OLEFormat
          • События OnDragDrop
          • function PasteSpecialEnabledfForm
          • function LinksDlgEnabled
          • property Active
        • Просмотр буфера обмена
        • Hook на буфер обмена
        • Сэмулировать нажатие клавиш для копии и вставки из буфера
        • Скопировать HTML-код в буфер обмена
        • Сохранение данных в Clipboard
        • Предотвратить работу с командами буфера обмена в TEdit
        • Скопировать строки TListBox в буфер обмена
        • Копировать и вставлять ячейки TStringGrid в буфер обмена
      • Буфер обмена и потоки (Stream), файлы, строки
        • Буфер обмена (Clipboard) и TMemoryStream
        • Копирование потока компонент в буфер обмена
        • Копировать буфер в поток и обратно
        • Сохранение всего содержимого буфера обмена в файл
        • Как скопировать файл в Windows clipboard?
        • Копирование большого файла в буфер обмена
        • Получаем имена файлов, скопированных в буфер обмена
        • Как скопировать содержимое строки в буфер обмена?
        • Копируем русский текст в буфер обмена в Windows2000
        • Указание языка помещенного в clipboard текста
        • Поместить/получить строку из буфера обмена (Заплатка к стандартным)
        • Копировать RTF-текст в буфер обмена
      • Буфер обмена и прочее
        • Как копировать/менять Clipboard text без использования VCL?
        • Добавление текста в буфер обмена без использования модуля Clipbrd
        • Как копировать векторное изображение?
        • Как копировать и вставлять картинки через буфер обмена?
        • TPaintBox в буфер обмена
        • Скопировать изображение формы
        • Вставка содержимого буфера как картинку в RTF
        • Встроенные форматы буфера обмена
        • Копирование и вставка данных своего формата из буфера обмена
    • Шрифты, языки, кодировки, регионарные стандарты
      • Шрифты и файлы шрифтов
        • Как использовать не установленный шрифт?
        • Как узнать размеры шрифтов в Windows?
        • Как добавить True Type шрифт в систему?
        • Как выяснить установлены ли в системе шрифты TrueType
        • Является ли шрифт шрифтом с фиксированной шириной?
        • Вывод шрифтов в списке в виде самих шрифтов
        • Как приложению воспользоваться своими шрифтами?
        • Какой шрифт установлен (крупный или мелкий)?
        • Масштабирование размера формы и размера шрифтов
        • Различные разрешения - различные размеры шрифтов
        • Получение имени шрифта, зная имя файла шрифта
        • Работа с Казахскими шрифтами
        • Защита приложений от крупных шрифтов
        • Список шрифтов, совместимых одновременно с экраном и с принтером
        • Нормальная процедура отображения графических шрифтов
      • Работа с TFont
        • Изменение регистра букв
        • Управление настройками шрифта
        • Как выдать текст под наклоном?
        • Вывести полупрозрачный текст
        • Вертикальный текст
        • Как вывести текст с красивым обрезанием если не помещается?
        • Как изменить фоновый цвет текста?
        • Каким обpазом выбиpать pазмеp шpифта?
        • Сохранение свойств шрифтов
        • Свойства шрифта Style и Color в виде строки
        • Хранение стилей шрифта
        • Как сделать фон у текста прозрачным?
      • Многоязычие, локализация и перекодировка
        • Какой язык на данный момент на клавиатуре?
        • Как определить локализацию ОС: английская или русская?
        • Как получить информацию о локальных настройках системы?
        • Перекодирование из одних кодировок в другие
          • ANSI, KOI8-R, KOI8-U, OEM/DOS, ISO
          • Win в КОИ8-Р
          • DOS-Windows-Koi8
          • Win1251 в KOI8-R и наоборот
        • Как конвертировать кодовую страницу?
        • Распознавание кодировки
          • Распознавание кодировки. Перекодировка
          • Определение кодовой страницы
        • Как узнать является ли окно Unicode?
        • Транслитерация
        • Узнать текущую раскладку клавиатуры в любом активном окне
        • Список установленных раскладок клавиатуры
        • Как программно переключить раскладку клавиатуры
        • Как добавить нужный язык в систему
        • Как узнать язык Windows по умолчанию
        • Регионарные стандарты
        • Как прочитать русский текст MS-DOS
    • Работа с DLL
      • Получение списка DLL загруженных приложением
      • Пример простейшей DLL в Delphi
      • Определение функции в DLL
      • Как создать DLL только с ресурсами?
      • Как получить версию моей DLL?
      • Определение полного пути и имени файла DLL
      • Статическая и динамическая загрузка DLL
        • СТАТИЧЕСКАЯ ЗАГРУЗКА DLL
        • ДИНАМИЧЕСКАЯ ЗАГРУЗКА DLL
      • Загрузка DLL
        • Вызов процедур и функций, загруженных из DLL.
      • Как написать DLL, которую можно было-бы выполнить с помощью RunDll, RunDll32?
      • Соглашения о вызовах
      • Использование модуля ShareMem
      • Как выгрузить Dll из памяти?
      • DLL и ресурсы
      • Разработка DLL в среде Borland Delphi
        • Аргументы в пользу использования DLL
        • Основы разработки DLL
        • Экспорт функций из DLL
        • Использование DLLProc
        • Загрузка DLL
        • Вызов процедур и функций, загруженных из DLL.
        • Вызов процедур и функций, загруженных из DLL 2
        • Вызов процедур и функций, загруженных из DLL 3
        • Вызов процедур и функций, загруженных из DLL 4
        • Вызов процедур и функций, загруженных из DLL 5
      • Использование DLL в качестве Plug-in
        • О реализации
        • Ядро
      • Как найти полный путь и имя файла запущенной DLL из самой DLL
      • DLL со строковыми ресурсами
      • Импортирование, или обертка вызовов функций DLL
      • Аналог DumpBin
        • Пример использования:
      • Определение версии системных DLL
    • Программирование без VCL, работа с WinAPI
      • Программирование на основе Win32 API в Delphi (статья)
        • Существующие решения
        • Принципы построения API-библиотеки
        • Библиотека WinLight
      • Как использовать WinAPI?
      • Основы работы с Windows API
        • Как получить справку по функциям Win API
        • Как получить справку по функциям Win API 2
        • Дескрипторы вместо классов
        • Формы Delphi и окна Windows
        • Callback функции
        • Сообщения Windows
        • Сообщения Windows 2
        • Сообщения, определяемые пользователем
        • Особые сообщения
        • Графические функции Win API
        • Работа со строками в Win API
        • Заключение
      • Написание программ на чистом WinAPI
        • Написать подпрограмму обработки оконных сообщений.
        • Создать главное окно приложения.
        • Написать тело программы.
        • Запустить программу на исполнение.
      • Для чего нужен WinAPI
      • Пример приложений на чистом API
        • Создание формы и кнопки на чистом API
      • Как писать Win32API приложения на Delphi
        • Основная программа
        • Оконная функция
        • Цикл сбора сообщений
      • Как с помощью API поместить Label на Form?
      • Перехват нажатия на системные кнопки формы (закрытие , минимизация окна и т.д.)
      • Как заставить приложение Delphi отвечать на сообщения Windows?
      • Использование функций перечисления WinAPI
      • Как получить описание кода, полученного GetLastError?
      • Отображение формы выбранного окна
      • Присвоение форме выбранного окна свойства Disabled / Enabled
      • Запретить в выбранном окне кнопку закрытия x
      • Закрыть выбранное окно
      • Сделать форму выбранного окна поверх остальных
      • Поменять заголовок выбранного окна
      • Альтернатива для Sleep(), но чтобы приложение не зависало
      • Что такое сообщения Windows?
      • Запись сообщений в журнал событий Windows на Delphi
        • Ключи реестра
        • Сообщение и ресурсы категорий.
        • Запись событий с категориями.
      • Механизм вызова удаленных процедур - RPC
        • Принципы построения протокола.
        • Структуры сообщений протокола
        • Программный интерфейс высокого уровня.
        • Передача параметров
        • Связывание (binding)
        • Обработка особых ситуаций (exception)
        • Семантика вызова
        • Представление данных
        • Сеть
        • Как это работает?
      • Вывод текста с использованием Windows API функций
      • Использование Debug API
      • Общие основы работы с WinAPI
    • Процессы, потоки, память, задачи
      • Address Windowing Extention, AWE
        • MapUserPhysicalPages
        • AllocateUserPhysicalPages
        • MapUserPhysicalPagesScatter
        • FreeUserPhysicalPages
      • Список задач, процессы и приорететы
        • Как спрятать программу из списка задач?
        • Просмотрщик запущенных процессов
        • Как получить / установить приоритет процесса?
        • Как активизировать предыдущий экземпляр вашей программы?
        • Как получить список процессов?
        • Как убрать мою программу из списка Alt+Ctrl+Del?
        • Как определить какие приложения уже запущены?
        • Как увеличить процессорное время, выделяемого программе?
        • Прочитать список всех запущенных Exe/ Проверить запущен ли Exe?
        • Как определить откуда был запущен процесс?
        • Как разрешить / запретить переключение между задачами?
        • Как узнать имя файла текущего процесса?
        • Как поменять приоритет моего приложения?
        • Как стать невидимым в Windows?
          • NtQueryDirectoryFile
          • NtVdmControl
          • NtEnumerateKey
          • NtEnumerateValueKey
          • Сервисы и драйверы
          • Перехват и распространение
          • Перехват
          • Новые процессы
          • DLL
          • Память
          • Память
          • Именование хэндлов и получение типа
          • Порты
          • Netstat, OpPorts , FPort
          • OpPorts в Win2k и NT4, FPort в Win2k
        • Как узнать количество памяти используемой процессом?
        • Отключение CTRL+ALT+DELETE
        • Как спрятать программу от TaskManager
        • Как получить информацию о загрузке процессора
        • Получение количества тактов процессора с момента перезагрузки
      • Запуск и завершение процессов
        • Как запустить и подождать завершения 2х процессов?
        • Как запустить программу и подождать ее завершения?
        • Как сделать, чтобы запускалась только одна копия приложения?
        • Поддержка процедур завершения программы
        • Создать процесс с правами админа
      • Работа с памятью
        • Функции для работы с памятью
        • Сохранить строку в памяти?+пример работы с атомами
        • Как получить весь размер системной памяти?
        • Как узнать состояние памяти?
        • Как определить сколько памяти выделено в дельфи для программы?
        • Как мониторить за памятью
        • Использование native kernel32 функций для получения проекции физической памяти
      • Разные вопросы
        • Как определить, запущено ли приложение в Windows
        • Посылаем нажатия клавиш другому приложению
        • Как создавать потоки без класса TThread?
        • Как программе удалить саму себя?
        • Как определить насколько долго система находится в Idle?
        • Атомы: Запись, чтение и удаление информации
        • Синхронизация процессов при работе с Windows (статья)
          • Функции, ожидающие нескольких объектов
          • Прерывание ожидания по запросу на завершение операции ввода-вывода или APC
          • Объекты синхронизации
          • Mutex (Mutually Exclusive)
          • Semaphore (семафор)
          • Waitable timer (таймер ожидания)
          • Дополнительные объекты синхронизации
          • Дополнительные механизмы синхронизации
          • Защищенный доступ к переменным (Interlocked Variable Access)
      • AWE
    • Работа с чужими процессами
      • Как можно из своей программы закрыть чужую?
      • Как можно определить Handle окна,над которым находится мышка?
      • Как найти окно по неполному названию?
      • Как вывести результат работы консоли в Memo?
      • Как завершить задачу в Windows (а заодно получить PID задачи)?
      • Как убить задачу, зная только имя .exe?
      • Убиваем активное приложение
      • Как перехватывать события, посланные другим приложениям?
      • Как эмулировать нажатия клавиш в другой программе?
      • Как изменить заголовок чужого окна?
      • Читаем заголовок exe файла
      • Требуется нажать в другом приложении пару кнопок?
      • Взаимодействие с чужими окнами
      • Как, зная Handle окна программы, определить имя EXE?
      • Пример EnumWindows
      • Проверить приложение на зависание?
      • Как исправить (пропатчить) процесс?
      • Как получить домен и имя пользователя (UserName) процесса?
      • Послать Alt + буква другому приложению
      • Как получить список процессов в Win9x
      • Поиск значения типа DWORD в указанном процессе
      • Получить текст окна, где этого не может WM_GETTEXT
      • Пример процедуры убивающей таймеры по заголовку окна в чужих приложениях написанных на Delphi
      • Как узнать путь к программе, если известно ее имя
      • Как узнать все открытые дескрипторы файлов?
      • Получение SID пользователя, под которым запущен процесс
      • Передача текста любому окну, где стоит фокус
      • PID and SID процесса
      • Внедрение библиотеки через CreateRemoteThread
      • Список окон + определение приложения, создавшего эти окна
      • Поиск в памяти процесса
      • Получение имени модуля по хендлу окна
      • Как по PID процесса узнать CMDLINE?, то есть командную строку
      • Функция передачи строк (а заодно и числа) между программами через SendMessage:
      • Unit с полезными функциями для работы с процессами
      • Установка/снятие Debug привелегии у текущего процесса
      • Как передать строку другому приложению
    • Запуск и завершение приложений
      • Особенности работы события onActivate
      • Как запретить кнопку close в любом окне?
      • Процессы, потоки и функции ShellExecute и WinExec
      • События, происходящие в приложениях Delphi при завершении работы Windows
      • Завершение всех работающих приложений
      • Как завершить любой процесс, в том числе и системный
      • Отследить завершение работы, (перезагрузку, смену пользователя) в Windows.
      • Запустить приложение и подождать
      • Запустить приложение с помощью ShellExecute и подождать
      • Как использовать CreateWindow(Ex)
      • Лимит на время выполнения программы
    • Работа с ресурсами
      • Как извлечь иконку из EXE или DLL?
      • Как загрузить BMP файл из DLL?
      • Сохранение и выдёргивание ресурсов в DLL или EXE?
      • Как поместить JPEG-картинку в exe-файл и потом загрузить ее?
      • Преобразование 16бит ресурса 32бит
      • Создание файлов ресурсов
      • Работа с ресурсами
      • Таблицы строк
      • Как получить все имена ресурсов, которые загружаются в данное приложение?
      • 256-цветное изображение из res-файла
      • Создание RES-файла с помощью BRCC.EXE
      • Хранение данных в EXE-файле
      • Повторяющиеся Ошибки Ресурсов
      • Работа с ресурсами без TResourceSteram
    • Консольные приложения и приложения DOS
      • Как поменять иконку и стpокy в заголовке консольного окна?
      • Создание консольных приложений
      • Как писать консольные приложения в Delphi?
      • Переключение консольного приложения в полный экран
      • Получить выходные данные DOS приложения
      • CreateProcess, который возвращает консольный вывод
      • Как использовать консоль в не-консольном приложении?
      • Как в консольном приложении можно задать цвет текста?
      • Перехват вывода консоли
      • Как консольное приложение может узнать, что Винды завершаются?
      • Как очистить экран в консольном приложении?
      • CRT для консольного приложения
      • Как определить закрытие командного окна в консольном приложении
      • Как получить дескриптор окна консоли
      • Как переназначить вывод в файл для консольной программы
      • Имитация ввода с клавиатуры для консоли
      • Подождать завершения DOS-задачи
      • Русификация консольных приложений в Delphi
      • Перенаправление стандартного ввода и вывода
    • Переменные окружения
      • Как получить переменные окружения типа PATH и PROMPT?
      • Как установить переменные окружения?
      • Получение переменных среды
      • Как раскрыть строки переменных окружения
    • Hooks
      • Hooks - аспекты реализации
      • Создание ловушек в Delphi
      • Использование ловушек, блокировка мышки, клавиатуры и т.д.
      • Перехват API функций, на примере MessageBoxA
      • Использование HOOK в Дельфи
      • Interprocess communication на примере keyboard hook (статья)
      • Hook функций в собственном приложении
      • Ловушки в Windows
      • Демонстрационный пример хука и подмены API в приложениях
      • Глобальный хук на клавиатуру
      • Отключить клавиши при системном Hooke
      • Перехват (Hook) клавиатуры (программа Sendkeys)
      • Установка ловушки для клавиатуры
    • Сервисы NT и драйверы, функции специфичные для XP
      • Написание сервисов Windows NT на WinAPI
      • Как запустить и остановить сервис (или получить его статус)?
      • Как управлять сервисом на другом компьютере в W2K?
      • Как получить список загруженных драйверов?
      • Как проверить запущен ли сервис?
      • Управление NT-сервисами
      • Написание Terminal Services Client
      • Как сделать точку восстановления системы
      • Проверить не запущена ли terminal client session?
      • Как запустить службу сразу после ее установки?
      • Создание именных каналов
        • СЕРВЕРНАЯ ЧАСТЬ
        • КЛИЕНТ
      • Перечисление служб
      • Инсталляция/удаление сервисов под NT
      • Получение дополнительных привилегий под NT
      • WMI - практика применения в Delphi
    • Рабочий стол
      • Как обновить рабочий стол?
        • Обновить иконки на экране
      • Как сменить обои на рабочем столе?
      • Как показать окно свойств экрана?
      • Как проверить, включён ли ActiveDesktop?
      • Как скрыть/показать ActiveDesktop?
      • Как вывести картинку Bitmap на рабочем столе
      • Как установить цвет фона иконок на рабочем столе, либо сделать у них прозрачный фон?
      • Как создать лупу для рабочего стола?
      • Как скрыть / показать иконки на рабочем столе?
      • Как выровнять иконки на рабочем столе к левому краю?
      • Как установить обои в формате jpeg?
      • Определить размер рабочей области Desktop'а
      • Как получить и изменить координаты иконок на столе?
      • Получить цвет пикселя на рабочем столе
      • Скрыть Tray, часы, кнопку ПУСК, панель задач
      • Прикол с рабочи столом
      • Как получить Handle рабочего стола
      • Переворот рабочего стола
      • Снимок рабочего стола
      • Как пpогpаммно вывести окно свойств экpана
    • Звук
      • Как можно включить/выключить звук в системе?
      • Как управлять спикером под 9х из Дельфи?
      • Как научить приложение Delphi разговаривать?
      • Как изменить громкость?
      • Как считать сигнал с микрофона?
      • Как определить уровень звука в данный момент?
      • Как можно получить звук с микрофона?
      • Как можно получить звук с помощью MediaPlayer?
      • Программирование Sound Blaster
        • Сброс DSP
        • Пример определения версии
        • Программирование DMA
        • Биты маски записи
        • Установка частоты выборки
        • Алгоритм цифрового ввода/вывода звука
        • Конец цифрового ввода/вывода звука
        • Стерео звук
        • Регистр воспроизведения
        • Регистр громкости CD
      • Как сделать регулятор громкости?
      • Как включить/выключить спикер?
      • Как получить/изменить громкость?
      • Как определить установлена ли звуковая карта?
      • Сыграть звуковой файл без компонентов
      • Как использовать Microsoft Speech API?
      • Как выключить master volume в звуковой карте?
    • Реестр и INI файлы
      • Реестр
        • Общие принципы работы с реестром
          • Что такое реестр?
          • Использование реестра
            • TRegIniFile
            • Исходный текст модуля
            • Вид созданной подсекции
            • Примеры
          • Как работать с реестром Windows?
          • Как работать с реестром средствами API?
            • Возвращает текстовую строку, связанную с ключом KeySubKey
            • Примеры
            • Хранение системных переменных
            • Примеры
            • Пример 2
          • Как уведомить все приложения, что реестр был изменён?
          • Проблемы использования TRegistry под NT/2000/XP
          • Облегчённый вариант класса TRegistry
          • Как читать REG_MULTI_SZ значение?
        • Использование частных ключей реестра
      • RegEdit
      • INI файлы
    • Панель управления
    • Сообщения Windows
    • Курсоры
    • Иконки
    • Хранитель экрана
    • Работа с Explorer (Проводником)
    • Разные вопросы
 

Системные функции и WinAPI

  • Работа с железом
  • Windows

Вопросы по Delphi

  • Введение
  • Delphi IDE, компилятор, отладчик, редактор

VCL

  • Общие вопросы VCL
  • Неявное обращение к компонентам, манипуляции в run-time
  • Реакция компонентов на клавиатуру
  • Перетаскивание объектов, Drag and Drop, Docking
  • Вставка одних компонентов в другие
  • Стили и темы Windows
  • TApplication
  • TForm
  • TStatusBar
  • TProgressBar
  • TEdit, TSpinEdit
  • TMemo
  • TRichEdit
  • TLabel
  • Panel, ToolBar, CoolBar
  • StringGrid
  • TreeView, ListView
  • ListBox, CheckListBox, DBLookUp, Другие списки
  • ComboBox, DBComboBox
  • PageControl, TabControl, Notebook, TabSet
  • Action, ActionList
  • Диалоги
  • Прокрутка, ScrollBox
  • Button, SpeedButton, BitBtn
  • Image, Icon, Shape, PainBox
  • Checkbox
  • Hints
  • Menu
  • MediaPlayer
  • RadioGroup, RadioButton
  • TrackBar
  • Другие компоненты

Язык Дельфи

  • Общие вопросы
  • Объектное ориентирование
  • Работа со строками
  • Работа с датами и временем
  • Работа с числами
  • Работа с битами
  • Работа с массивами
  • Работа с указателями, память
  • Множества, записи и перечисляемые типы
  • RTTI и другие трюки с информацией о классах, модулях и т.п.
  • Взаимодействие с другими языками
  • Threads
  • Работа с коллекциями
  • RTL Delphi (краткий справочник)
  • Базовые классы
  • Скрипты, компилляторы и связанные с ними вопросы

Облако тегов

Self Sender Методы Свойства События Работа со строками сравнение строк работа со словами Delphi help TList TObject TPersistent TComponent TControl

Карта сайта

  • Карта сайта

Яндекс.Метрика Рейтинг@Mail.ru

 

 

 

  • Facebook
  • Google +
  • Twitter
  • Linkedin
  • Pinterest
  • Tumblr
  • Pocket
  • ВКонтакте
  • Telegram
  • Одноклассники
  • WhatsApp
  • Viber
 

Наверх

© 2022 Delphi help