Posts Tagged ‘Delphi’

Липкие окошки

Воскресенье, Апрель 15th, 2012 Нет комментариев

Under : , , , , ,

В статье рассматривается приём создания обработчиков сообщений, которые позволяют форме при перетаскивании «прилипать» к краям экранной области.

Конечно же в Win API такой возможности не предусмотрено, поэтому мы воспользуемся сообщениями Windows. Как нам извесно, Delphi обрабатывает сообщения через события, генерируя его в тот момент, когда Windows посылает сообщений приложению. Однако некоторые сообщения не доходят до нас. Например, при изменении размеров формы, генерируется событие OnResize, соотвествующее сообщению WM_SIZE, но при перетаскивании формы никакой реакции не происходит. Конечно же форма может получить это сообщение, но изначально никаких действий для данного сообщения не предусмотрено. (далее…)

Delphi. Обработка событий компонент, созданных в Run-Time

Воскресенье, Апрель 15th, 2012 Нет комментариев

Under : , , , ,

В начале мне хотелось бы просто рассказать об общем принципе, на простом примере. Мы создадим в Run-Time кнопку и будем обрабатывать ее событие OnClick. Кнопка у нас будет создаваться по нажатию на кнопку Button1.

procedure TForm1.Button1Click(Sender: TObject);
var New: TButton;
begin
New:=TButton.Create(Form1);
New.parent:=form1; (далее...)

Распознавание образов — применение на практике

Воскресенье, Апрель 15th, 2012 Нет комментариев

Under : , , , , ,

Статья будет полезна фотографам и просто любителям изобразительного искусства, а также программистам в области графики.

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

Распознавание образов — тема обширная и довольно сложная. Активное участие в ней принимают и нейросети, и различные статистические анализы. Алгоритм, о котором будет рассказано, лишь отдаленно можно назвать алгоритмом распознавания образов. Скорее, это алгоритм быстрого сканирования изображения с (далее…)

Поговорим о случайных числах

Воскресенье, Апрель 15th, 2012 Нет комментариев

Under : , , , , ,

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

Процедура Randomize

Эта процедура инициализирует (проще говоря запускает) генератор случайных чисел. Надо также заметить, что генератор случайных чисел может быть инициализирован не только с помощью обращения к Randomize, но и с помощью присвоения переменной RandSeed (об этом поговорим ниже). (далее…)

Обращение к Excel из DELPHI

Воскресенье, Апрель 15th, 2012 Нет комментариев

Under : , , , , ,

В данном обзоре рассмотрены основные конструкции, позволяющие получить доступ к книге Excel из DELPHI.

Организация доступа к книге EXCEL

Для взаимодействия с MS excel в программе необходимо использовать модуль ComObj
uses ComObj;
и объявить переменную для доступа к MS excel следующего типа:
var Excel: Variant;

Инициализация переменной Excel в простейшем случае можно осуществить так:
    Excel := CreateOleObject(‘Excel.Application’);

Создание новой книги: (далее…)

Сокеты в Delphi

Воскресенье, Апрель 15th, 2012 Нет комментариев

Under : , , , , ,

В этой статье я немного расскажу о сокетах и о граблях, на которые я понаступал, программируя различные клиентские и серверные приложения на протоколе TCP/IP. Постараюсь объяснить простым языком для неспециалистов. Здесь будут даны самые начальные сведения и будет попытка обобщения. В некоторых статьях есть такая фраза — «для … необходимо знать это и то, а для тех кто не знает — идите смотрите там, не знаю где». Теперь будет ясно «где»; и эти статьи, я думаю, могут быть справочником в дальнейшем. Будет рассмотренна работа с сокетами в m$ windows. Для программирования сокетов в никсах различие очень незначительны (все функции и структуры мелкософт постарался без изменений передрать) и основные из них рассмотрены в статьях, ссылки на которые приведены в конце, в разделе «Что еще почитать». Программа, использующая сокеты, может работать с одним сокетом или с множеством одноременно «открытых» сокетов (сокетный движок). Сразу стоит выделить различие между блокирующими (асинхронными) и неблокирующими (синхронными, требующими синхронизацию) сокетами. (далее…)

Delphi. Различные способы печати из приложений

Воскресенье, Апрель 15th, 2012 Нет комментариев

Under : , , , , , ,

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

Итак, начнем рассмотрение этих способов. (далее…)

Изучаем ассемблер в Delphi

Воскресенье, Апрель 15th, 2012 Нет комментариев

Under : , , , , ,

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

 

Основное направление статьи, это познакомиться с использованием ассемблера в Object Pascal. Однако, не будем пропускать и те аспекты программирования, которые будут требовать пояснения для конкретных примеров, приведённых в этой статье.

Использование Ассемблера в Борландовком Delphi (далее…)

Программирование на С++ — это несложно!

Четверг, Апрель 10th, 2008 Нет комментариев

Under : , , , , ,

Предисловие

Во все времена существования персональных компьютеров среди пользователей было распространено мнение о чрезвычайной сложности языка С и его потомка С++. Поэтому большинство решивших изучить программирование обращались к языкам Бей-сик и, реже, Паскаль. С появлением систем визуального программирования, таких как Delphi, Borland C Builder и им подобных, необходимость в изучении языков программи-рования на серьезном уровне оказалась сведена практически к нулю. Средства AppWizard сами выполнят 60:80% работы по созданию приложения, оставив на долю пользователя лишь несколько десятков строк, реализующих его замысел. (далее…)