Пример использования компонента TNMUUProcessor

   
На этом шаге мы рассмотрим пример использования компонента TNMUUProcessor.

   
Создаем новое приложение Delphi и помещаем на форму два поля редактирования для указания в них имен
входных и выходных файлов, две командных кнопки, два групповых окна, в которые добавляем по две радиокнопки и
компоненты ТOpenDialog и TNMUUProcessor. При нажатии на кнопку с надписью Выбрать,
будет загружаться диалоговое окно выбора входного файла для кодирования или декодирования. Кнопка Выполнить
будет выполнять нужную операцию над файлом, ту, которая выбрана в соответствующей радиокнопке.


Рис.1. Внешний вид приложения

   
Другая группа радиокнопок задает один из двух возможных алгоритмов кодирования. Обработчик события
OnClick кнопки Выполнить приводится ниже. В этом обработчике создаются два потока - входной и выходной,
затем в соответствии с выбором радиокнопок задается алгоритм кодирования и вызывается либо метод кодирования,
либо декодирования. После этого потоки освобождаются.

procedure TForm1.Button2Click(Sender: TObject);
//Кнопка "Выполнить"
var
  InStream,
  OutStream: TFileStream;
begin
  InStream := TFileStream.Create(Edit1.Text, fmOpenRead);
  OutStream := TFileStream.Create(Edit2.Text, fmCreate);
  try
   If RadioGroup2.ItemIndex=1 then
       NMUUProcessor1.Method := uuMIME
   else
       NMUUProcessor1.Method := uuCode;
   NMUUProcessor1.InputStream := InStream;
   NMUUProcessor1.OutputStream := OutStream;
   If RadioGroup1.ItemIndex=0 then
       NMUUProcessor1.Encode
   else
       NMUUProcessor1.Decode;
  finally
    InStream.Free;
    OutStream.Free;
  end;
end;

   
Приведем текст приложения:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, NMUUE, ComCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Button1: TButton;
    Label2: TLabel;
    Edit2: TEdit;
    RadioGroup1: TRadioGroup;
    RadioGroup2: TRadioGroup;
    Button2: TButton;
    NMUUProcessor1: TNMUUProcessor;
    OpenDialog1: TOpenDialog;
    StatusBar1: TStatusBar;
    procedure Button2Click(Sender: TObject);
    procedure NMUUProcessor1BeginDecode(Sender: TObject);
    procedure NMUUProcessor1BeginEncode(Sender: TObject);
    procedure NMUUProcessor1EndDecode(Sender: TObject);
    procedure NMUUProcessor1EndEncode(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
//Кнопка "Выполнить"
var
  InStream,
  OutStream: TFileStream;
begin
  InStream := TFileStream.Create(Edit1.Text, fmOpenRead);
  OutStream := TFileStream.Create(Edit2.Text, fmCreate);
  try
   If RadioGroup2.ItemIndex=1 then
       NMUUProcessor1.Method := uuMIME
   else
       NMUUProcessor1.Method := uuCode;
   NMUUProcessor1.InputStream := InStream;
   NMUUProcessor1.OutputStream := OutStream;
   If RadioGroup1.ItemIndex=0 then
       NMUUProcessor1.Encode
   else
       NMUUProcessor1.Decode;
  finally
    InStream.Free;
    OutStream.Free;
  end;
end;

procedure TForm1.NMUUProcessor1BeginDecode(Sender: TObject);
begin
  StatusBar1.SimpleText := 'Декодируем файл';
end;

procedure TForm1.NMUUProcessor1BeginEncode(Sender: TObject);
begin
  StatusBar1.SimpleText := 'Кодируем файл';
end;

procedure TForm1.NMUUProcessor1EndDecode(Sender: TObject);
begin
  StatusBar1.SimpleText := 'Декодирование закончено';
end;

procedure TForm1.NMUUProcessor1EndEncode(Sender: TObject);
begin
  StatusBar1.SimpleText := 'Кодирование закончено';
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  If OpenDialog1.Execute then
    Edit1.Text := OpenDialog1.FileName;
end;

end.

Текст этого приложения можно взять здесь.

   
На следующем шаге мы рассмотрим компонент TProwersock.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий