Help — коллекция статей, исходников, книг, ответов на вопросы программирования на языке программирования Delphi и Pascal.
— это среда быстрой разработки, в которой в качестве языка программирования используется язык Delphi. Язык Delphi — строго типизированный объектно-ориентированный язык, в основе которого лежит хорошо знакомый программистам Object Pascal.
На сайте Delphi-Help вы можете скачать книги по Delphi, для дальнейшего изучения этого удивительного языка программирования. Также в файловом архиве доступны компоненты, исходники, программы для облегчения разработки своих собственных приложений. Все материалы и файлы на сайте бесплатны.
Это необходимо знать каждому программисту:
- Работа с ADO в Delphi
- Цикл с постусловием (REPEAT-UNTIL)
- Цикл с параметром (FOR)
- Цикл с предусловием (WHILE-DO)
- Циклические алгоритмы. Цикл с предусловием.
- Хранимые процедуры
- Создание и изменение базы данных в InterBase/Firebird
- Использование TWebBrowser (статья)
- Одномерные массивы. Формирование массива и вывод его элементов
- Руководство по TDbf
- Копирование и восстановление базы данных в InterBase / Firebird
- Алгоритм 3. Сортировка шейкером
- Работа с BLOB-полями в клиентских приложениях InterBase и Firebird на основе компонентов FIBPlus
- SQL-запросы в Delphi
- Учетные записи пользователя в InterBase/Firebird
- Ограничения базы данных
- TADOConnection
- Индексы
- Компонент Chart
- Типизированные файлы
- Список ошибок BDE
- QuickReport руководство
- Алгоритм 2. Пузырьковая сортировка
- Задача 579 на Pascal — Шифр Цезаря
- FIBPlus: Обработка ошибок базы данных
- Нетипизированные файлы
- Решение уравнения методом хорд, методом касательных (метод Ньютона), методом половинного деления, методом простых итераций
- Дипломная работа: Разработка базы данных для информатизации деятельности предприятия малого бизнеса Delphi
- Количество вхождений подстроки в строку
- Использование текстовых файлов для импорта и экспорта
- Сумма прописью (хорошая функция)
- Создание собственной кнопки в Delphi
- Firebird взаимодействие с NULL
- Как посчитать факториал?
- Как узнать номер недели данного дня в году?
- Devrace FIBPlus: Оптимизация сетевого трафика в приложениях на Delphi и C++ Builder
- Счетчик посещений на Delphi
- Cпроектировать и написать программу «Интерпретатор» на Pascal
- Перевод чисел из одной системы исчисления в другую
- Rave Reports-руководство разработчика
Общение
Авторизация
Логин
Запомнить меня
- Забыли пароль?
- Забыли логин?
- Типизированные файлы
Типизированные файлы Тип файлов, для которого нет поддержки в OS…
- Задача 579 на Pascal — Шифр Цезаря
Задача 579 на Pascal — Шифр Цезаря Шифр Цезаря. Этот…
- Нетипизированные файлы
Нетипизированные файлы Третий тип файлов Паскаля, это нетипизированные файлы, этот…
- Использование текстовых файлов для импорта и экспорта
Использование текстовых файлов для импорта и экспорта Текстовые файлы являются…
- Как изменить дату создания файла?
Как изменить дату создания файла? function SetFileDateTime( const FileName: string;…
- Как изменить атрибуты файла?
Как изменить атрибуты файла? r — ReadOnly h — Hidden…
Счетчики
Файловый архив — популярное
FastReport full source v5. 2.12 | 25996 |
Базы данных в Delphi | 22078 |
Практикум по Delphi для решения прикладных задач | 19095 |
Delphi. Учимся на примерах | 16267 |
Delphi 7 для профессионалов | 14424 |
Программирование в Delphi 7 | 7107 |
Delphi. Профессиональное программирование | 6690 |
Основы Delphi. Профессиональный подход | 5219 |
Assembler. Учебный курс | 4084 |
Графика в проектах Delphi | 4082 |
Розница ИП v1.3 | 2769 |
Delphi 7 | 2509 |
DevExpress VCL Component | 2454 |
TXLSFile 4.0 | 2078 |
AlphaControls package | 2034 |
Последние статьи
- Рисуем на рабочем столе
Вы можете использовать поверхность рабочего стола для вывода любой графики. Этот способ может понадобится для написания различных напоминалок, показ праздников. Вы можете поселить на рабочем столе забавного персонажа из комикса…
- Работа с потоками в Delphi
Нередко встречал на форумах мнения, что потоки не нужны вообще, любую программу можно написать так, что она будет замечательно работать и без них. Конечно, если не делать ничего серьёзней…
- Перестановка чисел без третей переменой
Перестановка чисел без третей переменной. В данной статье рассмотрим способ, как поменять местами значения двух переменных без использования третей. Для этого нам понадобится, скажем, два edit и одна кнопка. Разместите…
Последние комментарии
Многопоточность — путь Delphi
© Martin Harvey 2000.
Многопоточность — путь Delphi.
Мартин Харви.
Версия 1.0
Введение.
Посвящения.
Рекомендуемое чтение.
Навигационные подсказки.
Глава 1. Что такое нити? Зачем их использовать?
Глава 2. Создание потока в Delphi.
Глава 3. Базовая синхронизация.
Глава 4. Простое разрушение нити.
Глава 5. Больше разрушения нити. Тупик.
Глава 6. Дополнительная синхронизация: критично разделы и мьютексы.
Глава 7. Рекомендации по программированию мьютексов. Параллельный контроль.
Глава 8. Потокобезопасные классы Delphi и Приоритеты.
Глава 9. Семафоры. Планирование потока данных. Отношения производителя и потребителя.
Глава 10. Ввод-вывод и поток данных: от блокировки в асинхронный и обратно.
Глава 11. Синхронизаторы и события.
Глава 12. Разное. Глава 13. Потоки с BDE, исключениями и DLL
Глава 13. Потоки с BDE, исключениями и DLL
Глава 14. Проблема реального мира и ее решение.
Введение
Это руководство предназначено для всех, кто заинтересован в повышении производительности и быстродействие в своих приложениях Delphi за счет использования потоков. Это охватывает ряд тем от абсолютного новичка до среднего уровня, и некоторые примеров из реального мира поднимают вопросы, граничащие с передовыми. Он предполагает что читатель имеет достаточные знания в области программирования на Object Pascal, включая простую объектную ориентацию и рабочее понимание событий основанное программирование.
Посвящения
Посвящается трем сотрудникам факультета компьютерных наук Университета. из Кембриджа: д-р Джин Бэкон, д-р Саймон Кросби и д-р Артур Норман.
Большое спасибо Жану как репетитору за то, что сложный предмет показался простой, для предоставления отличного справочного материала и для поднятия угла завесы вокруг до сих пор загадочного предмета. Она тоже заслуживает благодарности в качестве научного руководителя за объяснение расписания занятий по информатике мне. Мне понадобилось три года, чтобы понять это для себя!
Большое спасибо Саймону как наставнику за то, что он показал мне, что, несмотря на современные операционные системы могут быть чертовски сложными, принципы, лежащие в основе они простые. Он также заслуживает благодарности за то, что взял студента с нетрадиционными способностями. идеи о материалах проекта за последний год, а также за предоставленную полезную информацию. консультации по моему проекту диссертации.
Артур Норман никогда не учил меня многопоточности. Однако он сделал научил меня многим другим вещам, которые помогли мне при написании более сложных части этого руководства:
Эксцентричности университетских преподавателей нет предела.
Хотя большинство людей предпочитают простоту, есть и определенное извращенное наслаждение. делать вещи сложным способом, особенно если вы циничны.
Он также заслуживает упоминания за одни из лучших цитат, когда-либо выпавших из губы преподавателя информатики:
«В курсе лекций есть что-то, чего, возможно, не было видно пока что так и есть…»
«Теоретики доказали, что это неразрешимо, но есть три из нас, и мы умные…»
«Люди, которые не пользуются компьютерами, более общительны, рассудительны и… менее запутанной.»
«[Если теория сложности соответствует своему названию], если это окажется случае, я буду победителем, так как не многие из вас попытаются ответить на экзаменационные вопросы».
У него даже есть собственная фан-страница.
Рекомендуемая литература:
База данных и распределенные системы.
Автор: Джин Бэкон.
Издатель: Addison-Wesley
ISBN: 0-201-41677-8
Автор приветствует предложения по другим полезным названиям.
Подсказки по навигации
Описание и диаграммы в этом руководстве содержатся в одном HTML-коде. страниц, по одной на каждую главу. Примеры исходного кода появляются во всплывающем окне. окна. Для их просмотра вам понадобится браузер с поддержкой JavaScript. Для облегчения рассматривая повествование и источник параллельно, читатель может найти его полезно для мозаики различных окон веб-браузера. Это может быть достигнуто путем Щелкните правой кнопкой мыши на панели задач и выберите «Разместить окна по вертикали».
Электронная книга Delphi Thread Safety Patterns
Пожалуйста, выберите ваш вариант
Delphi Thread Safety Patterns
Хотя потокобезопасность конкретного фрагмента кода зависит от окружающего контекста и того, как он используется, некоторые типы данных небезопасны по своей природе, а для некоторых из них потокобезопасность будет зависеть от варианта использования и конкретного кода. К сожалению, когда вы смотрите на некоторый класс, объявление типа или API в отдельности, там очень мало информации, которая скажет вам, можно ли безопасно использовать экземпляры этого типа в нескольких потоках или при каких условиях.
Надлежащим местом для изучения безопасности потоков API является его документация. Однако в большинстве документов эта информация не содержится в явном виде. Иногда в документации упоминается, что конкретная функция не является потокобезопасной, или сообщается, что функция может использоваться в фоновых потоках, но в большинстве случаев вам придется самостоятельно определять безопасность потоков. Одна из причин этого заключается в том, что безопасность потоков зависит от контекста. Абсолютно небезопасных или абсолютно безопасных функций очень мало.
Основные правила безопасности потоков просты, но применять эти правила сложнее. Точно так же, как шаблоны проектирования дают нам общие решения общих проблем кодирования, мы можем извлекать общие шаблоны кодирования из различного многопоточного кода — шаблоны безопасности потоков.
В этой книге правила безопасности потоков применяются на практике и дается обзор основных сред Delphi и часто используемых функций с точки зрения безопасности потоков. Вы найдете примеры того, как определенные классы могут использоваться потокобезопасным способом и как выполнять некоторые общие задачи, следуя уже установленным шаблонам безопасности потоков.
Помимо подробного описания потокобезопасности отдельных частей среды Delphi, в книге исследуется потокобезопасность альтернативных решений, а также общие примеры кодирования. Каждое объяснение того, почему некоторый код является потокобезопасным или нет, также служит примером шаблонов (не)безопасности потоков и помогает в распознавании небезопасного для потоков кода, а также устанавливает рабочий набор шаблонов безопасности потоков, которые впоследствии можно будет использовать. применяется в пользовательском коде.
Эти примеры, охватывающие наиболее часто используемые части среды Delphi, также послужат изучите на примере указатели для определения потокобезопасности других частей фреймворков и даже сторонних библиотек, которые специально не рассматриваются в этой книге.
Существуют также реализации и примеры некоторых часто используемых концепций асинхронного программирования, которые не являются частью основных сред Delphi, но могут быть незаменимы при написании многопоточного кода.
Содержание
Введение
Часть 1. Безопасность резьбы
* Язык и общая безопасность потоков
* Подтверждение безопасности потоков
* Примеры
+ Потокобезопасность типа данных + Поточно-ориентированные типы данных используются небезопасным образом + Потокобезопасность кода
Часть 2. Базовая библиотека времени выполнения
* Глобальное состояние
* Регистр управления с плавающей запятой
* FormatSettings и процедуры форматирования
* Глобальные функции и процедуры
+ Параметры + FreeAndNil + Методы класса + Другие глобальные функции
* Поля классов, одиночки и экземпляры по умолчанию
+ Конструкторы классов и секция инициализации + Поточно-безопасная ленивая инициализация + Записываемые экземпляры
* Основные классы
+ Основные классы + Пользовательские классы
* Резьба
+ FreeOnTerminate + Запуск темы + Порядок уничтожения + Данные пользовательского потока
* Потоки
* Коллекции
+ Создание потокобезопасного варианта потоконебезопасной коллекции + Поточно-безопасная итерация + Частичная блокировка + Ложное чувство безопасности + Обертки против наследования + Неизменяемые коллекции
* Параллельная обработка коллекции
* Компоненты
+ Использование компонентов в фоновых потоках + Потоковая передача компонентов
* RTTI
Часть 3.
Основные платформы* Сериализация
+ Защита данных - Нераспределенные данные - Данные только для чтения - Изменяемые данные, защищенные механизмом синхронизации + Защита сериализатора - Функция, процедура или метод класса - Экземпляр сериализатора без сохранения состояния или неизменяемый - Экземпляр сериализатора с отслеживанием состояния + Классы сетевого кодирования + JSON + XML
* System.Net
* Библиотека асинхронного программирования
* Indy
* REST
* Регулярные выражения
Часть 4. Visual Frameworks — VCL и FMX
* Компоненты Visual Framework
* LiveBindings
* Элементы управления VCL и FMX
* Взаимодействие с API и платформами ОС
+ Распределение и освобождение окна + Обмен сообщениями в Windows + Таймеры
Часть 5. Графика и обработка изображений
* Графика и обработка изображений
+ Графика и обработка изображений + Графические платформы и фреймворки
* Потребление ресурсов
* Общие типы графики и API
* Типы графики VCL и API
+ Шрифты, ручки и кисти + Холст + Графика + Изображение + Vcl.