TObject является общим предком всех классов в Delphi, корнем иерархии
Visual Component Library. Tobject представляет собой абстрактный класс,
реализующий только наиболее общие механизмы, универсально разделяемые всеми
объектами VCL.
TObject автоматически используется как порождающий тип при создании
нового класса Delphi. Следовательно, следующие фрагменты кода имеют одно и то же
значение: type
TNewObject = class
end;
type
TNewObject = class (TObject)
end;Object объявляет
...
Для получения детальной информации о состоянии памяти компьютера можно воспользоваться функцией API GlobalMemoryStatus. В функцию передается переменная типа TMemoryStatus, которая представляет собой запись, тип которой определен следующим образом:
type
TMemoryStatus = record
dwLength: DWORD;
dwMemoryLoad: DWORD;
dwTotalPhys: DWORD;
dwAvailPhys: DWORD;
dwTotalPageFile: DWORD;
dwAvailPageFile: DWORD;
dwTotalVirtual: DWORD;
dwAvailVirtual: DWORD;
end;
Первое поле записи, ...
Михаил ХристосенкоDevelopment и Дельфи (http://delphid.dax.ru).
В
этой статье я постараюсь рассмотреть
существующие в Дельфи глобальные классы.
Расскажу о том, как и где их можно применять
и что с ними можно делать.
Начнем
мы с глобального класса (объекта) TApplication.
Предлагаю вам ознакомиться с приведенной
таблицей событий этого объекта:
События
Возникает
OnActionExecute:
TActionEvent
Происходит
при вызове метода Execute перед обработкой
списка событий.
...
В классе Thread определены три поля, несколько конструкторов и большое количество методов, предназначенных для работы с потоками.
С помощью конструкторов можно создавать потоки различными способами, указывая при необходимости для них имя и группу. Имя предназначено для идентификации потока и является необязательным атрибутом. Что же касается групп, то они предназначены для организации защиты потоков друг от друга в рамках одного приложения.
Методы класса Thread предоставляют все необходимые во...
Источник: delphi.xonix.ru
Причиной написания этой статьи, как не странно,
стала необходимость написания своего сервиса. Но
в Borlandе решили немного "порадовать" нас,
пользователей Delphi 6 Personal, не добавив возможности
создания сервисов (в остальных версиях Delphi 5 и 6
эта возможность имеется в виде класса TService).
Решив, что еще не все потеряно, взял на проверку
компоненты из одноименного раздела этого сайта.
Первый оказался с многочисленными багами, а до
пробы второг...
Этот пример использует картинку, кнопку и компонент shape на форме. Когда пользователь кликает по кнопке, то изображение формы сохраняется в в переменной FormImage и копируется в буфер обмена (Clipboard). Затем изображение формы копируется обратно в компонент картинки, тем самым создавая интересный эффект, особенно, если кнопку понажимать несколько раз.
procedure TForm1.Button1Click(Sender: TObject);
var
FormImage: TBitmap;
begin
FormImage := GetFormImage;
try
Clipboard.Assign...
В следующем примере используется функция SHFileOperation для копирования группы файлов и показа анимированного диалога. Вы можете использовать также следующие флаги для копирования, удаления, переноса и переименования файлов.
TO_COPY, FO_DELETE, FO_MOVE, FO_RENAME
Примечание: буфер, содержащий имена файлов для
копирования должен заканчиваться двумя нулевыми символами.
uses ShellAPI;
procedure TForm1.Button1Click(Sender: TObject);
var
Fo : TSHFileOpStruct;
buffer : array[0..4096] o...
Пример показывает как из Вашей программы запустить внешнее приложение и подождать его завершения.
function ExecAndWait(const FileName,
Params: ShortString;
const WinState: Word): boolean; export;
var
StartInfo: TStartupInfo;
ProcInfo: TProcessInformation;
CmdLine: ShortString;
begin
{ Помещаем имя файла между кавычками, с соблюдением всех пробелов в именах Win9x }
CmdLine := " + Filename + " + Params;
FillChar(StartInfo, SizeOf(StartInfo), #0);
with StartInfo do
...
Сегодня все больше и
больше разработчиков хотят создавать распределенные транзакционные
корпоративные приложения и использовать преимущества в скорости,
защищенности и надежности, обеспечиваемые серверными технологиями.
Если вы уже работаете в этой области, то вам известно, что в
современном, быстро меняющемся и выдвигающем все новые требования
мире электронной коммерции и информационных технологий, корпоративные
приложения должны проектироваться, создаваться и внедряться за
меньшие день...
В этом уроке мы с вами ознакомимся с основными принципами программной организации поиска файлов. Для начала определимся, зачем нам это может быть нужно. Например, вам нужно при запуске программы на выполнение просканировать определенный каталог на присутствие DOC файлов, и при наличии таковых открыть их на редактирование или напечатать. А как вам такая идея: фоновый поиск EXE файла в сети, и при обнаружении новой версии, автоматическое обновление.
Автор:Джейсон Хантер
Перевод на русский c Дмитрий Зацеляпин, 2003
Обзор
7 марта 2003 Sun Microsystems выпустил последний релиз "Proposed Final
Draft 2" спецификации Servlet 2.4. Эта статья объясняет различия между Servlet
2.3 и 2.4, рассказывает о причинах изменений, и показывает, как вы можете
использовать преимущества новых возможностей в 2.4.
(В оригинальной версии 3,100 слов)
Модернизация поддержки HTTP, J2SE, и J2EE
Новые методы ServletRequest
Интернационализация
Изменен...
Статья представляет собой изучение создания консольного приложения в Delphi. Прежде чем начать вникать в подробности, необходимо уточнить, что консольные приложения это особый вид Windows приложений - с одной стороны он имеет полный доступ к функциям Win API, с другой - не имеет графического интерфейса и выполняется в текстовом режиме.
Простая консольная программа
На момент написания статьи (1997г.), в Delphi не было возможности автоматически создавать консольные приложения (возможно на сегод...
По материалам сервера www.delphi.agava.ru
Большинство программ, преднозначенных для
работы с текстом, предоставляют пользователю
возможность перетаскивать имена файлов из
"Проводника" (или других программ) в Memo или
другой компонент, содержащийся в приложении. о
умолчанию Delphi не позволяет перемещать файлы с
помощью мыши, но, приложив небольшие усилия,
такую возможность можно реализовать.
Первое, что вы должны сделать, - сообщить
системе Windows о том, что ваша программа г...
Автор: Sergei Dubarev
Для того, чтобы ОНО заработало, необходимо создать проект в составе:
Форма (form) - 1 шт.
Поле ввода (edit) - 2 шт., используются события OnDblClick.
Кнопка (button) - 1 шт., используется событие OnClick.
Диалог открытия файла (Open Dialog) - 1 шт.
Диалог сохранения файла (Save Dialog) - 1 шт.
Имена файлов будут вводится либо вручную, либо из диалога (double-click на поле ввода edit), причем в edit1.text должно лежать имя входного файла, в edit2.text - выходног...
Чтобы вывести справочную информацию, которая находится в СНМ-файле, нужно воспользоваться ActiveX-компонентом (элементом управления) ньореп, который входит в состав Windows и представляет собой специальную динамическую библиотеку (файл Hhopen.ocx).
Первое, что следует сделать, - установить компонент Hhopen на одну из вкладок палитры компонентов. Для этого надо из меню Component выбрать команду Import ActiveX Control. На экране появится окно Import ActiveX, в котором будут перечислены все зарег...
Автор: Рудюк С.А., Компания НеРуСофт
26 сентября 2005 года
http://nerusoft.com/
Введение
Реализовать перевод в приложениях Delphi можно реализовать несколькими способами:
стандартный способ локализации.
локализация с помощью текстовых ресурсов: ini-файл или xml-файл.
Стандартный способ локализации приложений
С помощью ресурсов на нужном языке (с помощью меню Project -> Languages). Этот способ часто описывается в книгах по Delphi, а так же в большом количестве статей в интернете. Поэ...
Предыстория.
Дело в том, что иногда ты сносишь свою винду по ряду причин будь то атака вирусов или отсутствие свободного места на жестких(бывают и такие) и после её перестановки ты начинаешь устанавливать необходимый тебе софт. Всё бы нечего, но есть одно "но" - все нужные проги находятся на разных дисках, казалось бы создал диск, записал на него что надо и все, но разве так поступает настоящий Delphi кодер. К тому же у меня, например часто спрашивают мои диски с софтом, а потом задают вопросы:...
Для смены базового вектоpа, к-pый для ведущего конpоллеpа по умолчанию 8, а для ведомого 70h, надо выполнить инициализацию:
;Инициализация ведущего контpоллеpа
mov dx,20h ; Поpт ведущего контpоллеpа
mov al,11h ; СКИ1 - инициализиpовать два контpоллеpа
out dx,al
jmp $+2 ; Задеpжка
inc dx
mov al,8 ; СКИ2 - базовый вектоp (вот сюда и ставь al=8Fh для
out dx,al ; вызова int 90h вместо int 9h, только у тебя, и int 8Fh
jmp $+2 ; вместо int 8h будет, int 91h-int 96h вместо int 0ah-int 0fh :)...
Усилиями фирм Microsoft и Borland
программирование на Си++ выходит на новый, более
высокий уровень.
Поскольку в последнее время основное внимание
уделяется языку Java, кое-кто забывает о том, что Си++
продолжает оставаться "рабочей лошадкой" программистов.
Две существенно обновленные версии компиляторов Си++ -
VisualC++ 5.0 фирмы Microsoft и C++Builder компании
Borland - отличаются поистине уникальными простотой
использования и гибкостью. При разработке VisualC++
основное значение ...
Вы когда-нибудь проверяли как будет выглядеть
написанная вами с такой любовью программа с системе с крупными
шрифтами? Согласитесь, это неприглядное зрелище. Наползающие
друг на друга метки и поля редактирования, надписи, которые
заканчиваются где то за пределами формы и т.п. После этого
появляется неконтролируемая неприязнь к пользователям, которые
предпочитают режим крупных шрифтов. Но это их право. И ваша
проблема. Вы наверняка задавались вопросом о том, как
избежать искажений...
Delphi.Diagnostinc.Ru
Данная статья рассказывает о том как сделать чтобы ваши проекты выглядели как Windows XP программы.
Зачем?
В Windows XP есть менеджер тем (theme manager) который изменяет вид большинства стандартных объектов Windows. Misrosoft утверждает что старые версии библиотеки comctl32.dll содержат код для поддержки различных платформ семейства Windows. Microsoft разумно решила почистить содержимое comctl32.dll для улучшения работы тем в Windows XP. Теперь получается что существуе...
Автор: Dynamic
Источник: http://dynamic.nm.ru/
5 февраля 2005 года
В этой статье на простом примере я покажу, каким образом можно организовать в своей программе диалоговое окно с пошаговым выполнением (уточнением) какой-либо задачи (такое окно обычно называют мастером или визардом (от англ. wizard - волшебник, маг)). Наибольшее распространение мастера получили в программах-инсталляторах, а также в других программах, требующих для выполнения своей задачи строго определенной последователь...
Среди стандартных диалогов Delphi 6 (вкладка Dialogs) диалог выбора папки, как это ни прискорбно, отсутствует. Но ничего :). Сейчас мы исправим данное упущение, написав соответствующий компонент.
Чтобы создать новый компонент, в Delphi IDE выберите пункт File>New>Other и затем в появившемся окне нажмите
New Component. Появится диалоговое окно, в котором:
Ancensor type (класс-предок нового компонента) - введите TComponent;
Class Name (имя нового класса) - TBrowseFolderDlg;
Palette Page (имя...
Автор: Allan Carlton
Делается это при помощи стиля ownerdraw, который присутствует в
TComboBox. Нас интересуют два свойства этого стиля:
csOwnerDrawFixed - используется, если все битмапы имеют одинаковую
высоту
csOwnerDrawVariable - используется для битмапов с разной высотой
После того как стиль будет установлен на один из вышеперечисленных, то
можно воспользоваться событием onDrawItem. Это событие возникает каждый
раз, когда приложению необходимо нарисовать пункт в выпадающе...
Примеры: 3d_1.rar
Содержание
Введение
Текстуры
Освещение
Туман
Эта достаточно большая статья посвящена обзору библиотеки расширения OpenGL
написанная Ricardo Sarmiento. Все примеры приведенные ниже написаны с
использованием этой библиотеки - точнее я нашел примеры и написал статью.
Cтатья скорее обзор возможностей технологии OpenGL, чем руководство к
программированию. Хотя некоторые функции и процедуры Вы можете использовать и
для своих приложений - например чтение файлов D...