Вот релиз G-кодом по предложенному алгоритму, в Мемо1 загружен исходный текстовый файл, в Мемо2 расшифровка
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i,j,b: integer;
s, s1: string;
begin
Memo2.Clear;
for i := 0 to Memo1.Lines.Count do
begin
s1:= '';
s:= Memo1.Lines[i];
b:= 1;
if (Length(s) > 0) then
begin
if (s[1] = ')') or (s[4] = ',') then
for j := 1 to Length(s) do
begin
s1:= s1 + chr(byte(s[j])+b);
inc(b);
if b > 2 then b:= 0;
end;
case s[4] of
'+':
for j := 3 to Length(s) do
begin
s1:= s1 + chr(byte(s[j])+b);
inc(b);
if b > 3 then b:= 1;
end;
'*':
begin
b:= 2;
for j := 3 to Length(s) do
begin
s1:= s1 + chr(byte(s[j])+b);
inc(b);
if b > 4 then b:= 2;
end;
end;
end;{case}
end;
Memo2.Lines.Add(s1);
end;
end;
для простоты немного подрезается начало некоторых строк