В этом разделе вы создадите два новых приложения OLE. Первое - простая программа-сервер OLE, второе - пример простого контейнера OLE. Эти программы предназначены для демонстрации минимальных затрат программирования, необходимых для создания приложений OLE 2.
   В любом случае, для создания оболочки программы следует воспользоваться приложением AppExpert. Сначала необходимо сгенерировать основу приложения в AppExpert, затем модифицировать созданные файлы для создания законченного рабочего примера.
   При написании своих версий этих программ необходимо иметь в виду несколько моментов. Во-первых, в этой главе приводятся листинги только исходных, немодифицированных файлов.
Категория: Языки программирования | Просмотров: 183

Приветствую вас, уважаемые читатели. Вместе с вами на протяжении неопределенно долгого времени мы будем рассматривать различные интересные темы и возможности Delphi.Прежде всего мне хотелось бы поблагодарить администратора клуба программистов - Грома. Именно благодаря ему наше с вами общение стало возможным и впоследствии будет приносить всеобщую пользу.
Категория: Языки программирования | Просмотров: 207

Драйверы устройств, как правило, - наиболее критическая часть программного обеспечения компьютеров. По иронии судьбы это также и наиболее скрытая часть разработки программного обеспечения. Драйверы устройств системы Windows фирмы Microsoft не являются исключением. Если вы когда-либо писали обычное приложение в системе Windows, то вам известно, что требуется определенное количество скрытых способов, чтобы приложение работало надежно. Как подмножество приложений Windows, драйверы устройств системы Windows следуют этому же правилу. В данной статье автор рассматривает работающий драйвер устройства, который обеспечивает доступ к портам ввода-вывода и обрабатывает прерывания, и виртуальный драйвер устройства (VxD), который имитирует технические средства. Предполагается, что читатель знает основы программирования в системе Windows, включая библиотеки динамической связи (dynamic link libraries - DLLs)
Категория: Языки программирования | Просмотров: 210

В данной статье рассматривается пример использования переполнения стека под Windows 9x на платформе Intel x86. Изложение рассчитано на читателя, понимающего принципы работы персонального компьютера и более чем поверхностно знакомого с программированием.
Категория: Языки программирования | Просмотров: 199

Микропроцессоры корпорации Intel и персональные компьютеры на их базе прошли не очень длинный во времени, но значительный по существу путь развития, на протяжении которого кардинально изменялись и возможности и даже сами принципы их архитектуры. В то же время, внос в микропроцессор принципиальные изменения, разработчики были вынуждены постоянно иметь в виду необходимость обеспечения совмести мости новых моделей со старыми, чтобы не отпугивать потенциального покупателя перспективой полной замены освоенного или разработанного им программного обеспечения. В результате современные микропроцессоры типа Pentium, обеспечивая такие возможности, как 32-битную адресацию почти неограниченных объемов памяти, многозадачный режим с одновременным выполнением нескольких программ, аппаратных средства защиты операционной системы и прикладных программ друг друга, богатый набор дополнительных эффективных команд и способе адресации, в то же время могут работать (и часто работают) в режиме первых микропроцессоров типа 8086, используя всего лишь 1 мегабайт оперативной памяти, 16-разрядные операнды (т. е. числа в диапазоне до 216 - 1 = 65535) и ограниченный состав команд. Поскольку программирование на языке ассемблера напрямую затрагивает аппаратные возможности микропроцессора, прежде всего следует выяснить, в какой степени программист может использовать новые возможности микропроцессоров в своих программах и какие проблемы программной несовместимости могут при этом возникнуть.
Категория: Языки программирования | Просмотров: 162

Очень часто при работе с запросами приходится менять SQL этого запроса. Например, при изменении порядка сортировки или при необходимости изменения фильтра, прописанного в where. Сделать это стандартными средствами можно, но довольно муторно, т.к. весь запрос хранится в одном месте (для TQuery и её потомков это свойство Sql). При желании изменить, например, количество или порядок следования полей в order by, нужно программно найти этот order by, написать свой, вставить его вместо старого и т.д. Для меня, честно говоря, загадка, зачем борланд пошла по такому ущербному пути: стандарт ANSI SQL-92, с которым (и только с которым!) работает Bde, подразумевает достаточно жёсткий синтаксис запроса, вполне допускающий обработку на уровне отдельных секций.
Категория: Языки программирования | Просмотров: 205

В данной статье описывается создание калькулятора в среде Borland Delphi. Сначала создаем интерфейс, описывать как его создавать, какие и как ставить кнопки нет смысла (я оставляю это на вашей фантазии), всего на форме 26 кнопок (среди них кнопки цифр – 10, кнопок функций – 16), также один компонент TPanel – на нем будет выводить результат действия калькулятора. Итак, приступим к коду
Категория: Языки программирования | Просмотров: 234

Доброе время суток, господа. Снес себе я окна "ХАПЭ", поставил 2000. Вроде все ОК, но вот беда: нет просмотрщика графических файлов:-(... Пошарив по дискам, я пришел в разочарование... К знакомым идти лень, да и холодно на улице... Как быть? Эх... так ведь у меня delphi есть! Там все это дело замутить просто, а значит, быстро.
Категория: Языки программирования | Просмотров: 196

Часто при программировании в некоторых местах программы не исполнения кода, в других просто останавливать выполнение не некоторое время. Например, если писать игру, необходимо создавать код, который бы ограничивал скорость игры. Конечно, если игра очень тяжелоя, то некоторое время она может существовать без такого ограничителя. Но со временем вычислительная мощь компютеров растет (к сожелению не сама по себе) и в игры без ограничителя скорости играть становится невозможно. Или вы решили написать бенчмарк для процессора. Тут уже нужны очень точные средства для замера времени исполнения кода. Таких примеров можно привести уйму. Проще сказать, что в любой более - мение серезной программе измерение времени просто необходимо. К сожалению штатные средства в Паскале ограничиваются только процедурой Delay что описана в модуле CRT. Но она очень сильно зависит от производительности системы. Конечно, можно использовать процедуру GetTime, но она довольно громоздка. А стандартных процедур по замеру времени выполнения кода вобще нет.
Категория: Языки программирования | Просмотров: 175

Часто при программировании в некоторых местах программы необходимо замерять время исполнения кода, в других просто останавливать выполнение не некоторое время. Например, если писать игру, необходимо создавать код, который бы ограничивал скорость игры. Конечно, если игра очень тяжелоя, то некоторое время она может существовать без такого ограничителя. Но со временем вычислительная мощь компютеров растет (к сожелению не сама по себе) и в игры без ограничителя скорости играть становится невозможно. Или вы решили написать бенчмарк для процессора. Тут уже нужны очень точные средства для замера времени исполнения кода. Таких примеров можно привести уйму. Проще сказать, что в любой более - мение серезной программе измерение времени просто необходимо. К сожалению штатные средства в Паскале ограничиваются только процедурой Delay что описана в модуле CRT. Но она очень сильно зависит от производительности системы. Конечно, можно использовать процедуру GetTime, но она довольно громоздка. А стандартных процедур по замеру времени выполнения кода вобще нет.
Категория: Языки программирования | Просмотров: 140

Каждый юзер наверняка сталкивался с помещением информации в буфер и извлечением ее оттуда. Тот же пресловутый Ворд при нажатии кнопки "копировать" помещает выделенный текст в буфер, а при нажатии "вставить" - извлекает его. Таким же образом помещаться в буфер могут изображения и данные разных форматов. Итак, буфер - это специальная область оперативной памяти в которую Windows помещает пользовательские данные для обмена между разными приложениями или внутри одного приложения.
Категория: Языки программирования | Просмотров: 110

Как "словить" окно? Под словом "словить" я имею ввиду то, как обнаружить наличие окна (любого окна) среди других окон. Функция "ловли окна" очень часто используется в том случае если вам необходимо совершить над ним (окном) какое-нибудь действие: закрыть, переместить, спрятать, изменить размеры и т.д. Еще раз скажу, что все эти действия будут совершаться над "чужими" окноми, т.е. не над теми которые ва разрабатываете, а над окнами других приложений. Итак вы уже поняли ( я надеюсь ) для чего нужно "словить" окно.
Категория: Языки программирования | Просмотров: 203

В связи с бурным развитием технологий программирования, все больше людей сталкиваются с проблемой наращивания возможностей своих программ. Данная статья посвящена именно этому вопросу, а именно - программирование DLL в Borland Delphi. Кроме того, так как мы затронем вопросы по использованию библиотек DLL, то попутно коснемся импортирования функций из чужих DLL (в том числе и системных, т.е. WinAPI).
Категория: Языки программирования | Просмотров: 164

Эту статью я писал на заре своего изучения Delphi, поэтому здесь в явном виде прослеживается дух ламерства, который пронизивал мой мозг в то время, ведь тогда я еще только начинал свое знакомство с компьютером, как таковым, а заодно и знакомился с азами Дельфи-кодинга. Но, несмотря на все неточности и шероховатости, которые присутствует в статье, я все же не решился исправить ни символа в ней - нехорошо искажать память. Читайте её такой, какой она была написала 2 года назад и, как говорится, не судите строго ...
Категория: Языки программирования | Просмотров: 240

Меня очень часто спрашивают как можно вставить изображение в формате Jpeg в исполняемый модуль или как можно просматривать jpeg-изображения в программе. В этой статье я попробую рассказать и показать на примерах как можно работать со jpeg-изображениями.
Категория: Языки программирования | Просмотров: 238

В статье рассматривается работа с бинарными файлами из Delphi, а так же использование Object Pascal для управления записью, чтением и изменением собственных типов файлов.
Категория: Языки программирования | Просмотров: 120

Вы наверное часто видели довольно хитроумные картины, на которых непонятно что изображено, но все равно необычность их форм завораживает и приковывает внимание. Как правило, это хитроумные формы не поддающиеся казалось бы какому-либо математическому описанию. Вы к примеру видели узоры на стекле после мороза или к примеру хитроумные кляксы, оставленные на листе чернильной ручкой, так вот что-то подобное вполне можно записать в виде некоторого алгоритма, а следовательно доступно объясниться с компьютером. Подобные множества называют фрактальными. Вобще, как мне известно фракталы появились не так уж давно, но сразу завоевали свою важную нишу. Фракталы не похожи на привычные нам фигуры, известные из геометрии, и строятся они по определенным алгоритмам, а эти алгоритмы с помощью компьютера можно изобразить на экране. Вобще, если все слегка упростить, то фракталы - это некое преобразование многократно примененное к исходной фигуре.
Категория: Языки программирования | Просмотров: 192

В этом обзоре мне хотелось бы осветить несколько классов Delphi, которым обычно в книгах и других обучающих материалах уделяется (если уделяется) весьма скромное внимание. Это так называемые невизуальные классы, не порожденные непосредственно от TComponent и не имеющие владельца. Следовательно, начинающий разработчик в палитре компонентов их не видит, в книжках о них не пишут, а help’ы ему читать неохота или он просто не знает английского… Так уж получается что RAD не способствуют обучению работы с невизуальными классами, что плохо отражается как на квалификации такого программиста, так и на предлагаемых им программных решениях. Отсюда и множество вопросов из разряда FAQ задаваемых по этой теме в конференциях.
Категория: Языки программирования | Просмотров: 183

Тип объект содержит:
    -  поля: вектортификатор в символьном виде
    -  методы: введение вектора, вывод вектора, сортировка за ростом элементов вектора.
Реализовать экземпляр этого типа и выполнить над ним все возможные действия
Категория: Языки программирования | Просмотров: 194

Тип объект содержит:
    -  поля: вектор, его размер и его идентификатор в символьном виде
    -  методы: введение вектора, вывод вектора, сортировка за ростом элементов вектора.
Реализовать экземпляр этого типа и выполнить над ним все возможные действия
Категория: Языки программирования | Просмотров: 157

« 1 2 ... 9 10 11 12 13 ... 34 35 »