Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Синтаксис
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #3  
Старый 14.03.2021, 15:25
Shaft Shaft вне форума
Новичок
 
Регистрация: 15.05.2013
Сообщения: 74
Версия Delphi: 7/10.4
Репутация: 12
По умолчанию

Код:
function Encrypt_(s:string; EncodeTable:array of Integer):string;
var
  i,KeyL:Integer;
begin
  Result:='';
  KeyL:=0;
  for i:=1 to Length(s) do
  begin
    if KeyL>2 then KeyL:=0;
    Result:=Result+Char(Ord(s[i])+EncodeTable[KeyL]);
    Inc(KeyL);
  end;
end;

function Encrypt(s:string):string;
const Key1:array[0..2] of Integer=(1,2,0);
      Key2:array[0..2] of Integer=(2,3,1);
      Key3:array[0..2] of Integer=(3,4,2);
var
  ParsSTR,NumT:string;
begin
  Result:='';
  if Length(s)<4 then Exit;
  ParsSTR:=(Encrypt_(s,Key1));
  NumT:=Copy(ParsSTR,1,Pos('-',ParsSTR)-1);
  try
    StrToInt(NumT);
    Result:='"'+Trim(ParsSTR)+'"';
  except
    try
      ParsSTR:=(Encrypt_(s,Key2));
      NumT:=Copy(ParsSTR,1,Pos('-',ParsSTR)-1);
      StrToInt(NumT);
      Result:='"'+Trim(ParsSTR)+'"';
    except
      try
        ParsSTR:=(Encrypt_(s,Key3));
        NumT:=Copy(ParsSTR,1,Pos('-',ParsSTR)-1);
        StrToInt(NumT);
        Result:='"'+Trim(ParsSTR)+'"';
      except
        Result:='"Error: s1 '+s[1]+' s4 '+s[4]+'"';
      end;
    end;
  end;
end;

Файл загружается например в StringList и построчно в цикле обрабатывается

Код:
var
  i:Integer;
  s:string;
begin
  for i:=0 to sl.count-1 do
    s:=Encrypt(sl[i]);//s расшифрованная строка
end;

Последний раз редактировалось Shaft, 16.03.2021 в 19:06.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 10:56.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter