- •Опис компонентів Delphi, використаних при розробці проекту Компонент MainMenu
- •Компонент RichEdit
- •Компонент ToolBar
- •Компонент ToolButton
- •Компонент Splitter
- •Компонент StatusBar
- •Компонент PopupMenu
- •Компонент Image
- •Компонент ImageList
- •Компонент FontDialog
- •Компонент FindDialog (ReplaceDialog)
- •Компонент PrintDialig (PrintSetupDialog)
- •Компонент OpenDialog (SaveDialog)
- •Компонент PageSetupDialog
- •Компонент Label
- •Компонент ColorDialog
- •Компонент Timer
- •Опис програми-додатку Список дій користувача
- •Структура програми – додатку
- •Опис графічного інтерфейсу програми-додатку
- •Інструментальна панель
- •Гарячі клавіші
- •Підказки
- •Рядок стану
- •Висновок
- •Перелік використаної літератури
- •Додатки Текст програмного коду
- •Вигляд вікон програми - додатку в процесі проектування
- •Вигляд вікон програми- додатку в працюючому вигляді
Інструментальна панель
Для створення панелі інструментів використав компонент 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.