ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Організація функції ПОШУК в Tmemo
         

     

    Інформатика, програмування

    Організація функції ПОШУК в TMemo

    ватажків Сергій

    Представлений нижче код я використовував при написанні текстового редактора. Все ніби працює.

    Отже, на формі повинні бути TMemo (Editor), TFindDialog (FindDialog) і TButton (Button).

    Спочатку напишемо обробник натискання на кнопку:

    procedure TForm1.ButtonClick (Sender: TObject);

    begin

    FindDialog.Execute;// Відкриття діалогу Пошук

    end;

    У властивостях дилогії повинні бути True опції frHideWholeWord (сховати в діалозі вибір прапорця "Лише слово цілком"), frHideMatchCase (сховати в діалозі вибір прапорця "З урахуванням регістру") і frDown (по-замовчуванням напрямок пошуку вниз), всі інші опції повинні бути False.

    У Editor властивість HideSelection повинно бути False.

    Тепер напишемо обраобтчік на натискання кнопки Знайти далі у діалозі Пошук.

    Повинні бути описані наступні змінні і мітки:

    var

    SelPos, X, i: integer;

    s, textE: string;

    label 1;

    Для початку подивимося, в якому напрямку потрібно шукати і відповідно виберемо текст у якому треба шукати:

    if frDown in FindDialog.Options

    then Editor.SelStart: = Editor.SelStart + Editor.SelLength;// це для "пошук далі"

    textE: = Editor.Text;

    X: = Editor.SelStart 1;

    if frDown in FindDialog.Options

    then

    textE: = Copy (textE, X, Length (textE)-X +1)

    else

    textE: = Copy (textE, 0, X-1);

    s: = FindDialog.FindText; //Змінної s присвоюється рядок, який потрібно знайти

    Тепер напишемо код власне пошуку:

    if frDown in FindDialog.Options

    then

    (код пошуку вниз)

    begin

    SelPos: = Pos (s, textE);

    if SelPos> 0

    then

    begin

    Editor.SelStart: = SelPos + X - 2;

    Editor.SelLength: = length (s);

    end

    else ShowMessage (pchar ( 'Текст "' + FindDialog.FindText + ' "не знайдено .'));

    end

    else

    (код пошуку вгору)

    begin

    for i: = length (textE)-length (s) downto 1 do

    if copy (textE, i, length (s)) = s

    then

    begin

    Editor.SelStart: = i-1;

    Editor.SelLength: = Length (s);

    goto 1;

    end;

    ShowMessage (pchar ( 'Текст "' + FindDialog.FindText + ' "не знайдено .'));

    1:

    end;

    Якщо рядок знайдена, то вона виділяється, якщо ні, то видається відпо повідомлення.

    Увага! Забороняється передрук цієї статті або її частини без узгодження з автором. Якщо ви хочете розмістити цю статтю на своєму сайті або видати в друкованому вигляді, зв'яжіться з автором.

    Список літератури

    Для підготовки даної роботи були використані матеріали з сайту http://andrey.nnov.ru/

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status