Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2014, 07:57   #1
vankai14
Пользователь
 
Регистрация: 27.05.2014
Сообщений: 11
Восклицание проблема при записи в файл

здравствуйте. не могу разобраться с записью в файлы. например, генерирую ключ для шифрования вот так:

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i:byte; f:file;
begin   randomize;
AssignFile(f,'key.txt');  // и без указания расширения пробовал, т.е. просто 'key'
rewrite(f);
for i:=0 to 9 do
              begin
              k[i]:=random(255);
              Blockwrite(f,k[i],1);
              Edit1.Text:=edit1.Text+' ';
              edit1.Text:=edit1.Text+inttostr(k[i]);
              end;

end;
или так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i:byte; f:TFileStream;
begin   randomize;
f:=TFileStream.Create('key.txt',fmCreate);  // и без указания расширения пробовал, т.е. просто 'key'
f.Position:=0;
for i:=0 to 9 do
              begin
              k[i]:=random(255);
              f.Write(k[i],sizeof(k[i]));
              Edit1.Text:=edit1.Text+' ';
              edit1.Text:=edit1.Text+inttostr(k[i]);
              end;

end;
Но когда открываю созданные файлы блокнотом, в обоих случаях вместо адекватных символоа вижу какие-то иероглифы. в чем может быть проблема?
vankai14 вне форума Ответить с цитированием
Старый 29.05.2014, 08:14   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Во-первых: Файл где в коде закрывается?
Во-вторых: Ты в файл числа пишешь в машинном виде а не текстовом. Естесственно файл становится бинарным, потому блокнотом его и не проверишь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.05.2014, 08:40   #3
vankai14
Пользователь
 
Регистрация: 27.05.2014
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Во-первых: Файл где в коде закрывается?
Во-вторых: Ты в файл числа пишешь в машинном виде а не текстовом. Естесственно файл становится бинарным, потому блокнотом его и не проверишь.
Ясно.
Тогда, если я читаю текстовый файл в машинном виде, шифрую, потом расшифровываю, я тоже его потом не могу посмотреть и сравнить. каким образом тогда поступить? Просто программа у меня должна работать с файлами любых типов....

Код:
OpenF:=TFileStream.Create(Edit3.Text,fmOpenRead);
OpenF.Position:=0;

num8:=OpenF.Size div 8;

ost:=OpenF.Size - num8*8;

if (ost=0) then num8:=num8-1;

for n:=0 to num8 do
     for m:=0 to 7 do OpenF.Read(blockin[n,m],sizeof(blockin[n,m]));

if (ost>0) then begin
                for m:=0 to (ost-1) do OpenF.Read(blockin[n+1,m],sizeof(blockin[n+1,m]));
                for m:=ost to 7 do OpenF.Read(blockin[n+1,m],sizeof(blockin[n+1,m]));
                end;


openf.Free;
далее шифровка и дешифровка, потом запись

Код:
for cicle:=0 to num8 do
     for x:=0 to 7 do CloseF.Write(blockout[cicle,x],sizeof(blockout[cicle,x]));
closef.free;
vankai14 вне форума Ответить с цитированием
Старый 29.05.2014, 11:34   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Просто программа у меня должна работать с файлами любых типов....
Всмысле?
А метод шифрования то у тебя не текстовый же.
Значит в любом случае получится бинарный файл.
Смотреть его можно в любом HEX-редакторе.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема при записи 'Record' в файл _Gonzo_ Паскаль, Turbo Pascal, PascalABC.NET 4 26.06.2012 21:13
Проблема записи в файл Lampard7 Общие вопросы по Java, Java SE, Kotlin 0 31.10.2011 14:38
Непонятное при записи в файл Exeil Общие вопросы C/C++ 0 27.11.2010 20:24
Проблема записи в файл m9yt Общие вопросы C/C++ 1 01.06.2010 13:55