Delphi. Основы языка программирования


Delphi – современный язык программирования высокого уровня с более, чем 20 летней эволюцией.

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

В Delphi вложили душу специалисты мирового уровня, такие как Aндерс Хэйлсберг (создатель C# и TypeScript)

На Delphi можно написать:

  • Веб-приложение (под браузер и мобильный браузер)
  • Мобильное приложение ( под iOS, Android)
  • Desktop приложение (под Wnidows, Maс OS)

DLL

Как создать и использовать DLL библиотеки?

Delphi и JavaScript

VCL+JavaScript

IDE

Поиск имени свойства в объектном инспекторе

JSON

Json объекты. Простой пример

Json. Сохранение в строку и чтение из строки

Парсинг сложных объектов с System.JSON

SuperObject для json формата

Получение всей структуры ключей-значений

REST

Как получить произвольный TJSonObject в качестве ответа сервера

Делаем красивый URL

Декодирование ответа сервера или превращаем \U0422\U0430\U043Aв нормальный русский текст

WinAPI

Messages. Первые наивные пробы

Пример отправки сообщения из одного потока в другой

Получение дескриптора безопасности файла

CheckFileAccess – проверка прав файла

Архитектура приложения

Передаем ссылку на Owner через (Self.Owner as TOwnerType) а не через UnitVar

Архитектура приложения. Видимость объектов

Базы данных и компоненты доступа

DBGrid

DBGrid. Как пробежаться и собрать значения определенного поля выделенных записей?

Ручное управление транзакциями

Библиотеки

Linq или сахар Spring4D

Первый опыт работы с библиотекой Marshmallow в реальном проекте

Mock FrameWork

OmniThreads

DBExpress

TRichView

Битовые операции

Битовые операции и фильтр Блума. Вступление

Представление положительных и отрицательных чисел в памяти компьютера. Прямой и дополнительный код числа

Некоторые функции для работы с битами

Время

Простейший способ измерить время

Как правильно сложить дату и время?

Несколько способов засечь время выполнения кода

Графика, изображения

Простой способ пропорционального уменьшения картинки

Уменьшение изображения. Обобщение и нюансы

Читаем ориентацию из Exif для Jpg файлов и ориентируем правильно

Деревья. Иерархические данные.

DBTreeView. Разработка компонента, Первая волна.

DbTreeView. Разработка компонента. Результат. Вторая волна

DBTreeView своими руками. Третья волна

DBTreeView. Четвертая волна

Отражение папок файловой директории в базе данных

Рекурсивное отражение файловой директории в базе данных


   VirtualStringView

Базовые операции

Документирование

Краткий обзор DocumentInsight

Документируем с PasDoc. Небольшая заметка

Интерфейсы

Интерфейсы в простых примерах

ARC. Основные моменты по книге DelphiMM

Классические алгоритмы

Все классические алгоритмы, реализованные в Delphi, смотрите на отдельной странице

Компоненты

      VCL компоненты

   TListView   

Как добавить элементы в виртуальном режиме (OwnerData:=true)?

Сортировка  в обычном и virtual режимах

Установка и использование написанных компонентов

Создание своих компонентов

Группировка свойств

Геттеры и Сеттеры при создании компонентов

MP3 на TMediaPlayer

MP3 плеер на bass.dll

Mp3 плеер на WindowsMediaPlayer

Делаем TVideoPanelWMP

       Создание компонентов, нюанс с прописыванием путей.

Массивы

Работа с вариантными массивами

Обработка исключений

Как обработать исключение из потока?

Память

Измерение оперативной памяти

Класс GarbageCollector

Garbage Collector For Delphi Objects and Components

Memory Management. Book

SmartPointers – меньше кода больше дела

Поиск

Инкрементальный поиск на примере TListView

Регистрозависимость поиска и поиск вхождений через MySQL

Реализуем поиск вхождений, регистрозависимый поиск, поиск точной фразы через MySQL.

Потоки (TStream)

Сохранение строки в TStream и чтение строки из TStream

Потоки (TThread)

  Управление потоками внутри одного приложения

 Самый простой пример на потоки

 Потоки (TThread). Создание и синхронизация. Метод WaitFor.

 Потоки через WinAPI

 Критические секции

 События (очень удобный инструмент регулирования потоков)

        Как обработать исключение из потока?

Как правильно остановить поток, работающий с idHTTP?

Пример отправки сообщения из одного потока в другой

Отправка строки из одного потока в другой

Запуск анонимного потока

Потоки по книге Мартина Харви. Конспект

   Управление потоками между приложениями, процессами

Мьютексы

Семафоры

IsSingleInstance

Регулярные выражения

Регулярные выражения.Теория

Регулярные выражения. Практика

Хранение параметров в имени файла

Реестр Windows

Простейший пример чтения / записи значений реестра

Риббон

Первые простые примеры

Пример программного добавления вкладки

RTTI – RunTimeTypeLibrary

RTTI Atributes

Overloaded methods

Свойства объектов

Свойства объектов – основы

Когда использовать read / write а когда get set ?

Делаем template на свойства

Списки

Как правильно удалять несколько элементов из TStringList, TObjectList и вообще из списков?

Простой пример функции компаратора для списка

События Delphi

Как сделать своё самое простое событие?

Добавляем пользовательские события на примере отправки файла чанками

Сортировка

TStringList.CustomSort – сортировка строк, integer, tdatetime в ascending и descending порядках

Строки

Split и Join методы для строки при переименовывания файла

Как сделать транслит в имени файла и заменить пробелы на тире?

Как узнать адрес в памяти строковой переменной?

Статистика, Математика

Descriptive statistics. Intro

Pearson criteria for testing normal distribution

Типы данных

Работа с указателями

Hex метаморфозы с байтовой строкой или функции для перевода в Hex и Hex представление и обратно

Соответствие типов С и Delphi

Текстовый редактор на TRichView

Делаем текстовый редактор на TRichView

Тестирование приложений

Тестирование приложения через DUnitX. Простой пример

Автоматизированное тестирование приложений в DUnitX

Трэй

Убираем программу в трэй

Файлы и папки

Как открыть папку и узнать об ошибке в случае чего?

Существует и доступен ли файл и доступен ли он для чтения?

Хранение параметров в имени файла

Как создать уникальное имя файла, используя GUID и сохранив часть старого имени?

Рекурсивный обход каталога файлов Windows при помощи SYSTEM.IOUTILS

Фильтры

VCL и не только. Делаем фильтр. Почти быстро и просто

Функции / процедуры

Delphi class function / procedure – вызов без создания экземпляра класса

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

CallBack функции / процедуры

Циклы

Delphi. C#. PHP. JS Циклы на 4 языках на примере факториала

СМС

Отправляем смс через шлюз или как классно когда все сделано за Вас)

Эксель (Excel)

Экспорт из базы в Excel через Ole

Импорт данных в базу из Excel. Пример из проекта

ZIP

System.ZIP Simple Examples