Пятница, 31.07.2026, 18:34
Учись хакать с малу!
Главная | Каталог статей | Регистрация | Вход
Меню сайта
Категории каталога
Мои статьи [8]
Мини-чат
500
Наш опрос
Оцените мой сайт
Всего ответов: 19
Главная » Статьи » Мои статьи

Текстовый редактор часть 2
Краткое содержание первой серии: некто MadCoder рассказал широкой общественности о том, как можно легко написать простейший текстовый редактор на Delphi. Так как получившийся редактор имел меньше возможностей, чем Блокнот, MadCoder обещал в следующей статье улучшить его. Как это сделать, он (т.е. я :) сейчас и расскажет.

 Итак, сегодня мы научим наш редактор работать с буфером обмена, а также изменять параметры шрифта. 
Для начала добавим новый пункт меню -"Правка". Потом в этот пункт добавьте подпункты:"Вырезать", "Копировать", "Вставить","Выделить всё". Теперь добавьте разделяющую черту (как это сделать читайте в первой части статьи), под ней создайте ещё один пункт -"Шрифт..." 
Когда подготовка закончена, можно приступать к программированию. Для пункта "Вырезать" создадим такой обработчик (Прим.: Вместо NXClick у вас будет что-то типа N12Click): 
procedure TForm1.NXClick(Sender: TObject); 
begin 
Memo1.CutToClipBoard; //Вырезаем выделенный текст в буфер обмена 
end; 
Теперь мы можем вырезать текст из редактора в буфер обмена. Для копирования нужно создать такой обработчик для пункта "Копировать": 
procedure TForm1.NXClick(Sender: TObject); 
begin 
Memo1.CopyToClipBoard; // Копируем текст в буфер обмена 
end; 
Как вы уже догадались теперь нам нужно научиться вставлять текст из буфера. Поэтому смело кликаем два раза по пункту "Вставить" и пишем обработчик: 
procedure TForm1.NXClick(Sender: TObject); 
begin 
Memo1.PasteFromClipBoard; // Вставляем текст из буфера обмена 
end; 
Последняя функция работы с буфером обмена - "Выделить всё": 
procedure TForm1.NXClick(Sender: TObject); 
begin 
Memo1.SelectAll; // Выделяем весь текст 
end; 
Так с буфером обмена закончили. Можете нажать F9 и посмотреть на результат. Как видите в Dephi очень просто работать с буфером. Но у нас на повестке дня ещё один пункт меню -"Шрифт...". Вот это уже чуть - чуть посложнее (хотя что я плету, на самом деле это ещё проще :). 
С помощью этого пункта, пользователь сможет выбрать каким шрифтом наш редактор будет писать. Таким образом, если ему не понравиться шрифт, который мы в прошлой статье поставили по умолчанию, то он легко поменяет его. 
Итак, приступим. При выборе этого пункта у нас должен появиться диалог выбора шрифта и настройки его свойств. Поэтому переходим на закладку Dialogs и ищем там компонент FontDialog. Добавляем его на форму. 
В свойстве Font, этого компонента можете задать шрифт по умолчанию, как мы делали это для компонента Memo. После этого содаём обработчик для пункта "Шрифт...": 
procedure TForm1.NXClick(Sender: TObject); 
begin 
If FontDialog1.Execute Then // Запускаем диалог выбора шрифта 
Memo1.Font:=FontDialog1.Font; // Применяем выбранный шрифт
end; 
Готово! Теперь наш простейший редактор умеет довольно много. Но всё это было очень легко, мы создали лишь"костяк" для будущей довольно мощной программы. Поэтому в следующих статья я расскажу, как добавить функцию поиска, замены слов, вставку даты/времени, возможность работы с разными кодировками и возможно даже функцию проверки орфографии. Интересно? Тогда ждите следующей статьи.


Категория: Мои статьи | Добавил: razhackay (13.11.2008)
Просмотров: 717 | Комментарии: 2 | Рейтинг: 5.0/1 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск
Друзья сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Copyright MyCorp © 2026 Используются технологии uCoz