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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.08.2007, 15:11   #1
Македонский
Александр
Форумчанин
 
Аватар для Македонский
 
Регистрация: 15.08.2007
Сообщений: 112
По умолчанию Сохранение файла

В своей программке к кнопке "сохранить" прописал процедуру сохранения данных в файл с расширением .gps. Данные, сохраняемые в этот файл имеют текстовый формат. Можно ли как-нить сделать так, чтобы с помощью блокнота этот файл открыть было нельзя? И как?
Буду очень признателен за помощь!
Македонский вне форума Ответить с цитированием
Старый 16.08.2007, 15:13   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

открыть с помощью блокнота можно все. Можно лишь делать данные нечитаемыми, для этого либо используйте типизированные файлы, либо шифруйте данные
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 16.08.2007, 15:18   #3
Македонский
Александр
Форумчанин
 
Аватар для Македонский
 
Регистрация: 15.08.2007
Сообщений: 112
По умолчанию

Спасибочки огромное! Так запарился, что про типизированные файлы забыл.
А что нужно для зашифровывания данных в файле? Это делается программно? В коде?
Македонский вне форума Ответить с цитированием
Старый 16.08.2007, 15:36   #4
Master-Skull
Пользователь
 
Регистрация: 10.08.2007
Сообщений: 43
По умолчанию

Вот пример шифрования файла:
Код:
...
var
 mc: array [1..3] of integer; //Переменная глобальная! Значемий можно и больше
...
procedure TMainForm.FormCreate(Sender: TObject);
begin
mc[1]:=164;
mc[2]:=206;
mc[3]:=20;
end;
...
function Mask(var st: string): string;
var
 b, i, m: integer;
begin
m:=1;
for i:=1 to Length(st) do
 begin
 b:=Ord(st[i]);		//Значение в кодеровке
 b:=b+mc[m];            //Меняем это значение
 if b>255 then b:=b-242;//Чтобы под Enter не подпало
 st[i]:=Chr(b);		//Втыкивваем значение
 Inc(m);		//Повышаем
 if m=4 then m:=1;	//Если уже 4 то снова 1
 end;
Result:=st; 
end;

function UnMask(st: string): string; //Обратно предыдущему 
var
 i, m, b: integer;
begin
m:=1;
for i:=1 to Length(st) do
 begin
 b:=Ord(st[i]);
 b:=b-mc[m];
 if b<1 then b:=b+242;	
 st[i]:=Chr(b);
 m:=m+1;
 if m=4 then m:=1;
 end;
Result:=st;          
end;
...
procedure SaveMemo(FileName: string);
var
 s: TStrings;
 i: integer;
begin
s:=TStringList.Create;
s.Add(Memo1.Lines.Text);//Чтобы из-за WordWarp'a небыло ненужных переносов
for i:=0 to s.Count-1 do s[i]:=Mask(s[i]);
s.SaveToFile(FileName);
s.Free;
end;
...
procedure LoadMemo(FileName: string);
var
 s: TStrings;
 i: integer;
begin
s:=TStringList.Create;
s.LoadFromFile(FileName);
for i:=0 to s.Count-1 do s[i]:=UnMask(s[i]);
Memo1.Lines:=s;
s.Free;
end;
Всё очень просто
Комьютер не поддаётся законам физики:
Глюки появляются из неоткуда, файлы пропадают в никуда...
Объём диска называется весом и измеряется в метрах...

---------------------------------------------------
Дрова для модема находятся на диске, а дрова для дисковода - в интернете...
Master-Skull вне форума Ответить с цитированием
Старый 16.08.2007, 15:57   #5
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

вроде RC4 где-то тут обсуждался, легко реализуется и вполне надёжно шифрует
пыщь
JTG вне форума Ответить с цитированием
Старый 16.08.2007, 17:47   #6
Noor
Участник клуба
 
Аватар для Noor
 
Регистрация: 01.11.2006
Сообщений: 1,051
По умолчанию

А готовые компоненты для шифрования имеются ???
Noor вне форума Ответить с цитированием
Старый 17.08.2007, 08:04   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Сообщение от Noor Посмотреть сообщение
А готовые компоненты для шифрования имеются ???
Да в JEDI есть такие.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.08.2007, 08:35   #8
Македонский
Александр
Форумчанин
 
Аватар для Македонский
 
Регистрация: 15.08.2007
Сообщений: 112
По умолчанию

Спасибо всем! Очень вам признателен!
Македонский вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сохранение php файла CopTupoBo4Huk PHP 5 10.09.2008 22:55
Сохранение файла на IdFtpDerver posdnyaa Компоненты Delphi 1 25.03.2008 19:56
СОХРАНЕНИЕ В 23 ФАЙЛА ПОДРЯД!!!! _FL@ER_ Помощь студентам 6 26.06.2007 22:31