Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.06.18;
Скачать: [xml.tar.bz2];

Вниз

Шифрование файлов   Найти похожие ветки 

 
alec_sey   (2006-05-30 12:30) [0]

Помогите
нужно считать блок
затем каждый I-й елемент блока xorom сопоставить с введённым I-м елементом числовой строки и записть его. числовая строка может быть разной длинны поэтому нужно исп дин массивы а не очень умею, Конечно извените я уже задавал подобный вопрос но не понял, может
у кого есть код или ссылка, буду благодарен


 
Сергей М. ©   (2006-05-30 12:46) [1]

Что за "числовая строка" ?

Приведи пример ..


 
alec_sey   (2006-05-30 12:52) [2]

к примеру считал блок "10011001" , ввёл в мемо "12345678"  присвоил
целочисленному  массиву то что в мемо, и каждый елемент блока "10011001" циклом прогнал ксором c "12345678" и записал блок в другой файл.


 
Сергей М. ©   (2006-05-30 12:55) [3]

Т.е. размер каждого очередного считываемого блока должен соответствовать длине "числовой строки", я правильно понял ?


 
alec_sey   (2006-05-30 12:57) [4]

Да


 
alec_sey   (2006-05-30 12:59) [5]

Т е не очредного а раз ввели определённой длинны о посколько чтитывает
каждый блок


 
Сергей М. ©   (2006-05-30 14:06) [6]

var
sfs, dfs: TFilestream;
KeyLen, BlockLen, i: Integer;
StrKey: String;
Block, BinKey: PByteArray;

..
StrKey := Memo.Lines[0];
KeyLen := Length(StrKey);
GetMem(BinKey, KeyLen);
try
  for i := 0 to KeyLen - 1 do
    BinKey[i] := StrToInt(StrKey[i+1]);
  GetMem(Block, KeyLen);
  try
    sfs := TFilestream.Create("SourceFile.dat", fmOpenRead);
    try
      dfs := TFilestream.Create("ResultFile.dat", fmCreate);
      try
        while sfs.Position < sfs.Size do begin
          BlockLen := sfs.Read(Block^, KeyLen);
          for i := 0 to BlockLen - 1 do
            Block[i] := Block[i] xor BinKey[i];
          dfs.WriteBuffer(Block^, BlockLen);
        end;
      finally
        dfs.Free;
      end;
    finally
      sfs.Free;
    end;
  finally
    FreeMem(BinKey);
  end;
finally
  FreeMem(Block);
end;


 
alec_sey   (2006-05-30 14:10) [7]

Cпасибо большое щас попробую



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.06.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.012 c
1-1147260207
Dr. Andrew
2006-05-10 15:23
2006.06.18
Как создать алгоритм возвращения поряд. номера слова в строке.


11-1127549142
avs
2005-09-24 12:05
2006.06.18
Kol V2.12


2-1148845528
parovoZZ
2006-05-28 23:45
2006.06.18
Красивое меню (наверное)


8-1137193431
rd
2006-01-14 02:03
2006.06.18
disparity map


11-1128773253
homm
2005-10-08 16:07
2006.06.18
WM_DISPLAYCHANGE





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский