Главная » Статьи |
Всего материалов в каталоге: 59 Показано материалов: 21-30 |
Страницы: « 1 2 3 4 5 6 » |
Одномерные массивы
15.11.2010-YourAmur
Рубрика: Программирование на языке Pascal
Массив – однородная совокупность элементов Самой распространенной структурой, реализованной практически во всех языках программирования, является массив. Массивы состоят из ограниченного числа компонент, причем все компоненты массива имеют один и тот же тип, называемый базовым. Структура массива всегда однородна. Массив может состоять из элементов типа integer , real или char , либо других однотипных элементов. |
Убрать программу из Alt+Tab и Ctrl+Alt+Del
15.11.2010-Nikol05
Рубрика: Программирование в Delphi
Для удаления программы из диалога "Завершение работы программы", вызываемого по Ctrl+Alt+Del, нужно используют функцию RegisterServiceProcess. В Windows NT этой функции не существует. Поэтому, чтобы не происходило ошибки, нужно проверять версию Windows. Если это не Windows NT, то нужно динамически загрузить kernel32.dll.
|
Посчитать строку с формулой
15.11.2010-Nikol05
Рубрика: Справочный материал по программированию
В Delphi нет функции, которая бы позволяла посчитать строку с формулой. Но есть множество способов реализовать это самому. Здесь я привел самый простой из них. Он не очень быстрый, но при нынешних скоростях компьютеров для многих целей он подойдет.
|
Поиск пересечений графика с осью OX
15.11.2010-Nikol05
Рубрика: Справочный материал по программированию
Для поиска пересечений графика заданной функции с осью абсцисс очень удобен метод хорд. Он основан на линейной интерполяции. По двум точкам, лежащим по разные стороны от оси OX, строится прямая. Поскольку точка пересечения этой прямой с осью OX уже ближе к искомому x, то при повторении этой операции точность резко увеличивается.
|
Интерполяция изображения
15.11.2010-Nikol05
Рубрика: Справочный материал по программированию
Этот алгоритм увеличивает изображение в произвольное количество раз при помощи билинейной интерполяции. При создании нового изображения каждой его точке с целыми координатами (x,y) сопоставляется точка исходного изображения с дробными координатами (xo, yo), xo=x/dx, yo=y/dy (dx и dy – коэффициенты увеличения). Далее нужно провести поверхность через точки, лежащие вокруг (xo, yo). Цвет здесь рассматривается как третье измерение. На поверхности ищется точка с координатами (xo, yo) и ее цвет понимается за цвет точки (x,y) получаемого изображения.
|
Опции проекта в Delphi
15.11.2010-Nikol05
Рубрика: Программирование в Delphi
Существует огромное количество опции, которые можно изменять при разработке проекта. Они представлены на вкладках диалогового окна Project Options. Вы всегда можете установить опции по умолчанию, отключив переключатель Default в нижнем левом углу диалогового окна Project Options. заметку |
Программирование на основе Win32 API в Delphi
14.11.2010-Nikol05
Рубрика: Программирование в Delphi
Любую современную программу или программную технологию можно представить как совокупность программных "слоев". Каждый из этих слоев производит свою собственную работу, которая заключается в повышении уровня абстракции производимых операций. Так, самый низший слой (слои) вводит понятия, которые позволяют абстрагироваться от используемого оборудования; следующий слой (слои) позволяет программисту абстрагироваться от сложной последовательности вызовов функций, вводя такое понятие как протокол и т.д. Практически в любом современном программном продукте можно обнаружить и выделить около десятка последовательных слоев абстракции |
Как создавать неквадратные формы и контролы
13.11.2010-Nikol05
Рубрика: Программирование в Delphi
Всё, что нам нужно, это HRGN и дескриптор (handle) элемента управления. SetWindowRgn имеет три параметра: дескриптор окна, которое будем менять, дескритор региона и булевый (boolean) параметр, который указывает - перерисовывать или нет после изменения. Как только у нас есть дескриптор и регион, то можно вызвать SetWindowRgn(Handle, Region, True) и вуаля!
|
Написание сервисов Windows NT на WinAPI в Delphi
10.11.2010-Nikol05
Рубрика: Программирование в Delphi
Причиной написания этой статьи, как не странно, стала необходимость написания своего сервиса. Но в Borland'е решили немного "порадовать" нас, пользователей Delphi 6 Personal, не добавив возможности создания сервисов (в остальных версиях Delphi 5 и 6 эта возможность имеется в виде класса TService). Решив, что еще не все потеряно, взял на проверку компоненты из одноименного раздела этого сайта. Первый оказался с многочисленными багами, а до пробы второго я не дошел, взглянув на исходник - модуль Forms в Uses это не только окошки, но и более 300 килобайт "веса" программы. Бессмысленного увеличения размера не хотелось и пришлось творить свое. Так как сервис из воздуха не сотворишь, то мой исходник и эта статья очень сильно опираются на MSDN. Обычный Win32-сервис это обычная программа. Программу рекомендуется сделать консольной (DELPHI MENU | Project | Options.. | Linker [X]Generate Console Application) и крайне рекомендуется сделать ее без форм !!! и удалить модуль Forms из Uses. Рекомендуется потому, что, во-первых, это окошко показывать не стоит потому, что оно позволит любому юзеру, прибив ваше окошко прибить и сервис и, во-вторых, конечно же, размер файла (19Kb против 350 ). Поэтому удаляем форму (DELPHI MENU | Project | Remove from project... ). Удалив все формы, перейдем на главный модуль проекта, в котором удаляем текст между begin и end и Forms из Uses и добавляем Windows и WinSvc. В результате должно получиться что-то вроде этого
|
Работа с директориями в Delphi
10.11.2010-Nikol05
Рубрика: Программирование в Delphi
В этой статье я постараюсь познакомить Вас с некоторыми стандартными функциями для работы с директориями. И еще приведу несколько пользовательских функций и примеры их использования. Также рассмотрен вопрос вызова диалога выбора директории.
|