,,,
/ . .
/ , , .
1.
( )
2.
2.1
:
( , )
/
2.2
.
2.3
IBM- . : Pentium ; 32 .
2.4
Windows, Win32 API.
3.
, .
Borland Delphi 7, Object Pascal. , , . .
Delphi 7 , , , .
1.
DQ_decoder ( 2.)
:
:
2.
. DQ_decoder .
3.
.
4.
1) ;
2) /;
3)/;
4) ;
5) ;
5.
, .
-.(. 4) , .
5.1
: .
.1
1. (123) | Hello, World! | z, S | Hello, World! |
2. 1 | Hello, World! | 2:@=%=::3 | Hello, World! |
3. 2 | Hello, World! | <DJG/GDD= | Hello, World! |
, .
5.2
DQ_decoder / ( , 1 , 2). , . .
, .
( 4652 ) .
5.3
:
DQ_decoder
( D:\ProgramFiles\DQ_decoder\DQ_decoder.exe)
DQ_decoder, .
5.4
DQ_decoder . , . 6
, :
. , , .
. , , .
:
OS Windows
- > .
. . , . . , .
1. 654600 " " 230105 " ".
2. 2.105-79 . .
3. 2.105-95 . .
4. 7.1-84 , . . .
5. 7.32-2001 , . - . .
6. : - ./ .., - : , 2005. - 67 .
7. (google.ru).
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, Menus;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
Edit1: TEdit;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
Memo1: TMemo;
Memo2: TMemo;
N8: TMenuItem;
procedure N8Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure RadioButton3Click(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
function Chislo: integer;
procedure Button6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1; f,k:string; t:array[1..1000] of integer;
implementation
uses Unit2, Unit3, Unit4;
{$R *.dfm}
function TForm1.Chislo: integer;
var
i: integer;
begin
for i:=0 to Length(Edit1.Text) do
result:=result+Ord(Edit1.Text[i])+17;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
memo1.Text:='';
memo2.Text:='';
end;
procedure TForm1.N2Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
f:=OpenDialog1.FileName;
Memo1.Lines.LoadFromFile(f);
end;
end;
procedure TForm1.N3Click(Sender: TObject);
begin
if SaveDialog1.Execute then
begin
k:=SaveDialog1.FileName;
Memo2.Lines.SaveToFile(k);
end;
end;
procedure TForm1.N4Click(Sender: TObject);
begin
close;
end;
procedure TForm1.N6Click(Sender: TObject);
begin
form2.visible:=true;
end;
procedure TForm1.N7Click(Sender: TObject);
begin
form3.visible:=true;
end;
procedure TForm1.N8Click(Sender: TObject);
begin
form4.visible:=true;
end;
procedure TForm1.RadioButton1Click(Sender: TObject);
begin
Button1.visible:=true;
Button2.visible:=true;
Button3.visible:=false;
Button4.visible:=false;
Button5.visible:=false;
Button6.visible:=false;
edit1.visible:=true;
end;
procedure TForm1.RadioButton2Click(Sender: TObject);
begin
Button1.visible:=false;
Button2.visible:=false;
Button3.visible:=true;
Button4.visible:=true;
Button5.visible:=false;
Button6.visible:=false;
edit1.visible:=false;
end;
procedure TForm1.RadioButton3Click(Sender: TObject);
begin
Button1.visible:=false;
Button2.visible:=false;
Button3.visible:=false;
Button4.visible:=false;
Button5.visible:=true;
Button6.visible:=true;
edit1.visible:=false;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
d: byte;
i: integer;
begin
f:=memo1.Text;
k:=Edit1.Text;
for i := 1 to Length(f) do
if (f[i]<>' ')AND(f[i]<>'.')AND(f[i]<>';')AND(f[i]<>',') then
f[i]:=Chr( Ord(f[i])+Ord(k[i mod length(k)+1])mod 256) else f[i]:=f[i];
memo2.Text:=f;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
d: byte;
i: integer;
begin
f:=memo1.Text;
for i := 1 to Length(f) do
if (f[i]<>' ') AND(f[i]<>'.')AND(f[i]<>';')AND(f[i]<>',') then
f[i]:=Chr((Ord(f[i])-Ord(Edit1.text[(i mod length(Edit1.text))+1]))mod 256);
memo2.Text:=f;
{ ProgressBar1.Max:=f.Size;
for i:=0 to f.Size-1 do
begin
f.Position:=i;
k.Position:=i;
f.Read(d,1);
d:=d-((i*85)-i+Chislo+28*i+(2*i+5-i-1));
k.Write(d,1);
ProgressBar1.Position:=i;
Application.ProcessMessages;
if Application.Terminated then Break;
end;
ProgressBar1.Position:=i;
k.Free;
f.Free; }
end;
procedure TForm1.Button3Click(Sender: TObject);
var i:longint;u,t:integer; y,w,o:string;
begin
f:=memo1.Text;
k:=Edit1.Text;
for i := length(f) downto 1 do
begin
y:=y+f[i];
end;
for i:=1 to length(f) do
begin
u := Ord(y[i]) ;
u:=u-50;
w:=w+chr(u);
end;
memo2.Text:=w;
memo2.Text:=w;
end;
procedure TForm1.Button4Click(Sender: TObject);
var i,u:integer; y,w,o:string;
begin
f:=memo2.Text;
for i := length(f) downto 1 do
begin
y:=y+f[i];
end;
for i:=1 to length(f) do
begin
u := Ord(y[i]) ;
u:=u+50;
w:=w+chr(u);
end;
memo2.Text:=w;
end;
procedure TForm1.Button5Click(Sender: TObject);
var i,u:integer; y,w,o:string;
begin
f:=memo1.Text;
for i := length(f) downto 1 do
begin
y:=y+f[i];
end;
for i:=1 to length(f) do
begin
u := Ord(y[i]) ;
u:=u-40;
w:=w+chr(u);
end;
memo2.Text:=w;
end;
procedure TForm1.Button6Click(Sender: TObject);
var i,u:integer; y,w,o:string;
begin
f:=memo1.Text;
for i := length(f) downto 1 do
begin
y:=y+f[i];
end;
for i:=1 to length(f) do
begin
u := Ord(y[i]) ;
u:=u+40;
w:=w+chr(u);
end;
memo2.Text:=w;
end;
end.
/ . .
Copyright (c) 2024 Stud-Baza.ru , , , .