All pastes #275861 Raw Edit

CriptDecript

public text v1 · immutable
·published 2006-12-11 21:09 UTC
rendered paste body
unit U_CriptDecript;

interface

uses
  Forms, Math, StdCtrls, Controls, Classes;

type
  TMainWindow = class(TForm)
    Label1: TLabel;
    Cript_Input_Edit: TEdit;
    Label2: TLabel;
    Decript_Input_Edit: TEdit;
    Cript_Output_Edit: TEdit;
    Label3: TLabel;
    Label4: TLabel;
    Decript_Output_Edit: TEdit;
    procedure Cript_Input_EditChange(Sender: TObject);
    procedure Decript_Input_EditChange(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  MainWindow: TMainWindow;

implementation

{$R *.dfm}

procedure CriptDecript(cript: boolean; input: string; var texto: string);
var
  i, x: integer;
begin
  for i := 1 to Length(input) do
  begin
    x := Trunc(1*Power(i, 5) + 5*Power(i, 4) + 1*Power(i, 3) + 2*Power(i, 2)
                + 7*Power(i, 1) + 1);
    if (cript) then
      texto := texto + Char((x + Ord(input[i])) mod 256)
    else
      texto := texto + Char(Ord(input[i]) - x);
  end;
end; { CriptDecript }

procedure TMainWindow.Cript_Input_EditChange(Sender: TObject);
var
  texto: string;
begin
  CriptDecript(true, Cript_Input_Edit.Text, texto);
  Cript_Output_Edit.Text := texto;
end; { TMainWindow.Cript_Input_EditChange }

procedure TMainWindow.Decript_Input_EditChange(Sender: TObject);
var
  texto: string;
begin
  CriptDecript(false, Decript_Input_Edit.Text, texto);
  Decript_Output_Edit.Text := texto;
end; { TMainWindow.Decript_Input_EditChange }
end.