|
Вопрос # 4 006/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
У меня такая проблема. Я записываю в файл с помощью WriteComponent. Потом дописываю в конец того же файла WriteComponent. А проблема состоит в том, что при считывании методом ReadComponent считывает и записываю в Мемо только то, что я записал впервые. При следуюем считывании ReadComponent читает следующюю запись и заменяет текст в Мемо. Подкажите как считать всё что записано в файл сразу в Мемо.
 |
Вопрос задал: diamond (статус: Посетитель)
Вопрос отправлен: 9 апреля 2010, 12:04
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 14; последнее сообщение — 15 апреля 2010, 00:12; участников в обсуждении: 4.
|
Вадим К (статус: Академик), 9 апреля 2010, 12:10 [#1]:
Наверно читать два раза? ReadComponent -читает один компонет.
Все остальное нужно смотреть уже по Вашему коду.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
DNK (статус: Студент), 9 апреля 2010, 12:20 [#2]:
А для чего сохранять и загружать текст в Мемо при помощи WriteComponent и ReadComponent? Для этого существуют специальные методы Lines.SaveToFile, Lines.SaveToStream, Lines.LoadFromFile и Lines.LoadFromStream.
"Digital Networked Knight"
|
|
diamond (статус: Посетитель), 9 апреля 2010, 12:46 [#3]:
ToFile сохраняет в текстовом формате и содержание фоала можна открыть в блокноте, а это мне не нужно.
Что читать с несколько раз э то понятно. А как бы сделать так что бы при считывании очередного компонента текст в Мемо обновлялся, а добавлялся к предыдущему.
Может не использовать Read/WriteComponent, может посоветуете иной способ сохранения текста Мемо так, что бы он был недоступный для считывания блокнотом.
|
|
DNK (статус: Студент), 9 апреля 2010, 12:59 [#4]:
Загнать весь текст мемо в память в виде строки или потока зашифровать его (информации в инете горы) а потом уже сбосить в файл.
"Digital Networked Knight"
|
|
min@y™ (статус: Доктор наук), 10 апреля 2010, 09:42 [#5]:
А поподробней можно? Зачем такая аццкая секретность?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
diamond (статус: Посетитель), 14 апреля 2010, 12:56 [#6]:
Для того чтобы студенты не сламали.
|
|
Вадим К (статус: Академик), 14 апреля 2010, 13:16 [#7]:
Надо - сломают. А если не хочется, что бы видели, что там есть, лучше с сети тянуть.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
min@y™ (статус: Доктор наук), 14 апреля 2010, 15:25 [#8]:
Цитата (Вадим К):
Надо - сломают. А если не хочется, что бы видели, что там есть, лучше с сети тянуть.
И так сломают тоже. Ибо программа одна, а мозгов и свободного времени - полно.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
diamond (статус: Посетитель), 14 апреля 2010, 17:27 [#9]:
Использую для сохранения результатов примерно такой код:
fs:=TFileStream.Create('res.dat',fmOpemReadWrite);
fs.Seek(0,soEnd);
ResultForm.Memo1.Lines.SaveToStream(fs);
fs.Free;
для чтения файла res.dat следующий код:
fs:=TFileStream.Create('res.dat',fmOpenRead);
ResultForm.Memo1.Lines.LoadFromStream(fs);
fs.Free;
Логически вроди просто построено, но ничего не работает. Подкоректируйте, что не так.
|
|
Вадим К (статус: Академик), 14 апреля 2010, 21:23 [#10]:
to min@y™:
А я что сказал, что не сломают? просто сеть - это хороший способ усложнить взлом. Но не избежать его.
to diamond:
кроме строки
fs.Seek(0,soEnd);
ничего не вызывает подозрений.
Правда чем этот код отличается от просто Memo1.Lines.SaveToFile('res.dat'); я не знаю.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
diamond (статус: Посетитель), 14 апреля 2010, 21:38 [#11]:
SaveToFile записывает же у текстовом формате, тоисть в блокноте можна будет открыть.
|
|
Вадим К (статус: Академик), 14 апреля 2010, 21:50 [#12]:
Боюсь огорчить, но Ваш метод тоже будет записывать в текстовом формате.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
min@y™ (статус: Доктор наук), 14 апреля 2010, 21:50 [#13]:
Ну сжимай тогда данные в архив с паролем. 7zip, например. Такой зашифрованный архив взломать будет практически невозможно, если длина пароля будет символов 30-50.
Однако, пока данные болтаются в памяти, их можно оттуда забрать, сам пробовал, знаю. Вопрос: игра стоит свеч?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
diamond (статус: Посетитель), 15 апреля 2010, 00:12 [#14]:
Я не знаю как((( Где можна найти инфу для этого.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|