Рефераты. Конвертирование исходного текста программ для станков с ЧПУ из одной системы программирования в друг...

begin

  Form2.ShowModal;

end;




procedure TForm1.Toolbutton9Click(Sender: TObject); // Кнопка найти и заменить

begin

  ReplaceDialog1.Execute;

end;



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) - 1 ;

      Memo1.SelLength:= Length(ReplaceDialog1.FindText);

      Memo1.SelText:= ReplaceDialog1.ReplaceText;

      goto 10;

    end;

  Memo1.HideSelection:= false;

end;



procedure TForm1.memo1KeyDown(Sender: TObject; var Key: Word;

  Shift: TShiftState);

begin

  Panel1.Caption:= IntToStr(Memo1.Lines.Count);

end;



procedure TForm1.ToolButton5Click(Sender: TObject); // Кнопка в верхний регистр

begin

  Memo1.Text:= UpperCase(Memo1.Text);

end;




procedure TForm1.ToolButton8Click(Sender: TObject);

begin

  Form5.Visible:= true;

end;




end.

Файл Unit2.pas


unit Unit2;


interface


uses

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

  Dialogs, StdCtrls, ComCtrls, ExtCtrls;


type

  TForm2 = class(TForm)

    PereschotProg: TGroupBox;

    PC_MAYAK: TRadioButton;

    Ne_obrabatyvat: TRadioButton;

    PC_VM: TRadioButton;

    VM_MAYAK: TRadioButton;

    MAYAK_VM: TRadioButton;

    Button1: TButton;

    Mayk223mp: TRadioButton;

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

    procedure FormActivate(Sender: TObject);

    procedure Button1Click(Sender: TObject);


  private

    { Private declarations }

  public

    { Public declarations }

  end;


var

  Form2: TForm2;


implementation


uses Unit1;


{$R *.dfm}



procedure Sostoyanie_perekluchateley;

begin

  if Form2.Ne_obrabatyvat.Checked then

    Form1.PanelSostoyaniya.Panels[0].Text:= st + Form2.Ne_obrabatyvat.Caption

  else

    if Form2.PC_MAYAK.Checked then

      Form1.PanelSostoyaniya.Panels[0].Text:= st + Form2.PC_MAYAK.Caption

  else

    if Form2.PC_VM.Checked then

      Form1.PanelSostoyaniya.Panels[0].Text:= st + Form2.PC_VM.Caption

  else

    if Form2.VM_MAYAK.Checked then

      Form1.PanelSostoyaniya.Panels[0].Text:= st + Form2.VM_MAYAK.Caption

  else

    if Form2.MAYAK_VM.Checked then

      Form1.PanelSostoyaniya.Panels[0].Text:= st + Form2.MAYAK_VM.Caption

  else

    if Form2.Mayk223mp.Checked then

      Form1.PanelSostoyaniya.Panels[0].Text:= st + Form2.Mayk223mp.Caption;

end;




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

begin

  Sostoyanie_perekluchateley;

  If Mayk223mp.Checked then

    begin

      Form2.Close;

    end;

end;


procedure TForm2.FormActivate(Sender: TObject);

begin

  Sostoyanie_perekluchateley;

end;


procedure TForm2.Button1Click(Sender: TObject);

begin

  Sostoyanie_perekluchateley;

  Form2.Close;

end;


end.


Файл Unit5.pas

unit Unit5;


interface


uses

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

  Dialogs, ExtCtrls, StdCtrls;


type

  TForm5 = class(TForm)

    GroupBox1: TGroupBox;

    RadioButton1: TRadioButton;

    Edit1: TEdit;

    Label1: TLabel;

    ButtonObpabotka: TButton;

    ButtonNastroyka: TButton;

    procedure FormActivate(Sender: TObject);

    procedure ButtonObpabotkaClick(Sender: TObject);

    procedure ButtonNastroykaClick(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;


var

  Form5: TForm5;


implementation


uses unit1, unit6;



{$R *.dfm}




procedure TForm5.FormActivate(Sender: TObject);

begin

  Form5.Caption:= Application.Title;

end;


procedure TForm5.ButtonObpabotkaClick(Sender: TObject);

var

  stroka, stroka1: TStrings;

  Name_File, kol_v_stroka: integer;

  chast, chot, ObshiySchot: integer;

  st, name: WideString;

begin

  stroka:= TStringList.Create();

  stroka1:= TStringList.Create();

  chot:= 0;  Name_File:= 1; chast:= 0;

  chast:= StrToInt(Edit1.Text) * 955;

  kol_v_stroka:= 0;

  ObshiySchot:= 0;

  stroka1.Text:= Form1.memo1.Text;

  repeat

    try

      st:= stroka1.Strings[ObshiySchot];

    except

      on EStringListError do

        begin

          Stroka.Free;

          stroka1.Free;

          Form1.memo1.Text:= ' Ошибка в редакторе: Возможно в поле редактирования пусто или одни пробелы';

          Form5.Close;

          Exit;

        end;

    end;

    if chot <= chast then

      begin

        stroka.Insert(kol_v_stroka, st);

        Inc(chot, Length(st));                  //  Увеличиваем на длину строки

        Inc(kol_v_stroka);

        Inc(ObshiySchot);

      end

    else

      begin

        name:= Concat('E:\Наладчик\Пров\', IntToStr(Name_File), '.txt');

        stroka.SaveToFile(name);

        stroka.Clear;

        chot:= 0;

        kol_v_stroka:= 0;

        Name_File:= Succ(Name_File);

      end;

    if (stroka1.Count = ObshiySchot) and (Length(stroka.Text) <> 0) then

      begin

        name:= Concat('E:\Наладчик\Пров\', IntToStr(Name_File), '.txt');

        stroka.SaveToFile(name);

      end;

  until stroka1.Count = ObshiySchot;

  stroka.Free;

  stroka1.Free;

  Form5.Close;

  ShowMessage(' Обработка завершена ');

end;


procedure TForm5.ButtonNastroykaClick(Sender: TObject);

var

  NameF: WideString;

begin

  Form6.Visible:= true;

end;


end.

Файл Unit6.pas

unit Unit6;


interface


uses

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

  Dialogs, ExtCtrls, StdCtrls, Registry, FileCtrl;


type

  TForm6 = class(TForm)

    Panel1: TPanel;

    Memo1: TMemo;

    ButtonRedEndFile: TButton;

    ButtonRedPapku: TButton;

    Label1: TLabel;

    SaveDialog1: TSaveDialog;

    procedure FormActivate(Sender: TObject);

    procedure ButtonRedPapkuClick(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;


var

  Form6: TForm6;

  RegIni: TRegistry;


implementation


uses unit1;


{$R *.dfm}


procedure TForm6.FormActivate(Sender: TObject);

begin

  Form6.Caption:= Application.Title;

  RegIni:= TRegistry.Create;

  RegIni.RootKey:= HKEY_LOCAL_MACHINE;

  RegIni.OpenKey('Software\Naladchik', false);

  Label1.Caption:= RegIni.ReadString('pach');

  RegIni.CloseKey;

  RegIni.Free;

end;


procedure TForm6.ButtonRedPapkuClick(Sender: TObject);

begin

  if SaveDialog1.Execute then

    begin

      Label1.Caption:= SaveDialog1.FileName;

      RegIni:= TRegistry.Create;

      RegIni.RootKey:= HKEY_LOCAL_MACHINE;

      RegIni.OpenKey('Software\Naladchik', true);

      RegIni.CreateKey('a');

      RegIni.WriteString('pach', SaveDialog1.FileName);

      RegIni.CloseKey;

      RegIni.Free;

    end;

end;


end.


































ПРИЛОЖЕНИЕ 2

РЕЗУЛЬТАТЫ РАБОТЫ ПРОГРАММЫ

Главное окно программы

При запуске программы, появляется главное окно, представленное на рис.П.2.1.

                                                      Рис.П. 2.1

При нажатии кнопки «Открыть», открывается диалоговое окно выбора файла рис. П.2.2.

 







Рис.П.2.2

Выбираем обработку рис.П.2.3. и  нажимаем «Закрыть»

                               Рис.П.2.3


Нажимаем кнопку «Обработка» рис.П.2.4.

Рис.П.2.4

Всё программа полностью обработана заданным методом обработки



ПРИЛОЖЕНИЕ 3        

РУКОВОДСТВО ПРОГРАММИСТА

3.1. Назначение программы

         Программа «Наладчик» предназначена для конвертирования исходного текста программ для станков с ЧПУ. И предназначена для использования на производстве в различных областях.

         Программа позволяет:

–        конвертировать программный текст в любою из доступных программе систем;

–        удалять лишние пробелы;

–        удалять пустые строки;

–        устанавливать периодическую нумерацию кадров;

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.