![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TStream
pathfinder © (2007-10-18 20:34:00)Добрый вечер.
Подскажите пожалуйста, каким образом лучше сохранить данные из TMemoryStream в файл? Но не все содержимое, а только конец определенного размера.
У меня получилось что-то такое:
FData: TMemoryStream;
FLimit: Integer;
Stream: TFileStream;
StartPos: PByte;
StartPos := FData.Memory;
Inc(StartPos, FData.Size - FLimit);
Stream := TFileStream.Create(FileName, fmCreate);
Stream.WriteBuffer(StartPos^, FLimit);
Stream.Free;
pathfinder (2007-10-19 15:07:00) [21]
> Умеешь "отрезать от файла кусочки"?
В том то и дело, что нет:)
> Reindeer Moss Eater © (19.10.07 10:05) [13]
>
> Если текушая позиция + новая строка превысят лимит, сместить
> указатель вначало и писать по старым записям.
Тогда придется запоминать позицию указателя при выходе из программы, чтобы при следующем запуске начать с того же места?
Reindeer Moss Eater (2007-10-19 14:46:00) [22]По мере превышения отрезать от него лишний кусочек.
Умеешь "отрезать от файла кусочки"?
Вперед. Отрезай.
Reindeer Moss Eater (2007-10-19 14:45:00) [23]А может тебе лучше купить гуся и уже ему парить мозг?
pathfinder (2007-10-19 14:18:00) [24]
> Как не допустить чтобы файл рос?
Как я понимаю: 1) Не писать. 2) По мере превышения отрезать от него лишний кусочек.
Может есть лучшие варианты?
Reindeer Moss Eater (2007-10-19 14:08:00) [25]Файл растет, если в него писать.
Как не допустить чтобы файл рос?
pathfinder (2007-10-19 14:01:00) [26]А если программа будет добавлять записи лога непосредственно а файл через TFileStream, то как тогда лучше в ходе работы программы не допускать превышения размера файла?
pathfinder (2007-10-19 12:48:00) [27]
> шифровать потом кодировать в текст
Это как?
> либо шифровать цезарем
Ну это уж слишком просто. Так не интересно:)
Reindeer Moss Eater (2007-10-19 12:32:00) [28]либо шифровать цезарем
Reindeer Moss Eater (2007-10-19 12:28:00) [29]шифровать потом кодировать в текст
pathfinder (2007-10-19 12:25:00) [30]Подскажите пожалуйста, какой-нибудь не очень сложный алгоритм для шифрования текста, чтобы на выходе тоже был текст.
pathfinder (2007-10-19 12:02:00) [31]
> зачем "шифровать" лог, да еще таким "уникальным" способом?
> Дабы непуганного пользователя в заблужбение ввести?
Ну примерно так.
korneley (2007-10-19 11:44:00) [32]
> Программа шифрует/дешифрует все содержимое мемористрима
> xor-ом с ключом
Ничего не понял... :( зачем "шифровать" лог, да еще таким "уникальным" способом? Дабы непуганного пользователя в заблужбение ввести?
Reindeer Moss Eater (2007-10-19 11:41:00) [33]варианты есть, но они расчитаны на неизвращенное представление о логах.
тебе они не подойдут.
pathfinder (2007-10-19 11:38:00) [34]
> сняли задачу аварийно. лога нет.
> зачем такой лог?
А какие варианты?
Reindeer Moss Eater (2007-10-19 11:37:00) [35]сняли задачу аварийно. лога нет.
зачем такой лог?
pathfinder (2007-10-19 11:35:00) [36]
> Есть файл лога, который бы зашифрован ранее.
> Нафига программе грузить этот файл лога.
> Зачем он ей?
>
Чтобы дописать в него новые данные.
Программа шифрует/дешифрует все содержимое мемористрима xor-ом с ключом.
Если шифровать каждую строку и потом записывать, то как потом дешифровать файл? Как найти где конец каждой строки?
Reindeer Moss Eater (2007-10-19 11:30:00) [37]Чувак, проснись!
Зачем программе старый лог?
Можешь ответить?
pathfinder (2007-10-19 11:29:00) [38]
> Нафик грузить-то?
Если вы имеете в виду, что лучше писать в другой файл, то хотелось бы их плодить.
Reindeer Moss Eater (2007-10-19 11:29:00) [39]Есть файл лога, который бы зашифрован ранее.
Нафига программе грузить этот файл лога.
Зачем он ей?
pathfinder (2007-10-19 11:26:00) [40]
> Так она это уже сделала когда в прошлый раз шифровала.
Простите, не понял.