Часто бывает когда пишешь чего-либо и не важно на каком языке, бывают уже готовые решения многих задач, что-бы не тратить время на их решения, ну либо просто не изобретать велосипед, существует подборка готовых функций, достаточно просто скопировать их в свою программу и потом вызывать их где нужно !
Существуют даже готовые модули и dll, но здесь предлагаю выкладывать процедуры решающие простые задачи !
Вот к примеру для написания криптора, нужны как минимум вот такие функции, которые решают следующие задачи:
1) Процедура считывает наш файл, получает строку данных из файла в формате String:
2)В этой функции удаляем строку Delimitador, который разделяет несколько строк, на выходе получим нужный массив строк:
3) Процедура шифрования XOR:
Предлагаю в этой теме выкладывать решения небольших задач в формате подпрограмм !
Кстати появился новый раздел:https://ru-sphere.ru/forums/kodim-v-delfi.122/
Существуют даже готовые модули и dll, но здесь предлагаю выкладывать процедуры решающие простые задачи !
Вот к примеру для написания криптора, нужны как минимум вот такие функции, которые решают следующие задачи:
1) Процедура считывает наш файл, получает строку данных из файла в формате String:
Код:
Function mFileToStr(FileName: string): string;
var
sFile: HFile;
uBytes: Cardinal;
begin
sFile:= _lopen(PChar(FileName), OF_READ); //Открываем файл на чтение
uBytes:= GetFileSize(sFile, nil); //Получаем его размер
SetLength(Result, uBytes); // Устанавливаем размер равный нашему файлу (Result).
_lread(sfile, @result[1], uBytes); // Считываем данные из файла в result
_lclose(sFile);
end;
2)В этой функции удаляем строку Delimitador, который разделяет несколько строк, на выходе получим нужный массив строк:
Код:
function SplitMetal(Texto, Delimitador: string): TSarray;
var
o: integer;
PosDel: integer;
Aux: string;
begin
o := 0;
Aux := Texto;
setlength(Result, length(Aux));
repeat
PosDel := Pos(Delimitador, Aux) - 1;
if PosDel = -1 then
begin
Result[o] := Aux;
break;
end;
Result[o] := copy(Aux, 1, PosDel);
delete(Aux, 1, PosDel + length(Delimitador));
inc(o);
until Aux = '';
end;
3) Процедура шифрования XOR:
Код:
Function XORizo(Text, Pass: string): string;
var
i, p: integer;
Res: string;
begin
p:= 1;
for i:= 1 to Length(Text) do
begin
Res:= Res + Chr((Ord(Text) xor Length(Text)) XOR (Ord(Pass[p]) xor Length(Pass)));
inc(p);
if p > Length(Pass) then p:= 1;
end;
SetLength(Result, Length(Res));
Result:= Res;
end;
Предлагаю в этой теме выкладывать решения небольших задач в формате подпрограмм !
Кстати появился новый раздел:https://ru-sphere.ru/forums/kodim-v-delfi.122/