PDA

Просмотр полной версии : Редактор BAT файлов с подвеской синтаксиса


RenatPro
09.10.2013, 11:42
Редактор BAT файлов с подвеской синтаксиса:

Оцените пожалуйста!
Если кому то понравится выложу исходный код!

Изменение:
#Поправил кодировку!

[Ссылки могут видеть только зарегистрированные и активированные пользователи]

Dinmaite И не надо удалять! если тебе не нужно не значит, что другим не понадобится.
Можно было просто перенести в эту тему.


var
Form1: TForm1;
namebat: string;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.MenuItem2Click(Sender: TObject);
begin
if SaveDialog1.Execute then
begin
SynMemo1.Text := UTF8ToAnsi(SynMemo1.Text);
SynMemo1.Lines.SaveToFile(SaveDialog1.FileName);
SynMemo1.Text := AnsiToUtf8(SynMemo1.Text);
namebat := SaveDialog1.FileName;
end
else;

end;

procedure TForm1.FormShow(Sender: TObject);
begin
namebat := '0';
end;


procedure TForm1.MenuItem3Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
SynMemo1.Lines.LoadFromFile(OpenDialog1.FileName);
SynMemo1.Text := AnsiToUtf8(SynMemo1.Text);
namebat := OpenDialog1.FileName;
end
else
SynMemo1.Text := AnsiToUtf8(SynMemo1.Text);
SynMemo1.Text := UTF8ToAnsi(SynMemo1.Text);
end;


procedure TForm1.MenuItem5Click(Sender: TObject);
begin
SynMemo1.Clear;
SynMemo1.Lines.Add('@echo off');
SynMemo1.Lines.Add('color 1a');
SynMemo1.Lines.Add('chcp 1251');
SynMemo1.Lines.Add('TITLE Проект');
SynMemo1.Lines.Add('');
SynMemo1.Lines.Add(':: Тут ваш код!');
SynMemo1.Lines.Add('');
SynMemo1.Lines.Add('echo Привет мир!');
SynMemo1.Lines.Add('Pause');
namebat := '0';

end;

procedure TForm1.MenuItem8Click(Sender: TObject);
begin
SynMemo1.PasteFromClipboard; //вставка
end;

procedure TForm1.MenuItem9Click(Sender: TObject);
begin
SynMemo1.CopyToClipboard; //копировать
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
if namebat <> '0' then
begin
SynMemo1.Text := UTF8ToAnsi(SynMemo1.Text);
SynMemo1.Lines.SaveToFile(namebat);
SynMemo1.Text := AnsiToUtf8(SynMemo1.Text);
end;

if namebat = '0' then

if SaveDialog1.Execute then
begin
SynMemo1.Text := UTF8ToAnsi(SynMemo1.Text);
SynMemo1.Lines.SaveToFile(SaveDialog1.FileName);
SynMemo1.Text := AnsiToUtf8(SynMemo1.Text);
namebat := SaveDialog1.FileName;
end
else;
end;

procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
if namebat <> '0' then
begin
SynMemo1.Text := UTF8ToAnsi(SynMemo1.Text);
SynMemo1.Lines.SaveToFile(namebat);
SynMemo1.Text := AnsiToUtf8(SynMemo1.Text);
Process1.CommandLine := PChar(UTF8ToSys(namebat));
Process1.Execute;
end;
if namebat = '0' then

if SaveDialog1.Execute then
begin
SynMemo1.Text := UTF8ToAnsi(SynMemo1.Text);
SynMemo1.Lines.SaveToFile(SaveDialog1.FileName);
SynMemo1.Text := AnsiToUtf8(SynMemo1.Text);
namebat := SaveDialog1.FileName;
Process1.CommandLine := PChar(UTF8ToSys(namebat));
Process1.Execute;
end
else;
end;

procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
SynMemo1.Clear;
SynMemo1.Lines.Add('@echo off');
SynMemo1.Lines.Add(':: Цвет');
SynMemo1.Lines.Add('color 1a');
SynMemo1.Lines.Add(':: Кодировка');
SynMemo1.Lines.Add('chcp 1251');
SynMemo1.Lines.Add('Название');
SynMemo1.Lines.Add('TITLE Проект');
//SynMemo1.Lines.Add('');
SynMemo1.Lines.Add('');
SynMemo1.Lines.Add(':: Тут ваш код!');
SynMemo1.Lines.Add('echo Привет мир!');
SynMemo1.Lines.Add('');
SynMemo1.Lines.Add('Pause');
namebat := '0';
end;

procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
SynMemo1.Lines.LoadFromFile(OpenDialog1.FileName);
SynMemo1.Text := AnsiToUtf8(SynMemo1.Text);
namebat := OpenDialog1.FileName;
end
else
SynMemo1.Text := AnsiToUtf8(SynMemo1.Text);
SynMemo1.Text := UTF8ToAnsi(SynMemo1.Text);

end;

procedure TForm1.SpeedButton5Click(Sender: TObject);
begin
SynMemo1.redo; // повтор действия
end;

procedure TForm1.SpeedButton6Click(Sender: TObject);
begin
SynMemo1.Undo; // отмена действия
end;

end.

Рэйзор
09.10.2013, 15:37
оценил по скрину: SynEdit + 5 кнопок (иконки Fugue Icons) + 15 строк кода /kidding

RenatPro
09.10.2013, 16:40
оценил по скрину: SynEdit + 5 кнопок (иконки Fugue Icons) + 15 строк кода /kidding

Время время)))

Рэйзор
09.10.2013, 18:02
Время время)))

ну а судя по тому, что иконки не кривые - используется еще и AlphaControls.

Итог: 5 минутное бесполезное поделие с использованием кучи сторонних библиотек вместо собственного кода, и непонятно зачем все это лежит в этом разделе.

RenatPro
09.10.2013, 20:22
ну а судя по тому, что иконки не кривые - используется еще и AlphaControls.

Итог: 5 минутное бесполезное поделие с использованием кучи сторонних библиотек вместо собственного кода, и непонятно зачем все это лежит в этом разделе.

Кину код хоть постыдите и научите правильно писать программы!)) Описание требуется?)
Писал программу в пару строчек с процедурами не заморачивался легче было скопировать вставить добавить кнопку)
А да ни одного стороннего компонента! И есть Лицензия на программу GNU General Public License!

Можно посмотреть твои работы для обучения?