![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите не знаю как сделать! [D7, XP]
Старый пляж © (2006-06-12 14:34:00)Првет! У меня есть прога, которая использует файл. Мне нужно что бы его не могли просматривать. Я знаю что можно его зжать Winrar`ом и поставить пароль. Но как зделать так что бы программа могла его прочитать?
Для загрузки я использую такой код:
ini := TIniFile.Create(ExtractFilePath(ParamStr(0))+'q.rar\q.ini');
Rial (2006-06-12 19:30:00) [1]Можно такскать с собой UnRAR.exe, работая их с помощью командной строки,
а потом - читать из этого файла.
Основной недостаток этого способа в том, что файл некоторое время
будет находиться на диске в незашифрованном виде.
Поэтому пиши не в текстовый файл и кодируй своим алгоритмом.
AlexanderMS (2006-06-12 19:20:00) [2]
> А можно ли как нибудь открыть зашифрованный Winrar`ом файл.
Конечно можно! С помощью Winrar'а! :))
Старый пляж (2006-06-12 17:55:00) [3]А можно ли как нибудь открыть зашифрованный Winrar`ом файл.
parovoZZ (2006-06-12 17:27:00) [4]Я вообще не понимаю, зачем делать текстовый ini? Если надо покрутить настройки - можно в проге реализовать.
А по сабжу я делаю примерно так:
procedure TForm1.LoadSettings;
type
TSize = packed record
Size : WindowPlacement;
splt : word;
end;
var
Size : TSize;
f : file;
begin
{$I-}
AssignFile (f, 'DATA\Config.ini');
Reset (f, 1);
if IOResult <> 0 then exit;
FillChar (Size, SizeOf (Size), 0);
try
BlockRead (F, Size, SizeOf (TSize));
finally
CloseFile (f);
end;
{$I+}
SetWindowPlacement (Form.Handle, @Size.Size);
TrVPnL.Width := Size.splt;
end;
procedure TForm1.SaveSettings;
type
TSize = packed record
Size : WindowPlacement;
splt : word;
end;
var
Size : TSize;
f : file;
begin
{$I-}
AssignFile (F, 'DATA\Config.INI');
Rewrite (F, 1);
if IOResult <> 0 then exit;
FillChar (size, SizeOf(Size), 0);
GetWindowPlacement (Form.Handle, @Size.Size);
Size.splt := TrVPnl.Width;
try
BlockWrite (F, Size, SizeOf (TSize));
Finally
CloseFile (F);
end;
{$I+}
end;
Открывается любым блокнотом, но прочитать ниЗЗя.
Другой (2006-06-12 17:21:00) [5]ExtractFilePath(ParamStr(0))
может не проканать - на длинных путях и с пробелами.
Prohodil Mimo (2006-06-12 17:18:00) [6]используй типизированый файл и сам шифруй инфу. всё-равно вскроют :о)
Старый пляж (2006-06-12 17:08:00) [7]Я делаю программу для эказмена по ИВТ, мне очень нужно зашифровать файл, и потом что бы его смогла прочитать программа.Мне подойдёт любой эффективный способ!
unknown (2006-06-12 14:50:00) [8]Зачем гаг-ы? Можно просто зашифровать файл.
Хотя, смысла особого нет, разве что "защита от дурака"
Sasha:) (2006-06-12 14:37:00) [9]Сорри вот код: ini := TIniFile.Create(ExtractFilePath(ParamStr(0))+'q.ini');