Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Буфер обмена Windows (Clipboard)




Для работы с буфером обмена следует подключить модуль Clipbrd.

Свойства

AsText ‑ содержимое буфера в виде строки (Clipboard:=’Иванов’).

FormatCount,Formats ‑ число форматов данных буфера в массиве Formats.

Методы

Assign(S:Tpersistent), Clear ‑ копировать объект в буфер и, наоборот, восстановить, очистить буфер соответственно.

Пример: Clipboard.Assign (Bitmap2); Bitmap2.Assign(Clipboard);

GetComponent(O,P:TComponent):TComponent ‑ вставка из буфера в объект (O) с родителем (P, обычно форма или контейнер).

SetComponent(O:TComponent) ‑ запись в буфер объекта (O).

Пример. Clipboard.SetComponent(Button2); //копирование Button2

Clipboard.GetComponent(Self,GroupBox1); //восстан. Button2 в GroupBox1

GetTextBuf(S,N:Integer):Integer ‑ вывести данные из буфера в S.

SetTextBuf(S) ‑ вывести данные S в буфер.

HasFormat(F:Word):Boolean ‑ возвращает True, если данные в буфере фор­мата F: cf_Text (текст), cf_Bitmap (точечное изображение), cf_MetaFilePict (графический метафайл), cf_Picture (объект типа Picture), cf_Component (другой стандартный объект).

Open/Close ‑ открытие/закрытие буфера обмена при записи данных в несколько приемов в виде стека: Open/Close увеличивает/уменьшает на единицу счетчик блокировок буфера и открывает/закрывает его, если счетчик равен нулю. После закрытия новая запись удаляет старые данные.

Списки (TList)

Списки используются для автоматизации процедур создания динамических структур из элементов различных типов [1.9). Список ‑ это массив нетипизированных указателей на объекты, размещенные в динамической памяти. Потомки этого объекта входят в различные визуальные компоненты.

Определение типа pPointerList имеет вид:

Type pPointerList=^ TPointerList;

TPpointerList=Array[0..MaxListSize] Of Pointer;

Свойства

Capacity ‑ допустимое число указателей в списке (всегда больше Count).

Count ‑ фактическое точное число элементов в списке.

Items(I:Integer):Pointer ‑ возвращает указатель на I‑й элемент.

2.2.6.2. Методы

Add(Item:Pointer):Integer ‑ добавляет элемент в конец списка и возвращает его номер.

Clear ‑ очистка списка без освобождения памяти.

Delete(N) ‑ удаление N‑го элемента из списка.

Exchange(N1,N2) ‑ меняются местами значения под номерами N1 и N2.

Expand ‑ расширение памяти для списка (увеличение Capasity на 16).

First/Last:Pointer ‑ возвращает указатель на первый/последний элемент.

IndexOf(Item:Pointer):Integer ‑ возвращает номер элемента Item.

Insert(N,Item:Pointer) ‑ вставляет элемент в позицию N (список при необ­хо­димости расширяется).

Move(N1,N2) ‑ перемещает элемент с позиции N1 в позицию N2.

Pack ‑ удаляет пустые элементы в конце списка.

Remove(Item:Pointer):Integer ‑ удаляет элемент Item, возвращая его номер.

Sort(Compare:TlistSortCompare) ‑ сортирует список функцией пользовате­ля Compare, которая имеет два параметра ‑ указателя U1, U2 (Pointer) и возвращает целое число (Integer) со значениями: отрицательное число (^U1<^U), ноль (^U1=^U) и строго положительное число (^U1>^U).

Схема создания списка

Var Spisok:TList; Element:Pointer; Znahenie:<нужный тип данного>;

Begin Spisok:=TList.Create; //создание пустого списка

Element:=New(Znahenie); //выделяем память (п.1.9.1)

... Spisok.Add(Znahenie); //добавляем элемент к списку

... Spisok.Remove(Element); //удаляем элемент из списка

... Dispose(Element); //удаляем элемент из памяти (п.1.9.1)

... Spisok.Free; //удаляем весь список

Пример функции сравнения двух вещественных чисел типа Double и сортировки списка чисел:

Type pd=^Double; //тип указателя на вещественный тип Double

Function Sravnenie (u1,u2:Pointer):Integer; //функция сравнения двух чисел

Begin If pd(u1)^<pd(u2)^ Then Result:=‑1 Else

If pd(u1)^=pd(u2)^ Then Result:=0 Else Result:=1 End;

... Var SpisokHisel:TList;...SpisokHisel:=TList.Create; //создание списка

... SpisokHisel.Sort(Sravnenie); //сортировка списка чисел SpisokHisel

Список строк и объектов (TStringList)

Объектом является список элементов. Каждый элемент содержит текстовую строку и объект любого класса, включая картинки. Строка мо­жет иметь вид: [<имя параметра>=]<значение>. Реализуется подобно спискам TList. Потомки этого объекта входят в различные визуальные компоненты (пример в п. 2.3.2.5).

Свойства

Capacity ‑ допустимое число элементов в списке (всегда больше Count).

CommaText ‑ объединяет все строки списка в одну строку с указанием разделителей: текст строки в кавычках и точка с запятой между строками.

Count ‑ фактическое точное число элементов в списке.

Duplicates ‑ наличие дубликатов строк: duIgnore (дубликат пропускается), duError (генерируется исключение EListError), duAccept (допускается).

Nаmes[N] ‑ возвращается имя параметра N‑й строки.

Objects[N]:TObject ‑ открывает доступ к объекту под номером N.

Sorted ‑ строки сортируются в алфавитном порядке (True).

Strings[N]:String ‑ возвращает строку под номером N.

Text ‑ объединяет все строки списка в одну строку.

Values(S) ‑ возвращает строку со значением параметра под именем S.

События

OnChange ‑ возникает после последнего изменения списка строк.

OnChanging ‑ возникает до первого изменения списка строк.

Методы

Add(S):Integer ‑ добавляет строку в конец списка и возвращает еe номер.

AddObject(S,O:TObject):Integer ‑ добавляет строку и объект в конец списка.

AddStrings(Strings:TString) ‑ добавляет новый список Strings в конец списка

Assign(Source:Tpersistent) ‑ уничтожает старый и загружает новый список.

BeginUpdate ‑ устанавливает флаг начала обновления для запрета сортировки.

Clear ‑ очистка списка с освобождением памяти.

Delete(N) ‑ удаление N‑го элемента из списка и освобождение памяти.

EndUpdate ‑ сбрасывает флаг начала обновления и сортирует список.

Exchange(N1,N2) ‑ меняются местами значения под номерами N1 и N2.

Find(S, Var N) ‑ возвращает номер строки S в параметре N.

GetText ‑ объединяет все строки с одну строку.

IndexOf(S):Integer ‑ возвращает номер строки или -1, если ее нет.

IndexOfObject(AObject:TObject):Integer ‑ возвращает номер объекта или -1, если его нет.

Insert(N,S) ‑ вставляет строку в позицию N.

InsertObject(N,S,Aobject) ‑ вставляет строку и объект в позицию N.

Move(N1,N2) ‑ перемещает строку с позиции N1 в позицию N2.

SetText(T:PCHar) ‑ разгружает строки в единый массив.

Графика

Графические возможности реализуются инструментами: шрифтом, пером, кистью и канвой (холст, поверхность для рисования) и исполь­зуются для рисования на форме и в графических компонентах.

Шрифт (TFont)

Свойства

Color:Tcolor ‑ цвет шрифта.

Pithc ‑ расположение букв в тексте: fpFixed (одинаковая ширина букв), fpVariabel (переменная), fpDefault.

Height, Name ‑ высота в пикселях и имя шрифта (MS Sans Serif).

Size ‑ высота букв в пунктах (1/72 дюйма).

Style ‑ стиль шрифта, комбинация констант: fsBold (жирный), fsItalic (курсив), fsUnderline (подчеркнутый), fsStrikeOut (перечеркнутый).

Процедурой Assign(S:Tpersistent) свойства объекта S устанав­ливаются равными свойствам текущего шрифта.

Перо (TPen)

Компонент служит для вычерчивания линий.

Свойства

Mode ‑ способ взаимодействия линий с фоном: pmBlack (черные), pmWhite (белые), pmNop (линии не видны), pmNot (инверсия цвета фона), pmCopy (цвет пера), pmNotCopy (инверсия цвета пера), pmMergePenNot (комби­нация цвета пера и инверсного цвета фона), pmMaskPenNot (комбинация общих цветов пера и инверсного цвета фона), pmMergeNotPen (ком­би­нация инверсного цвета пера и фона), pmMaskNotPen (комбинация общих цветов инверсного цвета пера и фона), PmMerge (комбинация цветов пера и фона), PmNotMerge (инверсия цветов пера и фона), pmMask (общие цвета пера и фона), pmNotMask (инверсия общих цветов пера и фона), pmXor (объединение цветов пера и фона операцией Xor), pmNotXor (инверсия объединения цветов пера и фона операцией Xor).

Style ‑ стиль линий: psSolid (сплошная), psDash (пунктирная), psDot (из то­чек), psDashDot (штрих‑пунктирная), psDahDotDot (штрих‑дважды‑пунк­тир­­­ная), psClear (очистка, цвета фона), psInsideFrame (разделитель фреймов).

Width ‑ ширина линии в пикселях.

Кисть (TBrush)

Компонент служит для заполнения поверхности замкнутых фигур.

Свойства

Bitmap:TBitmap ‑ растровое изображение.

Color:TColor ‑ цвет кисти.

Style ‑ стиль кисти: bsSolid (сплошная), bsClear (очищает), bsBDiadonal (/), bsFDiagonal (\), bsCross (#), bsDiagCross (диагональные клетки), bsHorizontal (‑), bsVertical (|).

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...