function TMainform.SevenText(s:string):string; var xs:string; ys:string; temps:string; len,tim:integer; i,j:integer; begin xs:=s; ys:=s; len:=length(s); tim:=(len div 8); for i:=0 to tim-1 do begin for j:=1 to 7 do begin xs[8*i+j]:= Chr(ord(xs[8*i+j]) shr (j-1)); ys[8*i+(j+1)]:= Chr(ord(ys[8*i+j+1]) shl (8-j)); xs[8*i+j]:= Chr( ord(xs[8*i+j]) or ord(ys[8*i+(j+1)])); end; end; len:=len mod 8; i:=tim; for j:=1 to len do begin xs[8*i+j]:= Chr(ord(xs[8*i+j]) shr (j-1)); ys[8*i+(j+1)]:= Chr(ord(ys[8*i+j+1]) shl (8-j)); xs[8*i+j]:= Chr( ord(xs[8*i+j]) or ord(ys[8*i+(j+1)])); end; len:=length(s); temps:=copy(s,1,len-tim); j:=0; for i:=1 to len do begin if (i mod 8 <>0) then begin j:=j+1; temps[j]:=xs[i]; end; end;
var
xs:string;
ys:string;
temps:string;
len,tim:integer;
i,j:integer;
begin
xs:=s;
ys:=s;
len:=length(s);
tim:=(len div 8);
for i:=0 to tim-1 do
begin
for j:=1 to 7 do
begin
xs[8*i+j]:= Chr(ord(xs[8*i+j]) shr (j-1));
ys[8*i+(j+1)]:= Chr(ord(ys[8*i+j+1]) shl (8-j));
xs[8*i+j]:= Chr( ord(xs[8*i+j]) or ord(ys[8*i+(j+1)]));
end;
end;
len:=len mod 8;
i:=tim;
for j:=1 to len do
begin
xs[8*i+j]:= Chr(ord(xs[8*i+j]) shr (j-1));
ys[8*i+(j+1)]:= Chr(ord(ys[8*i+j+1]) shl (8-j));
xs[8*i+j]:= Chr( ord(xs[8*i+j]) or ord(ys[8*i+(j+1)]));
end;
len:=length(s); temps:=copy(s,1,len-tim);
j:=0;
for i:=1 to len do
begin
if (i mod 8 <>0) then
begin
j:=j+1;
temps[j]:=xs[i];
end;
end;
result:=temps;
end;
以上是一个将八位字符串压缩为七位字符串的一个函数
函数34分寻求该函数