Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пояснювальна записка.doc
Скачиваний:
8
Добавлен:
06.12.2018
Размер:
1.72 Mб
Скачать

Інструментальна панель

Для створення панелі інструментів використав компонент ToolBar, який містить швидкі кнопки із зображеннями, що дублюють основні команди головного меню. Цей компонент розташований на закладці Win32. Створив набір зображень за допомогою компонента ImageList. Зв’язав компонент ToolBar із списком зображень ImageList за допомогою властивості Images. Клацнув правою кнопкою на компоненті ToolBar і вибрав NewButton(створиться кнопка на яку автоматично перенесеться зображення з ImageList.

Створити новий документ;

Відкрити документ;

Зберегти;

Зберегти як…;

Друк…;

Вихід

Відмінити;

Вирізати;

Копіювати;

Вставити;

Видалити;

Виділити все;

Пошук;

Заміна;

Жирний шрифт;

Курсив;

Підкреслений;

Вирівнювання по лівому краю;

Вирівнювання по центру;

Вирівнювання по правому краю;

Шрифт;

Заливка тексту;

Заливка фону;

Про програму.

Гарячі клавіші

Гарячі клавіші задав за допомогою властивості ShortCut для відповідного компонента.

Підказки

Для створення підказок натиснув на відповідному компоненті і для властивості ShowHint встановив значення в true. Задав відповідний текст підказки у властивості Hint.

Рядок стану

Для створення рядку стану використав компонент StatusBar, який може складатися з декількох панелів. Властивість SimplePanel визначає чи рядок стану складається з однієї панелі чи з декількох, true – 1панель, текст для панелі задається властивістю SimpleText.

Висновок

Під час виконання курсової роботи була проаналізована задача розробки програми, а також була розроблена сама програма – Текстовий редактор. Було здійснено розробку алгоритму роботи і структуру програми-додатку. Програма Текстовий редактор була розроблена на мові програмування  Delphi 7. В розробленому текстовому редакторі досить зручний і простий інтерфейс, що буде приємним для роботи іншим користувачам. В ньому розроблені самі необхідні функціональні можливості (дії), декілька з них – це створення, зберігання, відкриття, редагування, пошук текстового документа, тощо.

Також для полегшення роботи ,було створено підказки, так звані Hint-и, вони допоможуть користувачеві при необхідності дізнатись, для чого певне меню програми призначене. Створено для кожного меню програми - гарячі клавіші, вони зручні тим, що заставляють програму виконувати певні дії практично моментально (копіювання, вставка, виділення та ін.).

Перелік використаної літератури

1. Ковалюк Т.В. Основи програмування. – К.: Видавнича група BHV, 2005.

2. С.І. Бобровський. Delphi7.Навчальний курс.

3. Фленов М. Е. Библия Delphi. — СПб.: БХВ-Петербург, 2004;

4. Артем Зубов «Программирование на DELPHI»

Додатки Текст програмного коду

Головна форма

unit Text_Editor;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, StdCtrls, ComCtrls, ToolWin, ImgList, ExtCtrls, QRPrntr;

type

TForm1 = class(TForm)

MainMenu1: TMainMenu;

Fayl: TMenuItem;

Stvorutu: TMenuItem;

Vidkrutu: TMenuItem;

Zberegtu: TMenuItem;

Zberegtu_yak: TMenuItem;

Liniya1: TMenuItem;

Nalashtyvannya_dryky: TMenuItem;

Pravka: TMenuItem;

Vidminutu: TMenuItem;

Vurizatu: TMenuItem;

Kopiyuvatu: TMenuItem;

Vstavutu: TMenuItem;

Vudalutu: TMenuItem;

Vudilutu_vse: TMenuItem;

Liniya2: TMenuItem;

Poshyk: TMenuItem;

Poshyk_dali: TMenuItem;

Zamina: TMenuItem;

Dryk: TMenuItem;

Parametru_storinku: TMenuItem;

Shruft: TMenuItem;

Vurivnyuvannya: TMenuItem;

Po_livomy_krayu: TMenuItem;

Po_centry: TMenuItem;

Po_pravomy_krayu: TMenuItem;

FontDialog1: TFontDialog;

Zaluvka: TMenuItem;

Zaluvka_teksty: TMenuItem;

Zaluvka_fony: TMenuItem;

Marker: TMenuItem;

Vkl: TMenuItem;

Vukl: TMenuItem;

Dovidka: TMenuItem;

Pro_programy: TMenuItem;

Panel_instrym: TToolBar;

StvorButton: TToolButton;

VidkrButton: TToolButton;

ZberButton: TToolButton;

ZberegButton: TToolButton;

DrykButton: TToolButton;

RichEdit1: TRichEdit;

ImageList1: TImageList;

PopupMenu1: TPopupMenu;

Vidmin: TMenuItem;

Liniya3: TMenuItem;

Vuriz: TMenuItem;

Kopiyuv: TMenuItem;

Vstavka: TMenuItem;

Vudal: TMenuItem;

Liniya4: TMenuItem;

Vudil_v: TMenuItem;

Liniya5: TMenuItem;

Shruf: TMenuItem;

OpenDialog1: TOpenDialog;

SaveDialog1: TSaveDialog;

PrintDialog1: TPrintDialog;

StatusBar1: TStatusBar;

Timer1: TTimer;

ColorDialog1: TColorDialog;

FindDialog1: TFindDialog;

Zaluvk: TMenuItem;

Zaluvk_text: TMenuItem;

Zaluvk_fony: TMenuItem;

Mark: TMenuItem;

Marker_vkl: TMenuItem;

Marker_vukl: TMenuItem;

PrinterSetupDialog1: TPrinterSetupDialog;

Vuhid: TMenuItem;

ReplaceDialog1: TReplaceDialog;

PageSetupDialog1: TPageSetupDialog;

VuhidButton: TToolButton;

VidminButton: TToolButton;

VurizButton: TToolButton;

KopiButton: TToolButton;

VstavButton: TToolButton;

VudalButton: TToolButton;

VudilButton: TToolButton;

PoshykButton: TToolButton;

ZaminButton: TToolButton;

ShyrnButton: TToolButton;

KyrsButton: TToolButton;

Image1: TImage;

Splitter1: TSplitter;

Splitter2: TSplitter;

Splitter3: TSplitter;

Splitter4: TSplitter;

Splitter5: TSplitter;

Splitter6: TSplitter;

Splitter7: TSplitter;

Splitter8: TSplitter;

Splitter9: TSplitter;

Splitter10: TSplitter;

Splitter11: TSplitter;

Splitter12: TSplitter;

Splitter13: TSplitter;

PidkresButton: TToolButton;

PolivButton: TToolButton;

PocentrButton: TToolButton;

PopravButton: TToolButton;

Splitter16: TSplitter;

Splitter18: TSplitter;

Splitter19: TSplitter;

ShruftButton: TToolButton;

Splitter20: TSplitter;

CtextButton: TToolButton;

CfonButton: TToolButton;

Rozr1Button: TToolButton;

Rozr2Button: TToolButton;

Rozr3Button: TToolButton;

Rozr4Button: TToolButton;

Splitter14: TSplitter;

Splitter17: TSplitter;

Splitter21: TSplitter;

ProButton: TToolButton;

Format: TMenuItem;

procedure ShruftClick(Sender: TObject);

procedure Po_centryClick(Sender: TObject);

procedure Po_pravomy_krayuClick(Sender: TObject);

procedure Po_livomy_krayuClick(Sender: TObject);

procedure VklClick(Sender: TObject);

procedure VuklClick(Sender: TObject);

procedure Pro_programyClick(Sender: TObject);

procedure VuhidButtonClick(Sender: TObject);

procedure StvorutuClick(Sender: TObject);

procedure VidkrutuClick(Sender: TObject);

procedure ZberegtuClick(Sender: TObject);

procedure Zberegtu_yakClick(Sender: TObject);

procedure Timer1Timer(Sender: TObject);

procedure Zaluvka_fonyClick(Sender: TObject);

procedure Zaluvka_tekstyClick(Sender: TObject);

procedure VidminutuClick(Sender: TObject);

procedure KopiyuvatuClick(Sender: TObject);

procedure VstavutuClick(Sender: TObject);

procedure VurizatuClick(Sender: TObject);

procedure Vudilutu_vseClick(Sender: TObject);

procedure VudalutuClick(Sender: TObject);

procedure PoshykClick(Sender: TObject);

procedure VidminClick(Sender: TObject);

procedure VurizClick(Sender: TObject);

procedure KopiyuvClick(Sender: TObject);

procedure VstavkaClick(Sender: TObject);

procedure Vudil_vClick(Sender: TObject);

procedure ShrufClick(Sender: TObject);

procedure Zaluvk_textClick(Sender: TObject);

procedure Zaluvk_fonyClick(Sender: TObject);

procedure Marker_vklClick(Sender: TObject);

procedure Marker_vuklClick(Sender: TObject);

procedure VuhidClick(Sender: TObject);

procedure Nalashtyvannya_drykyClick(Sender: TObject);

procedure Parametru_storinkuClick(Sender: TObject);

procedure VurizButtonClick(Sender: TObject);

procedure DrykClick(Sender: TObject);

procedure RichEdit1Change(Sender: TObject);

procedure FindDialog1Find(Sender: TObject);

procedure ReplaceDialog1Find(Sender: TObject);

procedure ZaminaClick(Sender: TObject);

procedure ReplaceDialog1Replace(Sender: TObject);

procedure Poshyk_daliClick(Sender: TObject);

procedure StvorButtonClick(Sender: TObject);

procedure VidkrButtonClick(Sender: TObject);

procedure ZberButtonClick(Sender: TObject);

procedure ZberegButtonClick(Sender: TObject);

procedure DrykButtonClick(Sender: TObject);

procedure VidminButtonClick(Sender: TObject);

procedure KopiButtonClick(Sender: TObject);

procedure VstavButtonClick(Sender: TObject);

procedure VudalButtonClick(Sender: TObject);

procedure VudilButtonClick(Sender: TObject);

procedure PoshykButtonClick(Sender: TObject);

procedure ZaminButtonClick(Sender: TObject);

procedure ShruftButtonClick(Sender: TObject);

procedure PolivButtonClick(Sender: TObject);

procedure PocentrButtonClick(Sender: TObject);

procedure PopravButtonClick(Sender: TObject);

procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);

procedure CtextButtonClick(Sender: TObject);

procedure CfonButtonClick(Sender: TObject);

procedure ProButtonClick(Sender: TObject);

procedure VudalClick(Sender: TObject);

procedure KyrsButtonClick(Sender: TObject);

procedure ShyrnButtonClick(Sender: TObject);

procedure PidkresButtonClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

var OpenFile: string = ' ';

Change : boolean;

implementation

uses Pro_prog;

{$R *.dfm}

procedure TForm1.ShruftClick(Sender: TObject);

begin

if FontDialog1.Execute then

with RichEdit1.SelAttributes do

begin

Color:=FontDialog1.Font.Color;

Name:=FontDialog1.Font.Name;

Size:=FontDialog1.Font.Size;

Style:=FontDialog1.Font.Style;

end;

RichEdit1.SetFocus; //Фокус введення вікна, направляючи в нього весь ввід з клавіатури.

end;

procedure TForm1.Po_centryClick(Sender: TObject);

begin

RichEdit1.Paragraph.Alignment:=taCenter; //Вирівнювання тексту по центру.

end;

procedure TForm1.Po_pravomy_krayuClick(Sender: TObject);

begin

RichEdit1.Paragraph.Alignment:=taRightJustify; //Вирівнювання тексту по правому краю.

end;

procedure TForm1.Po_livomy_krayuClick(Sender: TObject);

begin

RichEdit1.Paragraph.Alignment:=taLeftJustify; //Вирівнювання тексту по лівому краю.

end;

procedure TForm1.VklClick(Sender: TObject);

begin

RichEdit1.Paragraph.Numbering:=nsBullet;

Form1.Vkl.Checked:=true;

Form1.Vukl.Checked:=false;

end;

procedure TForm1.VuklClick(Sender: TObject);

begin

RichEdit1.Paragraph.Numbering:=nsNone;

Form1.Vukl.Checked:=true;

Form1.Vkl.Checked:=false;

end;

procedure TForm1.Pro_programyClick(Sender: TObject);

begin

Form2.Showmodal; // відкриття форми 2.

end;

procedure TForm1.VuhidButtonClick(Sender: TObject);

begin

Form1.Close; // Закрити форми 1.

end;

procedure TForm1.StvorutuClick(Sender: TObject); //Створення нового текстового документа.

begin

if RichEdit1.Modified = true then

begin

case Application.MessageBox('Документ був змінений. Зберегти?', 'Текстовий редактор',MB_YESNOCANCEL + MB_ICONQUESTION) of

IDYES:

begin

Zberegtu_yak.Click;

if RichEdit1.Modified = false then

begin

RichEdit1.Clear;

OpenFile:=' ';

Form1.Caption:='Текстовий редактор';

RichEdit1.Modified:= false;

end;

end;

IDNO:

begin

RichEdit1.Clear;

OpenFile:=' ';

Form1.Caption:='Текстовий редактор';

RichEdit1.Modified:= false;

end;

end;

end

else

begin

RichEdit1.Clear;

OpenFile:='';

Form1.Caption:='Текстовий редактор';

RichEdit1.Modified:= false;

StatusBar1.Panels.Items[1].Text := 'Не змінений';

end;

end;

procedure TForm1.VidkrutuClick(Sender: TObject); //Відкрити файл

begin

if RichEdit1.Modified = true then

begin

case Application.MessageBox('Документ був змінений. Зберегти?', 'Текстовий редактор', MB_YESNOCANCEL + MB_ICONQUESTION) of

IDYES:

begin

Zberegtu_yak.Click;

if RichEdit1.Modified = false then

if OpenDialog1.Execute then

begin

RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName);

OpenFile:=OpenDialog1.FileName;

Form1.Caption:='Текстовий редактор - '+ExtractFileName(OpenFile);

RichEdit1.Modified:= false;

end;

end;

IDNO:

begin

if OpenDialog1.Execute then

begin

RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName);

OpenFile:=OpenDialog1.FileName;

Form1.Caption:='Текстовий редактор - '+ExtractFileName(OpenFile);

RichEdit1.Modified:= false;

end;

end;

end;

end

else

if OpenDialog1.Execute then

begin

RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName);

OpenFile:=OpenDialog1.FileName;

Form1.Caption:='Текстовий редактор - '+ExtractFileName(OpenFile);

RichEdit1.Modified:= false;

StatusBar1.Panels.Items[1].Text := 'Не змінений';

end;

end;

procedure TForm1.ZberegtuClick(Sender: TObject); // Зберегти документ

begin

if OpenFile <> '' then

begin

RichEdit1.Lines.SaveToFile(OpenFile);

RichEdit1.Modified:= false;

end

else

Zberegtu_yak.Click;

StatusBar1.Panels.Items[1].Text := 'Не змінений';

end;

procedure TForm1.Zberegtu_yakClick(Sender: TObject);

begin

case SaveDialog1.FilterIndex of

1: SaveDialog1.DefaultExt:='txt';

end;

if SaveDialog1.Execute then

begin

RichEdit1.Lines.SaveToFile(SaveDialog1.FileName);

OpenFile:=SaveDialog1.FileName;

Form1.Caption:='Текстовий редактор - '+ExtractFileName(OpenFile);

RichEdit1.Modified:= false;

StatusBar1.Panels.Items[1].Text := 'Не змінений';

end;

end;

procedure TForm1.Timer1Timer(Sender: TObject);

begin

StatusBar1.Panels[2].Text:='Дата: '+DateToStr(date);

StatusBar1.Panels[3].Text:='Час: '+TimeToStr(Time);

end;

procedure TForm1.Zaluvka_fonyClick(Sender: TObject); // Заливка фону.

begin

if ColorDialog1.Execute then

Form1.RichEdit1.Color := ColorDialog1.Color;

end;

procedure TForm1.Zaluvka_tekstyClick(Sender: TObject); // Заливка тексту.

begin

ColorDialog1.Execute;

Form1.RichEdit1.SelAttributes.Color:=ColorDialog1.Color;

end;

procedure TForm1.VidminutuClick(Sender: TObject); //Відмінити

begin

RichEdit1.Undo;

end;

procedure TForm1.KopiyuvatuClick(Sender: TObject); // Копіювати

begin

Richedit1.CopyToClipboard;

end;

procedure TForm1.VstavutuClick(Sender: TObject); //Вставити

begin

Richedit1.PasteFromClipboard;

end;

procedure TForm1.VurizatuClick(Sender: TObject); //Вирізати

begin

Richedit1.CutToClipboard;

end;

procedure TForm1.Vudilutu_vseClick(Sender: TObject); //Виділити все

begin

Richedit1.SelectAll;

end;

procedure TForm1.VudalutuClick(Sender: TObject); //Видалити

begin

RichEdit1.ClearSelection;

end;

procedure TForm1.PoshykClick(Sender: TObject); /Пошук

begin

FindDialog1.Execute;

end;

procedure TForm1.VidminClick(Sender: TObject);

begin

RichEdit1.Undo;

end;

procedure TForm1.VurizClick(Sender: TObject);

begin

Richedit1.CutToClipboard;

end;

procedure TForm1.KopiyuvClick(Sender: TObject);

begin

Richedit1.CopyToClipboard;

end;

procedure TForm1.VstavkaClick(Sender: TObject);

begin

Richedit1.PasteFromClipboard;

end;

procedure TForm1.Vudil_vClick(Sender: TObject);

begin

RichEdit1.ClearSelection;

end;

procedure TForm1.ShrufClick(Sender: TObject);

begin

if FontDialog1.Execute then

with RichEdit1.SelAttributes do

begin

Color:=FontDialog1.Font.Color;

Name:=FontDialog1.Font.Name;

Size:=FontDialog1.Font.Size;

Style:=FontDialog1.Font.Style;

end;

RichEdit1.SetFocus;

end;

procedure TForm1.Zaluvk_textClick(Sender: TObject);

begin

ColorDialog1.Execute;

Form1.RichEdit1.SelAttributes.Color:=ColorDialog1.Color;

end;

procedure TForm1.Zaluvk_fonyClick(Sender: TObject);

begin

if ColorDialog1.Execute then

Form1.RichEdit1.Color := ColorDialog1.Color;

end;

procedure TForm1.Marker_vklClick(Sender: TObject);

begin

RichEdit1.Paragraph.Numbering:=nsBullet;

Form1.Vkl.Checked:=true;

Form1.Vukl.Checked:=false;

end;

procedure TForm1.Marker_vuklClick(Sender: TObject);

begin

RichEdit1.Paragraph.Numbering:=nsNone;

Form1.Vukl.Checked:=true;

Form1.Vkl.Checked:=false;

end;

procedure TForm1.VuhidClick(Sender: TObject); //Вихід з програми

begin

Form1.Close;

end;

procedure TForm1.Nalashtyvannya_drykyClick(Sender: TObject); //Налаштування друку

begin

PrinterSetupDialog1.Execute;

end;

procedure TForm1.Parametru_storinkuClick(Sender: TObject); // Параметри сторінки

begin

PageSetupDialog1.Execute;

end;

procedure TForm1.VurizButtonClick(Sender: TObject);

begin

Richedit1.CutToClipboard;

end;

procedure TForm1.DrykClick(Sender: TObject);

begin

RichEdit1.Print('txt, rtf');

end;

procedure TForm1.RichEdit1Change(Sender: TObject);

var

X, Y : integer;

begin

Change := True;

StatusBar1.Panels.Items[1].Text := 'Змінений';

Y := SendMessage(RichEdit1.Handle,EM_LINEFROMCHAR,RichEdit1.SelStart,0);

X := RichEdit1.SelStart -SendMessage(RichEdit1.Handle,EM_LINEINDEX, Y, 0) ;

StatusBar1.Panels.Items[0].Text := IntToStr(Y + 1) + ':' + IntToStr(X + 1);

if RichEdit1.Text='' then //Якщо RichEdit пустий, то кнопка Відмінити не активна

Vidminutu.Enabled:=false

else // кнопка Відмінити стає активною

Vidminutu.Enabled:=true;

if RichEdit1.Text='' then

Vurizatu.Enabled:=false

else

Vurizatu.Enabled:=true;

if RichEdit1.Text='' then

Vudalutu.Enabled:=false

else

Vudalutu.Enabled:=true;

if RichEdit1.Text='' then

Kopiyuvatu.Enabled:=false

else

Kopiyuvatu.Enabled:=true;

if RichEdit1.Text='' then

Poshyk.Enabled:=false

else

Poshyk.Enabled:=true;

if RichEdit1.Text='' then

Poshyk_dali.Enabled:=false

else

Poshyk_dali.Enabled:=true;

if RichEdit1.Text='' then

Vidmin.Enabled:=false

else

Vidmin.Enabled:=true;

if RichEdit1.Text='' then

Vuriz.Enabled:=false

else

Vuriz.Enabled:=true;

if RichEdit1.Text='' then

Kopiyuv.Enabled:=false

else

Kopiyuv.Enabled:=true;

if RichEdit1.Text='' then

Vudal.Enabled:=false

else

Vudal.Enabled:=true;

if RichEdit1.Text='' then

Vudil_v.Enabled:=false

else

Vudil_v.Enabled:=true;

end;

procedure TForm1.FindDialog1Find(Sender: TObject);

var

FTPos:Integer;

IText,FText:String;

begin

RichEdit1.SetFocus;

if not (frMatchCase in FindDialog1.Options) then

FText:=AnsiLowerCase(FindDialog1.FindText) else

FText:=FindDialog1.FindText;

if frDown in FindDialog1.Options then

begin

IText:=copy(RichEdit1.Text,RichEdit1.SelStart+RichEdit1.SelLength+1,Length(RichEdit1.Text));

if not (frMatchCase in FindDialog1.Options) then IText:=AnsiLowerCase(IText);

FTPos:=pos(FText,IText);

if FTPos=0 then Exit;

FTPos:=FTPos+RichEdit1.SelStart+RichEdit1.SelLength;

RichEdit1.SelStart:=FTPos-1;RichEdit1.SelLength:=Length(FText);

end else

begin

IText:=copy(RichEdit1.Text,0,RichEdit1.SelStart);

if not (frMatchCase in FindDialog1.Options) then IText:=AnsiLowerCase(IText);

for FTPos:=length(IText)-length(FText) downto 1 do

if copy(IText,FTPos,length(FText))=FText then

begin

RichEdit1.SelStart:=FTPos-1;RichEdit1.SelLength:=Length(FText);

Exit;

end;

end;

end;

procedure TForm1.ReplaceDialog1Find(Sender: TObject);

begin

FindDialog1.Options:=ReplaceDialog1.Options;

FindDialog1.FindText:=ReplaceDialog1.FindText;

FindDialog1Find(Sender);

end;

procedure TForm1.ZaminaClick(Sender: TObject);

begin

ReplaceDialog1.Execute;

end;

procedure TForm1.ReplaceDialog1Replace(Sender: TObject);

begin

FindDialog1.Options:=ReplaceDialog1.Options;

FindDialog1.FindText:=ReplaceDialog1.FindText;

with Sender as TReplaceDialog do

while True do

begin

if RichEdit1.SelText <> FindText then FindDialog1Find(Sender);

if RichEdit1.SelLength = 0 then Break;

RichEdit1.SelText := ReplaceText;

if not (frReplaceAll in Options) then Break;

end;

end;

procedure TForm1.Poshyk_daliClick(Sender: TObject);

begin

FindDialog1Find(Sender);

end;

procedure TForm1.StvorButtonClick(Sender: TObject);

begin

if RichEdit1.Modified = true then

begin

case Application.MessageBox(''Документ був змінений. Зберегти?', 'Текстовий редактор'',MB_YESNOCANCEL + MB_ICONQUESTION) of

IDYES:

begin

Zberegtu_yak.Click;

if RichEdit1.Modified = false then

begin

RichEdit1.Clear;

OpenFile:='';

Form1.Caption:='Текстовий редактор';

RichEdit1.Modified:= false;

end;

end;

IDNO:

begin

RichEdit1.Clear;

OpenFile:='';

Form1.Caption:='Текстовий редактор';

RichEdit1.Modified:= false;

end;

end;

end

else

begin

RichEdit1.Clear;

OpenFile:='';

Form1.Caption:='Текстовий редактор';

RichEdit1.Modified:= false;

StatusBar1.Panels.Items[1].Text := 'Не змінений';

end;

end;

procedure TForm1.VidkrButtonClick(Sender: TObject);

begin

if RichEdit1.Modified = true then

begin

case Application.MessageBox('Документ 'Документ був змінений. Зберегти?', 'Текстовий редактор',MB_YESNOCANCEL + MB_ICONQUESTION) of

IDYES:

begin

Zberegtu_yak.Click;

if RichEdit1.Modified = false then

if OpenDialog1.Execute then

begin

RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName);

OpenFile:=OpenDialog1.FileName;

Form1.Caption:='Текстовий редактор - '+ExtractFileName(OpenFile);

RichEdit1.Modified:= false;

end;

end;

IDNO:

begin

if OpenDialog1.Execute then

begin

RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName);

OpenFile:=OpenDialog1.FileName;

Form1.Caption:='Текстовий редактор - '+ExtractFileName(OpenFile);

RichEdit1.Modified:= false;

end;

end;

end;

end

else

if OpenDialog1.Execute then

begin

RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName);

OpenFile:=OpenDialog1.FileName;

Form1.Caption:='Текстовий редактор - '+ExtractFileName(OpenFile);

RichEdit1.Modified:= false;

StatusBar1.Panels.Items[1].Text := 'Не змінений';

end;

end;

procedure TForm1.ZberButtonClick(Sender: TObject);

begin

if OpenFile <> '' then

begin

RichEdit1.Lines.SaveToFile(OpenFile);

RichEdit1.Modified:= false;

end

else

Zberegtu_yak.Click;

StatusBar1.Panels.Items[1].Text := 'Не змінений';

end;

procedure TForm1.ZberegButtonClick(Sender: TObject);

begin

case SaveDialog1.FilterIndex of

1: SaveDialog1.DefaultExt:='txt';

end;

if SaveDialog1.Execute then

begin

RichEdit1.Lines.SaveToFile(SaveDialog1.FileName);

OpenFile:=SaveDialog1.FileName;

Form1.Caption:='Текстовий редактор - '+ExtractFileName(OpenFile);

RichEdit1.Modified:= false;

StatusBar1.Panels.Items[1].Text := 'Не змінений';

end;

end;

procedure TForm1.DrykButtonClick(Sender: TObject);

begin

RichEdit1.Print('txt,rtf');

end;

procedure TForm1.VidminButtonClick(Sender: TObject);

begin

RichEdit1.Undo;

end;

procedure TForm1.KopiButtonClick(Sender: TObject);

begin

Richedit1.CopyToClipboard;

end;

procedure TForm1.VstavButtonClick(Sender: TObject);

begin

Richedit1.PasteFromClipboard;

end;

procedure TForm1.VudalButtonClick(Sender: TObject);

begin

RichEdit1.ClearSelection;

end;

procedure TForm1.VudilButtonClick(Sender: TObject);

begin

Richedit1.SelectAll;

end;

procedure TForm1.PoshykButtonClick(Sender: TObject);

begin

FindDialog1.Execute;

end;

procedure TForm1.ZaminButtonClick(Sender: TObject);

begin

ReplaceDialog1.Execute;

end;

procedure TForm1.ShruftButtonClick(Sender: TObject);

begin

if FontDialog1.Execute then

with RichEdit1.SelAttributes do

begin

Color:=FontDialog1.Font.Color;

Name:=FontDialog1.Font.Name;

Size:=FontDialog1.Font.Size;

Style:=FontDialog1.Font.Style;

end;

RichEdit1.SetFocus;

end;

procedure TForm1.PolivButtonClick(Sender: TObject);

begin

RichEdit1.Paragraph.Alignment:=taLeftJustify;

end;

procedure TForm1.PocentrButtonClick(Sender: TObject);

begin

RichEdit1.Paragraph.Alignment:=taCenter;

end;

procedure TForm1.PopravButtonClick(Sender: TObject);

begin

RichEdit1.Paragraph.Alignment:=taRightJustify;

end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);

begin

if RichEdit1.Modified = true then

begin

case Application.MessageBox('Документ був змінений. Зберегти?', 'Текстовий редактор',MB_YESNOCANCEL + MB_ICONQUESTION) of

IDCANCEL: Abort;

IDYES:

begin

Zberegtu.Click;

if RichEdit1.Modified = true then

CanClose:=false;

end;

end;

end;

end;

procedure TForm1.CtextButtonClick(Sender: TObject);

begin

ColorDialog1.Execute;

Form1.RichEdit1.SelAttributes.Color:=ColorDialog1.Color;

end;

procedure TForm1.CfonButtonClick(Sender: TObject);

begin

if ColorDialog1.Execute then

Form1.RichEdit1.Color := ColorDialog1.Color;

end;

procedure TForm1.ProButtonClick(Sender: TObject);

begin

Form2.ShowModal;

end;

procedure TForm1.VudalClick(Sender: TObject);

begin

RichEdit1.ClearSelection;

end;

procedure TForm1.KyrsButtonClick(Sender: TObject);

begin

Richedit1.SelAttributes.Style := [fsitalic];

end;

procedure TForm1.ShyrnButtonClick(Sender: TObject);

begin

Richedit1.SelAttributes.Style := [fsbold];

end;

procedure TForm1.PidkresButtonClick(Sender: TObject);

begin

Richedit1.SelAttributes.Style := [fsunderline];

end;

end.