Создадим редактор, в котором можно создавать, просматривать, сохранять текстовые файлы, изменять шрифт и цвет символов, искать нужное слово.
Разместите на форме компонент Memo и MainMenu с соответствующими пунктами: Файл/(Создать, Открыть, Сохранить, Выход), Формат/(Шрифт, Цвет), Правка/(Найти, Заменить), и панель состояния StatusBar
Файл/Создать
procedure TForm1.New1Click(Sender: TObject);
Begin
memo1.clear;
StatusBar1.SimpleText:=’’;
end ;
Файл/Открыть
procedure TForm1.Open1Click(Sender: TObject);
Begin
OpenDialog1.Filter:='Текстовые файлы|*.txt';
If OpenDialog1.Execute then
memo1.Lines.LoadFromFile(OpenDialog1.FileName);
StatusBar1.SimpleText:=OpenDialog1.FileName;
end ;
Файл/Сохранить
procedure TForm1.Save1Click(Sender: TObject);
Begin
If SaveDialog1.Execute then
if SaveDialog1.FileName<>'' then
Memo1.Lines.SaveToFile(SaveDialog1.FileName)
end ;
Файл/Выход
procedure TForm1.Exit1Click(Sender: TObject);
Begin
If CloseQuery then Form1.Close;
end ;
Формат/Шрифт
procedure TForm1.Font1Click(Sender: TObject);
Begin
If fontDialog1.Execute then
Memo1.Font:=Fontdialog1.Font;
end ;
Формат/Цвет
procedure TForm1.Color1Click(Sender: TObject);
Begin
if ColorDialog1.Execute then
Memo1.Color:=colorDialog1.Color;
end ;
Процедура на пункт меню Правка/Найти
procedure TForm1.Find1Click(Sender: TObject);
Begin
FindDialog1.Execute;
end ;
Процедура на компонент FindDialog
procedure TForm1.FindDialog1Find(Sender: TObject);
Begin
If Pos(FindDialog1.FindText, Memo1.Text)<>0 then
begin
Memo1.HideSelection:=False;
Memo1.SelStart:=Pos(FindDialog1.FindText, Memo1.Text)-1;
Memo1.SelLength:=Length(FindDialog1.FindText);
end
else
MessageDlg ('Строка '+FindDialog1.FindText+' не найдена',mtConfirmation,[mbYes],0);
end ;
Процедура на пункт меню Правка/Заменить
procedure TForm1.Replace1Click(Sender: TObject);
Begin
ReplaceDialog1.Execute;
end ;
Процедура на компонент ReplaceDialog
procedure TForm1.ReplaceDialog1Replace(Sender: TObject);
Label 10;
Begin
Memo1.HideSelection:=True;
10:
If Pos(ReplaceDialog1.FindText, Memo1.Text)<>0 then
begin
Memo1.Selstart:=Pos(Replacedialog1.FindText, Memo1.Text);
Memo1.SelLength:=Length(Replacedialog1.FindText);
Memo1.Seltext:=Replacedialog1.ReplaceText;
Goto 10;
end ;
Memo1.HideSelection:=false;
end ;
end .