![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| chip_and_dayl |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 603 Регистрация: 22.4.2007 Где: Украина, Киев Репутация: 1 Всего: 9 |
Есть следующий код
После того, как происходит загрузка данных в Мемо2
, то данные попадают не все. Где-то половина. Если написать вместо Memo2.Lines.LoadFromStream(outStream); = outStream.SaveToFile('f.txt'); то данные сохраняются полностью. Вопрос, как сделать, чтобы после выполнения Memo2.Lines.LoadFromStream(outStream); в Мемо2 были записаны все данные!?! З. Ы. С потоками не работал, поэтому не ругайте Это сообщение отредактировал(а) chip_and_dayl - 14.7.2010, 19:10 -------------------- Фсё будет хорошо!!! |
||||
|
|||||
| Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
А что, у тебя в результате выполнения этой операции текстовые данные остаются в OutStream? TMemo преднахначен для отображения текстовых данных. -------------------- |
|||
|
||||
| chip_and_dayl |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 603 Регистрация: 22.4.2007 Где: Украина, Киев Репутация: 1 Всего: 9 |
Ну, они формируются в OutStream. Если б их там не было, то после выполнения outStream.SaveToFile('f.txt'); файл был бы пуст. А так я сверяю что у меня, если сохранять в файл с тем, что если грузить в Мемо "содержимое" outStream, результат выходит, что в Мемо не попала половина данных.
Та знаю. Но в программе он предназначен для другого. Вот теперь так и сяк его склеиваю Это сообщение отредактировал(а) chip_and_dayl - 14.7.2010, 20:51 -------------------- Фсё будет хорошо!!! |
||||
|
|||||
| Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Что происходит при вызове метода CopyFrom? -------------------- |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
А какой смысл грузить в мемо бинарные данные?
На первом же #0 символе хвост будет отрезан. Это ж винда. Здесь нулевой символ означает конец текста. Мемо предназначено только для вывода текста. |
|||
|
||||
| chip_and_dayl |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 603 Регистрация: 22.4.2007 Где: Украина, Киев Репутация: 1 Всего: 9 |
Демо
Копируются данные с одного потока в другой в сжатом виде. Это так мне подсказывает здравый смысл :) Snowy Согласен, смысла нет. Мемо используется для загрузки кода активации, для этого достаточно вызвать метод Load. Дальше содержимое Мемо (Memo.Lines.Text) передается в ф-цию кодирования, которая кодирует его собственно и приводит к Base64, пот ом это все передает в виде строки объекту для работы с хмл файлом. Теперь возникла необходимость, перед тем как кодировать, еще сжать строку. Для решения этого, чтобы не вникать сильно в класс TStream, было решено сделать вот таким не хитрим сопсобом. ТО беж передавать в ф-цию ссылку на мемо, потом содержимое мемо грузить в потом и передавать ф-ции сжатия. Может это все не логично, но... Добавлено через 2 минуты и 8 секунд Спасибо всем, а Snowy еще за ответ в чем же проблема Не буду ничего мудрить, буду разбираться в TStream -------------------- Фсё будет хорошо!!! |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
замени outstream на TStringStream.
Тогда ты сможешь взять string прямо из него. Либо вручную загнать стрим в стринг и отдать кодировщику:
|
|||
|
||||
| Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Ну так тебе сразу же было сказано, что TMemo для текстовых данных предназначен. Не всегда простой путь является правильным. -------------------- |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |