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

ММХ (ммх.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

загрузка...
Cпец Хакер #075Cпец Хакер #074Cпец Хакер #073Cпец Хакер #072Cпец Хакер #071Cпец Хакер #070Cпец Хакер #069Cпец Хакер #068Cпец Хакер #067Cпец Хакер #066Cпец Хакер #065Cпец Хакер #064Cпец Хакер #063Cпец Хакер #062Cпец Хакер #061Cпец Хакер #060Cпец Хакер #059Cпец Хакер #058Cпец Хакер #057Cпец Хакер #056Cпец Хакер #055Cпец Хакер #054Cпец Хакер #053Cпец Хакер #052Cпец Хакер #051Cпец Хакер #050Cпец Хакер #049Cпец Хакер #048Cпец Хакер #047Cпец Хакер #046Cпец Хакер #045Cпец Хакер #044Cпец Хакер #043Cпец Хакер #042Cпец Хакер #041Cпец Хакер #040Cпец Хакер #039Cпец Хакер #038Cпец Хакер #037Cпец Хакер #036Cпец Хакер #035Cпец Хакер #034Cпец Хакер #033Cпец Хакер #032Cпец Хакер #031Cпец Хакер #030Cпец Хакер #029Cпец Хакер #028Cпец Хакер #027Cпец Хакер #026Cпец Хакер #025Cпец Хакер #024Cпец Хакер #023Cпец Хакер #022Cпец Хакер #021Cпец Хакер #020Cпец Хакер #019Cпец Хакер #018Cпец Хакер #017Cпец Хакер #016Cпец Хакер #015Cпец Хакер #014Cпец Хакер #013Cпец Хакер #012Cпец Хакер #011Cпец Хакер #010Cпец Хакер #009Cпец Хакер #008Cпец Хакер #007Cпец Хакер #006Cпец Хакер #005Cпец Хакер #004Cпец Хакер #003Cпец Хакер #002Cпец Хакер #001