procedure TForm1.BitBtn1Click(Sender: TObject); var ms, msDes: TMemoryStream; byX1, byX2: BYTE; pbySrcByte: PByte; i: integer; begin byX1 := 100; ms := TMemoryStream.Create(); msDes := TMemoryStream.Create(); ms.LoadFromFile('d:\temp\bbb.txt'); pbySrcByte := PByte(ms.Memory); for i := 0 to ms.Size - 1 do begin byX2 := pbySrcByte^ xor byX1; msDes.Write(byX2, 1); Inc(pbySrcByte); end; msDes.Seek(0, 0); msDes.SaveToFile('d:\temp\ccc.txt'); ms.Free(); msDes.Free(); end;例子用的是文本文件,对二进制文件同样有效。与文件与目标文件交换位置就可还原。 该例子在delphi7下调试同过
procedure TForm_fx_jhfx.Btn_cancelClick(Sender: TObject); var i:integer; begin i:=15; i:= i xor 1 ; showmessage(inttostr(i));end;
procedure TForm1.Button3Click(Sender: TObject); var mybuffer:string; Fs: TMemoryStream; i:integer; begin if OpenDialog1.Execute then begin fs:=TMemoryStream.Create; fs.LoadFromFile(OpenDialog1.FileName); setlength(mybuffer,fs.size); fs.Read(pchar(mybuffer)^,fs.Size); for i:=1 to length(mybuffer) do begin mybuffer[i]:=chr(ord(mybuffer[i]) xor $11); end; fs.Clear; fs.Write(pchar(mybuffer)^,length(mybuffer)); fs.SaveToFile(OpenDialog1.FileName); fs.Free; end;end;
var
ms, msDes: TMemoryStream;
byX1, byX2: BYTE;
pbySrcByte: PByte;
i: integer;
begin
byX1 := 100;
ms := TMemoryStream.Create();
msDes := TMemoryStream.Create();
ms.LoadFromFile('d:\temp\bbb.txt');
pbySrcByte := PByte(ms.Memory);
for i := 0 to ms.Size - 1 do begin
byX2 := pbySrcByte^ xor byX1;
msDes.Write(byX2, 1);
Inc(pbySrcByte);
end;
msDes.Seek(0, 0);
msDes.SaveToFile('d:\temp\ccc.txt');
ms.Free();
msDes.Free();
end;例子用的是文本文件,对二进制文件同样有效。与文件与目标文件交换位置就可还原。
该例子在delphi7下调试同过
var
i:integer;
begin i:=15;
i:= i xor 1 ;
showmessage(inttostr(i));end;
var
mybuffer:string;
Fs: TMemoryStream;
i:integer;
begin
if OpenDialog1.Execute then
begin
fs:=TMemoryStream.Create;
fs.LoadFromFile(OpenDialog1.FileName);
setlength(mybuffer,fs.size);
fs.Read(pchar(mybuffer)^,fs.Size);
for i:=1 to length(mybuffer) do
begin
mybuffer[i]:=chr(ord(mybuffer[i]) xor $11);
end;
fs.Clear;
fs.Write(pchar(mybuffer)^,length(mybuffer));
fs.SaveToFile(OpenDialog1.FileName);
fs.Free;
end;end;