Witam.
Czy mógłby mi ktoś pomóc w zoptymalizowaniu poniższej procedury?
procedure TVicStream.vcryptpass(haslo:string);
var
wyj : TMemoryStream;
i: longint;
zwej,zpass,zwyj : char;
len:integer;
begin
wyj := TMemoryStream.Create;
Position := 0;
len := length(haslo);
try
for i := 0 to Size-1 do
begin
Position := i;
read(zwej,1);
zpass := haslo[(i mod len)+1];
zwyj := char((ord(zwej) + ord(zpass) - 1) mod 256);
wyj.Write(zwyj,1);
end;
finally
LoadFromStream(wyj);
wyj.Free;
end;
end;
Program,nad którym właśnie pracuję wykonuje dość dużo operacji na sporych ilościach danych więc zależy mi na maksymalnej optymalizacji kodu, a na tą procedurę jakoś mi brakuje pomysłu...