Перевести функцию с C++ (или Go) в Pascal

Тема в разделе "ASM, С/С++, Delphi, Java", создана пользователем lexesv, 30 ноя 2016.

  1. lexesv

    lexesv

    Регистр.:
    15 ноя 2006
    Сообщения:
    219
    Симпатии:
    103
    C++
    Код:
    string encryptDecrypt(string toEncrypt) {
        char key[3] = {'K', 'C', 'Q'};
        string output = toEncrypt;
       
        for (int i = 0; i < toEncrypt.size(); i++)
            output[i] = toEncrypt[i] ^ key[i % (sizeof(key) / sizeof(char))];
       
        return output;
    }
    Golang
    Код:
    func EncryptDecrypt(input, key string) (output string) {
        for i := range input {
            output += string(input[i] ^ key[i%len(key)])
        }
    
        return output
    }
     
  2. lag

    lag

    Регистр.:
    13 окт 2014
    Сообщения:
    206
    Симпатии:
    264
    Код:
    function EncryptDecrypt(input, key: string): string;
    var i : byte;
    begin
        EncryptDecrypt := input;
    
        for i := 1 to Length(input) do
            EncryptDecrypt[i] := Chr( Ord(input[i]) xor Ord(key[(i-1) mod Length(key) + 1]) );   
    end;
    
     
    lexesv нравится это.