Главная » Статьи для тега "procedure"

Списки изображений Free Pascal

Добавлено Дата: 15 June, 2014 категория: Free Pascal

Представьте себе, что нам потребовалось бы изобразить несколько "черных квадратов", отличающихся по размерам, расположенных в разных местах и даже повернутых относительно линии горизонта. Конечно, можно было бы растиражи- ровать несколько экземпляров тела процедуры Redraw, помещая перед каждой ко- пией несколько строк с формированием очередной текущей матрицы преобразова- ний. А если бы исходное изображение содержало описание не 8 вершин (как в нашем примере), а нескольких сотен точек? Объем исходной программы сразу бы распух до необозримых размеров.

Читать »

Параметры подпрограмм — двумерные массивы Free Pascal

Добавлено Дата: 24 May, 2014 категория: Free Pascal

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

Процедура mat_add1 выполняет сложение двух квадратных матриц в традици- онном стиле ранних версий Паскаля (листинг 9.5).

   Листинг 9 .5 .  Процедура  mat_add1                                             

Читать »

Начальные установки системы GLUT OpenGL Free Pascal

Добавлено Дата: 18 May, 2014 категория: Free Pascal

Большинство руководств, методических пособий и опубликованных книг, так или иначе связанных с OpenGL, рекомендуют начинать пролог с обращения к про- цедуре glutInit, передавая ей адреса двух аргументов — счетчика параметров ко-

мандной строки (@argc) и указателя на строку, содержащую все параметры, вклю- чая и имя запускаемого приложения (@argv). В одном из таких руководств, разме- щенных на сайте Wikipedia, даже приводится пример процедуры на Паскале, из- влекающей нужные данные из командной строки и передающей их процедуре инициализации системы GLUT (листинг 16.1).

Читать »

Переопределение функций Free Pascal

Добавлено Дата: 27 April, 2014 категория: Free Pascal

Одной из принципиально новых особенностей, характерных для объектно- ориентированного подхода, является возможность объявления в программе не- скольких функций или процедур с одинаковыми именами. К ним предъявляется единственное требование — списки их формальных параметров должны отличать- ся друг от друга. Это отличие может касаться как количества параметров, так и их типов. По этим критериям компилятор сможет, проанализировав каждое обраще- ние, выбрать требуемую подпрограмму.

Читать »

Обзор файлов, сгенерированных для элементов ActiveX CBuilder

Добавлено Дата: 17 July, 2013 категория: C++, C++ Builder

Когда вы используете обычный компонент VCL, вы включаете заголовочный файл  этого компонента. Исходный код для такого компонента живет в файле на языке Pascal (этого файла у вас может и не быть, все зависит от того, покупали ли вы исходные тексты VCL с вашей версией CBuilder). В любом случае, файл библиотеки содержит объектный файл для исходного кода на Pascal. Каким же образом CBuilder работает с управляющими элементами ActiveX как с обычными компонентами, когда они сделаны в другой системе и, скорее всего, у вас нет для них исходного кода?

Читать »

ОБСУЖДЕНИЕ ПЕРВОЙ ПРОГРАММЫ

Добавлено Дата: 26 May, 2012 категория: 1С Предприятие

Программа состоит из одной  пользовательской процедуры,  имеющей  имя Выполнить и  размещенной в  модуле  формы обработки.  Напомним, что  процедура это  выполняющий  некоторые   действия  программный  компонент,   который  обменивается данными  с другими  компонентами  через  свои параметры. Также  в  процедурах  1С могут   использоваться    переменные   модуля,  диалога   и    глобальные   объекты   данных. (В нашем  случае,  правда, процедура  параметров  не  имеет и  работает  только  с  одной  локальной переменной а.)

Читать »

Передача данных в хранимые процедуры

Добавлено Дата: 3 April, 2012 категория: Microsoft SQL Server, Базы данных

Хранимая процедура становится только более ценной, если использует параметры. Ранее созданная хранимая процедура CategoryList возвращает названия всех категорий товаров. В то же время процедуре, извлекающей конкретную строку таблицы, нужно передавать некоторый параметр (например, идентификатор товара).

Читать »

Форма поиска по ключевому значению

Добавлено Дата: 17 March, 2012 категория: Delphi

Код формы KeySearchForm содержится в модуле KeySrch. Она предназначена для поиска  в таблице записи с конкретным значением. Поиск  может  выполняться одним из двух предлагаемых способов.

Если переключатель установлен в положение Normal, пользователь может  ввести  в поле  Search for искомое значение и, щелкнув  на кнопке Exact или  Nearest, выполнять поиск  записи, точно отвечающей условию  или  ближайшей к нему. Если переключатель установлен в положение Incremental, то в таблице будет выполняться пошаговый поиск  непосредственно в процессе ввода условия  поиска  в по ле Search for. При  этом обращение к таблице выполняется при каждом изменении зна чения в данном поле. Код модуля KeySrch приведен в листинге 7.6.

Читать »

Пример применения поиска, фильтра и диапазона

Добавлено Дата: 17 March, 2012 категория: Delphi

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

Читать »

Работа с полями типа BLOB

Добавлено Дата: 16 March, 2012 категория: Delphi

Поля  BLOB (Binary  Large Object) разработаны для размещения в них данных  неоп ределенного размера. Поля  BLOB в одной  записи набора данных  могут содержать 3 байта  данных, в то  время  как  подобное же  поле  в другой  записи может  содержать

3 Кбайта данных. Эти поля наиболее удобны для хранения большого количества тек

Читать »

Манипулирование наборами данных

Добавлено Дата: 15 March, 2012 категория: Delphi

Приложение базы  данных  бесполезно, если  его  данными невозможно управлять. К счастью, наборы данных  содержат методы, которые позволяют сделать  это.  Набо ры данных дают возможность добавлять, редактировать и удалять записи из исходной таблицы. Для этого  применяются следующие  методы:  Insert() (добавить), Edit() (редактировать), и Delete() (удалить).Листинг 7.3 содержит пример приложения, использующего эти методы.

Читать »

Работа с наборами данных

Добавлено Дата: 15 March, 2012 категория: Delphi

Набор данных (dataset) — это  коллекция строк  и столбцов данных.  Каждый  столбец (column) содержит данные  одинакового типа,  а каждая  строка (row)  представляет со бой набор  данных каждого из типов  данных столбцов. Столбец иногда  называют полем (field), а строку — записью (record). Библиотека VCL инкапсулирует набор  данных  в аб страктном классе по имени  TDataSet, который обладает множеством свойств и мето дов, необходимых для манипулирования и перемещения по набору  данных.  От этого базового класса происходят все остальные классы,  предназначенные для работы с различными типами наборов данных.

Читать »

Применение DLL с совместно используемой памятью

Добавлено Дата: 14 March, 2012 категория: Delphi

Для иллюстрации применения DLL с совместно используемой памятью было созда но два работающих с ней приложения. Первое приложение (проект App1.dpr) позво ляет   модифицировать  глобальные  данные    библиотеки  DLL.   Второе  приложение (проект App2.dpr) обращается к этим  данным  и периодически обновляет два компо нента  TLabel, используя для этого  компонент TTimer. При  запуске обоих  приложений можно  увидеть  последствия совместного доступа  к данным  библиотеки DLL, т.е. окно приложения App2 будет отображать изменения, внесенные в окне приложения App1.

Читать »

Функции обратного вызова

Добавлено Дата: 13 March, 2012 категория: Delphi

Функция обратного вызова (callback function) — это функция приложения, вызываемая библиотеками  DLL  Win32  или  другими   библиотеками  DLL.  Фактически  в  системе Windows присутствует несколько функций API, которые используют функции обратного вызова. При  вызове таких  функций им передается адрес той функции приложения, ко торую Windows может  вызвать. Если не совсем  понятно, какое  отношение это имеет  к библиотекам DLL, то напомним, что  реально функции  API Win32  экспортируются  из системных библиотек DLL. По сути, при  передаче адреса  функции обратного вызова  в функцию API Win32 происходит передача этой функции в библиотеку DLL.

Читать »

Функция входа/выхода динамически компонуемых библиотек

Добавлено Дата: 12 March, 2012 категория: Delphi

В случае  необходимости создаваемую  DLL можно  обеспечить и дополнительным кодом  для входа и выхода,  который может  применяться при  операциях инициализа ции и завершения работы. Эти операции могут выполняться во время  инициализации и завершения потока либо процесса.

Читать »