ЖУРНАЛ ХАКЕР

Текстовый редактор на Дельфи, или снова текстовый редактор

ММХ (ммх.mail.md)

Спецвыпуск Хакер, номер #004, стр. 004-092-1


Начали

Запускаем Дельфю, видим все ту же форму, Object Inspector и всякие менюхи. Так как мы люди умные, с нуля писать не будем. Основная фишка Дельфей как раз в том, что человек умный (и, следовательно, ленивый), проявив некоторую находчивость, может за пару движений правой рукой (в смысле грызуна туда-сюда по коврику протащив) получить уже практически готовую программку.

Приступим. Меню File (что означает "напильник" - если кто не знал, можете в словаре проверить). Там, если как следует напрячь извилину, можно сообразить, что надо жать New... После этого знаменательного действа получаем окошко, в коем видим закладки со всяческими заготовочками. Нам нужна закладка Projects, а там SDI Application.

Выбираем, даблклик и вот перед собой видим уже имеющий некоторые знакомые формы (нет-нет, просто квадратный и с кнопками как настоящее приложение) проект. Сразу же можно в Object Inspector'е найти пункт под названием Caption и поменять его в соответствии со своим извращенным вкусом. Звиняй, у меня на название фантазии не хватило.

Теперь сотворим из этого чуда почти настоящий редактор. Для этого лезем в панель инструментов Standard (обычно она включена по умолчанию, а если у кого ручонки слишком шаловливые, то это, в общем-то, не совсем плохо, но...), там ищем кнопень Memo. Она выглядит как большой piece of..., не как sheet of paper, вот. Давим на нее всем весом крысиного указателя, а потом растягиваем (извини, если вдруг тебя словом этим огорчил) в свободной области формы. Размер не важен - сейчас произойдет чудо. В Object Inspector'е, как водится, появились ее, фигулины этой то есть, свойства. Среди них есть несколько подлежащих незамедлительному изменению. Первое - это Align (не AlignMENT - до органов правопорядка нам сейчас дела нет, а просто Align). Легким кликом исправляем его значение с alNone на alClient. Что, понравилось? Как настоящий. Следующая жертва безжалостного мышекликанья - это параметр Lines. Сейчас там загадочный (TStrings) и многозначительное многоточие. Много... тьфу, просто кликаем на многоточие и злобно удаляем там все, что можно. А можно удалить глупую строчку "Memo1". И напоследок - параметр ScrollBars, его выставляем в ssBoth, чтобы обскроллиться можно было. Теперь у нас должно было накликаться нечто в этом роде.

И чудесным образом закончили

Теперь - святая святых. Будем писать код, то есть оставим на минутку в покое грызуна и набьем пару слов на клаве. Собственно, что осталось сделать - это научить наш редактор грузить и сохранять. Начнем с первого.

Ловкий даблклик по кнопке с заманчивой картинкой "типа лоад" - и мы в описании процедуры, то есть того, что это кнопка делает. Там написано OpenDialog.Execute. Исправляем это на следующий текст:

if OpenDialog.Execute then

Memo1.Lines.LoadFromFile(OpenDialog.FileName);

Идея этого фрагмента в том, что уж если OpenDialog сработал, а OpenDialog - это всем знакомое окошко открытия файла или загадочная пиктограммка с открытой папкой в правом верхнем углу нашей формы (так его Дельфя обозначает), то надо из файла читать то, что надо, а имя файла - это и есть FileName, а файл - это напильник... Но мы отвлеклись. Теперь сделаем практически аналогичную вещь для сохранения. Даблклик по кнопе с дискетой отправит нас туда, где написано SaveDialog.Execute. Исправляем на:

Содержание  Вперед на стр. 004-092-2