Тэги ‘function’

9
июня

TObject

   Автор: admin   в Delphi FAQ

TObject

TObject является общим предком всех классов в Delphi, корнем
иерархии Visual Component Library. Tobject представляет собой абстрактный
класс, реализующий только наиболее общие механизмы, универсально разделяемые
всеми объектами VCL.

TObject автоматически используется как порождающий тип при создании
нового класса Delphi. Следовательно, следующие фрагменты кода имеют одно
и то же значение:

        type
          TNewObject = class
        end;

        type
          TNewObject = class (TObject)
        end;

Object объявляет конструктор и деструктор (специальные методы, которые
создают и разрушают объекты)и реализует информацию о типе и методах обработки
сообщений. Поскольку TObject является абстрактным классом, большинство
его методов перекрывается в его потомках в рамках VCL. Обычно у вас будет
доступ к порожденной реализации Create, конструктору и Free,
безопасно вызывающему деструктор Destroy.

Таблица 1 отображает методы общецелевого назначения, реализуемые TObject.
В общем случае из этих методов разработчикам приложений интересны только
три: Create, Destroy и Free.
Read the rest of this entry »

Вопрос:
Как определить нажаты ли клавиши Shift, Alt, or Ctrl в какой-либо момент времени?

Ответ:

В приведенном примере
показано как определить нажата ли клавиша Shift при выборе строчки меню. Пример
также содержит функции проверки состояния клавиш Alt, Ctrl. Read the rest of this entry »

Вопрос:
Как во время выполнения определить поддерживает ли обьект заданное свойство?
Ответ:
function HasProperty(Obj : TObject; Prop : string) : PPropInfo;
begin
	Result := GetPropInfo(Obj.ClassInfo, Prop);

end; Read the rest of this entry »
Вопрос:

В некоторых видео режимах прозрачная часть glyph’а стандартного TBitBtn становится видной. Как этого избежать?

Ответ:

В примере используется
техника закраски прозрачной части glyph’а цветом кнопки на которой он находится
- таким образом glyph кажется прозрачным. Read the rest of this entry »

Вопрос:

Можно ли обратиться к колонке или строке grid’а по заголовку?

Ответ:

В следующем примере приведены
две функции: GetGridColumnByName() и GetGridRowByName(), которые возвращают
колонку или строку, имеющую заданный заголовок (caption). Read the rest of this entry »

8
июня

Как скрыть свойства объекта?

   Автор: admin   в Советы

Как скрыть свойства объекта?

В иерархии VCL в большинстве случаев существует уровень объектов-”предшественников”
(TCustomXXXX), в которых многие свойства скрыты. Для унаследованных от таких
“предшественников” объектов можно “открывать” на выбор те или иные свойства.
А как можно сокрыть свойства, которые объявлены в published-области
от Object Inspector’а, но при этом оставить возможность доступа во время
работы программы? Решение состоит в объявлении свойства “по новой” в public-области.
В примере скрытым будет у объекта TMyControl свойство Height.

TMyControl = class(TWinControl) Read the rest of this entry »

Как узнать, находится ли дискета в дисководе?

type
  TDriveState(DS_NO_DISK, DS_UNFORMATTED_DISK,
    DS_EMPTY_DISK, DS_DISK_WITH_FILES);

function DriveState(DrvLetter: Char): TDriveState;

var

  Mask: String[6];

  SearchRec: TSearchRec;

  oldMode: Cardinal;

  ReturnCode: Integer; Read the rest of this entry »

Как выяснить дату последнего изменения файла?

Для выяснения даты последнего изменения файла можно воспользоваться следующей
функцией:


function GetFileDate(FileName: string): string;

Read the rest of this entry »

8
июня

Урок 28: Редакторы свойств

   Автор: admin   в Уроки Delphi

Урок 28: Редакторы свойств

  1. Обзор
  2. Открытость Delphi
    проявляется наиболее ярко в том, что наряду
    с расширяемостью Библиотеки Визуальных Компонент можно изменять саму среду
    программирования. Delphi предоставляет
    соответствующее API с тем, чтобы программисты
    могли расширять функциональность среды разработки. С помощью этого API
    можно создать свои собственные Эксперты (Experts),
    свою Систему Контроля Версий (Version
    Control system), Редакторы Компонент (Component
    Editors) и Редакторы Свойств (Property
    Editors).

    При написании новых объектов
    часто требуется создавать для них свои Редакторы Свойств и Редакторы Компонент.
    В данном уроке и рассказывается, как это сделать и приводятся примеры.

    Краткое описание инструментов
    среды Delphi и модулей, в которых реализованы
    соответствующие API:

    API Экспертов – Позволяет
    создать свои собственные эксперты; модули EXPINTF.PAS
    и VIRTINTF.PAS

    API Контроля Версий
    - Дает возможность создать свою систему Контроля Версий или подключить
    систему третьей фирмы; модули VCSINTF.PAS
    и VIRTINTF.PAS

    API Редакторов Компонент
    - Создание диалогов, связанных с объектом во время дизайна. Пример – Menu
    Designer для TMenu или
    Fields Editor для TTable; модуль DSGNINTF.PAS

    API Редакторов Свойств
    - Создание редакторов для использования их при редактировании свойств в
    Инспекторе Объектов; модуль

    DSGNINTF.PAS

    Модули можно найти в библиотеке
    визуальных компонент (в директории X:\DELPHI\SOURCE\VCL).

    Необходимо отметить, что
    большинству людей никогда не придется использовать вышеперечисленные API.
    Однако, некоторым программистам они очень могут пригодиться, особенно разработчикам
    новых объектов. Read the rest of this entry »

8
июня

Урок 21: Объект TQuery

   Автор: admin   в Уроки Delphi

Урок 21: Объект TQuery

  1. Краткий Обзор

В этой главе Вы узнаете некоторые
основные понятия о запросах (queries) и транзакциях. Это достаточно широкие
понятия, поэтому обсуждение разбито на следующие основные части:

  • Объект TQuery.
  • Использование SQL с локальным
    и удаленным серверами (Select, Update, Delete и Insert).
  • Использование SQL для создания
    объединения (joins), связанных курсоров (linked cursors) и программ, которые
    ведут поиск заданных записей.

Сокращение SQL означает Structured
Query Language – Язык Структурированных Запросов, и обычно произноситься
либо как “Sequel” либо ” Ess Qu El”. Однако, как бы Вы его ни произносили,
SQL – это мощный язык БД, который легко доступен из Delphi, но который
отличается от родного языка Delphi. Delphi может использовать утверждения
SQL для просмотра таблиц, выполнять объединение таблиц, создавать отношения
один-ко-многим, или исполнить почти любое действие, которое могут сделать
ваши основные инструменты БД. Delphi поставляется с Local
SQL, так что Вы можете выполнять запросы SQL при работе с локальными таблицами,
без доступа к SQL серверу.

Delphi обеспечивает поддержку
“pass through SQL”, это означает то, что Вы можете составлять предложения
SQL и посылать их непосредственно серверам Oracle, Sybase, Inrterbase и
другим. “Pass through SQL” – это мощный механизм по двум причинам:

  1. Большинство серверов могут обрабатывать
    SQL запросы очень быстро, а это означает, что используя SQL для удаленных
    данных, Вы получите ответ очень быстро.
  2. Есть возможность составлять
    SQL запросы, которые заставят сервер исполнить специализированные задачи,
    недоступные через родной язык Delphi.

Перед чтением этой статьи Вы
должны иметь, по крайней мере, элементарное понятие о серверах и различиях
между локальными и удаленными (remote) данными. Read the rest of this entry »