Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Розробка програми, динамічно підсвічує ключові слова з завантажуваного користувачем словника

Реферат Розробка програми, динамічно підсвічує ключові слова з завантажуваного користувачем словника





, EM_SCROLLCARET, 0, 0);;


При установці SelLength доводиться читати поточне положення курсору (перше повідомлення - EM_EXGETSEL), змінювати значення кінця виділення (cpMax: = cpMin + Value) і знову встановлювати курсор туди ж (друге повідомлення - EM_EXSETSEL), але з виділенням тексту. При цьому компонент знову перемалюю зображення, що б стало видно виділення. І, нарешті, третє повідомлення EM_SCROLLCARET змушує компонент призвести прокрутку зображення так, щоб курсор стало видно. p align="justify"> Метод FindText шукає рядок-зразок в зазначеному діапазоні тексту.

Метод повертає номер позиції шуканого зразка в тексті (від початку тексту, з 0), якщо зразок не знайдений, то повертає -1 (мінус один).

З перегляду вихідних текстів Unit з бібліотеки компонентів Delphi випливає, що TRichEdit успадковує метод FindText від свого найближчого предка TCustomRichEdit.

З файлу RTL WIN richedit.pas опис типу


type = record: Longint;

cpMax: LongInt;;


Цей тип потрібен для передачі кордонів тієї частини тексту, всередині якої буде проводитись пошук. Для Windows межі тексту вказується так, cpMin - перший символ, з якого починається пошук, аcpMax - останній символ, до якого проводиться пошук. br/>

TFindText = TFindTextA; = record: TCharRange;: PAnsiChar;;


Поле lpstrText це покажчик на null-terminated рядок (PAnsiChar звичайна PChar).

З файлу VCL comctrls.pas


TSearchType = (stWholeWord, stMatchCase);

TSearchTypes = set of TSearchType;

Даний тип визначає, яким чином має відбуватися пошук. Якщо встановлений stMatchCase, то при пошуку необхідно враховувати регістр букв (великі чи маленькі). Якщо встановлений stWholeWord, то необхідно, щоб знайдена послідовність була обмежена роздільниками (наприклад, пробілами). У OSR2rus це називається "тільки слово цілком", хоча слів може бути декілька. br/>

TCustomRichEdit = class (TCustomMemo) FindText (const SearchStr: string; StartPos, Length: Integer; Options: TSearchTypes): Integer;


Це описова частина класу і далі в розділі реалізації:


function TCustomRichEdit.FindText (const SearchStr: string; StartPos, Length: Integer; Options: TSearchTypes): Integer;: TFindText;: Integer; Find.chrg do: = StartPos;: = cpMin + Length ;;: = 0; stWholeWord in Options then Flags: = Flags or FT_WHOLEWORD; stMatchCase in Options then Flags: = Flags or FT_MATCHCASE;. lpstrText: = PChar (SearchStr);: = SendMessage (Handle, EM_FINDTEXT, Flags, LongInt (@ Find));

end;

Спочатку встановлюються межі діапазону пошуку, причому замість довжини використовується номер остан...


Назад | сторінка 5 з 11 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Розробка програми для підрахунку хеш-суми файлу і тексту з графічним інтерф ...
  • Реферат на тему: Прямий пошук без обмежень. Метод пошуку Хука-Дживса для функції Розенброка ...
  • Реферат на тему: Практика виділення ключових знаків журналістського тексту
  • Реферат на тему: Розробка програми перекладу введеного рядка тексту в послідовність кодів аб ...
  • Реферат на тему: Пошук і аналіз успішних комбінацій (метод ПАВУК)