2015-05-14 22:35:07 +03:00
|
|
|
|
{$apptype windows}
|
|
|
|
|
|
{$reference 'System.Windows.Forms.dll'}
|
|
|
|
|
|
{$reference 'System.Drawing.dll'}
|
|
|
|
|
|
{$resource 'Open.png'}
|
|
|
|
|
|
{$resource 'Save.png'}
|
|
|
|
|
|
|
|
|
|
|
|
uses System.Windows.Forms;
|
|
|
|
|
|
|
|
|
|
|
|
const
|
|
|
|
|
|
TextFileExt = 'txt';
|
2015-12-28 14:25:15 +03:00
|
|
|
|
TextFileFilter = 'Текстовые файлы (*.'+TextFileExt+')|*.'+TextFileExt;
|
2015-05-14 22:35:07 +03:00
|
|
|
|
|
|
|
|
|
|
var
|
|
|
|
|
|
myForm: Form;
|
|
|
|
|
|
TextBox1: TextBox;
|
|
|
|
|
|
|
|
|
|
|
|
procedure SaveFile(FileName: string);
|
|
|
|
|
|
begin
|
2015-12-28 14:25:15 +03:00
|
|
|
|
//Создаем файловый поток с кодировкой Windows 1251, необходимо для корректного сохранения русских букв
|
2015-05-14 22:35:07 +03:00
|
|
|
|
var f := new System.IO.StreamWriter(FileName, false, System.Text.Encoding.Default);
|
|
|
|
|
|
f.Write(TextBox1.Text);
|
|
|
|
|
|
f.Close;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure OpenFile(FileName: string);
|
|
|
|
|
|
begin
|
2015-12-28 14:25:15 +03:00
|
|
|
|
//Создаем файловый поток с кодировкой Windows 1251, необходимо для корректного чтения русских букв
|
2015-05-14 22:35:07 +03:00
|
|
|
|
var f := new System.IO.StreamReader(FileName, System.Text.Encoding.Default);
|
|
|
|
|
|
TextBox1.Text := f.ReadToEnd;
|
|
|
|
|
|
f.Close;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure FormClose(sender: object; args: System.EventArgs);
|
|
|
|
|
|
begin
|
|
|
|
|
|
myForm.Close;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure MenuSaveClick(sender:object; args:System.EventArgs);
|
|
|
|
|
|
begin
|
2015-12-28 14:25:15 +03:00
|
|
|
|
//Диалог для выбора файла
|
2015-05-14 22:35:07 +03:00
|
|
|
|
var sd := new SaveFileDialog;
|
2015-12-28 14:25:15 +03:00
|
|
|
|
//Расширение поумолчанию
|
2015-05-14 22:35:07 +03:00
|
|
|
|
sd.DefaultExt := TextFileExt;
|
2015-12-28 14:25:15 +03:00
|
|
|
|
//Фильтр для диалга
|
2015-05-14 22:35:07 +03:00
|
|
|
|
sd.Filter := TextFileFilter;
|
|
|
|
|
|
if sd.ShowDialog=DialogResult.OK then
|
2015-12-28 14:25:15 +03:00
|
|
|
|
//если результат выполнения sd.ShowDialog это нажатие кнопки подтверждения то
|
2015-05-14 22:35:07 +03:00
|
|
|
|
SaveFile(sd.FileName);
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure MenuOpenClick(sender:object; args:System.EventArgs);
|
|
|
|
|
|
begin
|
|
|
|
|
|
var sd := new OpenFileDialog;
|
|
|
|
|
|
sd.DefaultExt := TextFileExt;
|
|
|
|
|
|
sd.Filter := TextFileFilter;
|
|
|
|
|
|
if sd.ShowDialog = DialogResult.OK then
|
|
|
|
|
|
OpenFile(sd.FileName);
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
begin
|
|
|
|
|
|
myForm := new Form;
|
2015-12-28 14:25:15 +03:00
|
|
|
|
myForm.Text := 'Простой текстовый редактор';
|
2015-05-14 22:35:07 +03:00
|
|
|
|
|
|
|
|
|
|
TextBox1 := new TextBox;
|
|
|
|
|
|
TextBox1.Multiline := True;
|
|
|
|
|
|
TextBox1.Height := 100;
|
|
|
|
|
|
TextBox1.Dock := DockStyle.Fill;
|
2015-12-28 14:25:15 +03:00
|
|
|
|
//Полосы прокрутки
|
2015-05-14 22:35:07 +03:00
|
|
|
|
TextBox1.ScrollBars := ScrollBars.Both;
|
2015-12-28 14:25:15 +03:00
|
|
|
|
//Устанавливаем шрифт
|
2015-05-14 22:35:07 +03:00
|
|
|
|
TextBox1.Font := new System.Drawing.Font('Courier New',10);
|
|
|
|
|
|
|
|
|
|
|
|
myForm.Controls.Add(TextBox1);
|
|
|
|
|
|
|
2015-12-28 14:25:15 +03:00
|
|
|
|
//Создаем меню
|
2015-05-14 22:35:07 +03:00
|
|
|
|
var toolStrip1 := new ToolStrip;
|
|
|
|
|
|
toolStrip1.GripStyle := System.Windows.Forms.ToolStripGripStyle.Hidden;
|
2015-12-28 14:25:15 +03:00
|
|
|
|
var miFile := new ToolStripMenuItem('Файл');
|
|
|
|
|
|
miFile.DropDownItems.Add(new ToolStripMenuItem('Открыть', new System.Drawing.Bitmap(GetResourceStream('Open.png')),MenuOpenClick));
|
|
|
|
|
|
miFile.DropDownItems.Add(new ToolStripMenuItem('Сохранить как...',new System.Drawing.Bitmap(GetResourceStream('Save.png')),MenuSaveClick));
|
|
|
|
|
|
miFile.DropDownItems.Add(new ToolStripMenuItem('Выход',nil,FormClose));
|
2015-05-14 22:35:07 +03:00
|
|
|
|
toolStrip1.Items.Add(miFile);
|
|
|
|
|
|
myForm.Controls.Add(toolStrip1);
|
|
|
|
|
|
|
2015-12-28 14:25:15 +03:00
|
|
|
|
//Посмотрим в аргументы командной строки
|
|
|
|
|
|
//Если их количество = 1, то открываем
|
2015-05-14 22:35:07 +03:00
|
|
|
|
if CommandLineArgs.Length = 1 then
|
|
|
|
|
|
OpenFile(CommandLineArgs[0]);
|
|
|
|
|
|
|
|
|
|
|
|
Application.Run(myForm);
|
|
|
|
|
|
end.
|