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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.08.2012, 23:13   #1
furstenberg
Форумчанин
 
Регистрация: 08.10.2007
Сообщений: 125
По умолчанию IdDecoderMIME декодирование в поток

Здравствуйте, пытаюсь декодировать бинарный файл из b64 в поток:
Код:
VAR
InFile:TStringList;
potok:Tstream;
dEcodeString:string;
begin
InFile:=TStringList.Create;
InFile.LoadFromFile('d:\temp\1\FIL27.b64');
potok:=Tstream.Create;

IdDecoderMIME1.DecodeToStream(InFile.Text,potok);
//dEcodeString:=IdDecoderMIME1.DecodeToString(InFile.Text);

//InFile.Text:=dEcodeString;
//InFile.SaveToFile('d:\temp\1\FIL27.b64+');

InFile.Free;
end;
вылетает ошибка [Warning] b64.pas(35): Constructing instance of 'TStream' containing abstract method 'TStream.Write' -Abstrarct Error, однако если декодировать в строку никаких проблем не возникает. Что за абстрактная ошибка?
furstenberg вне форума Ответить с цитированием
Старый 22.08.2012, 23:56   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

http://www.delphilab.ru/content/view/244/1/
Цитата:
Все начинается именно с TStream. В делфи есть много классов его наследников таких как TMemoryStream, TFileStream, TResourceStream, TCompressionStream, TStringStream и другие. Их объединяют механизмы удобной быстрой загрузки, сохранения, добавления и обрезки данных. Но их объединяет не только логика но и реализация, реализация класса TStream. Забегая наперед скажу что сам класс "недореализован", т.е. нельзя создать объект такого класса (так как он абстрактный), но кой чего он умеет.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 24.08.2012, 23:16   #3
furstenberg
Форумчанин
 
Регистрация: 08.10.2007
Сообщений: 125
По умолчанию

Пробовал TMemoryStream, TFileStream вместо TStream -та же история. В итоге воспользовался процедурой DecodeStream(Stream,OutFile) из модуля
EncdDecd.
furstenberg вне форума Ответить с цитированием
Старый 25.08.2012, 23:36   #4
furstenberg
Форумчанин
 
Регистрация: 08.10.2007
Сообщений: 125
По умолчанию оказывается b64 ,бывает битым ...

битый b64 выглядит примерно так:
Код:
YOugtX8hPZOzWEhbgKva7guzP5NmdD11jI0BTEk9med5Ns6Y10hAO6IQnra2Lhd86JqHKSU8Fm7R
YkuQAy1uAD+IdOm2Bsv7coZ13auoX1Bf/EKM8eiqV+9gspHdmZG4nWGKVK2S8pb4OW1oabITlaYJ???
?????????????????????????????????????????????????????????????????????????????????????????????
??????????????????????????????????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????
XCxFY+DU6yNiyXkhKibP98N1N76vPpsCLpjC3m+nlneecsmqAH3irOgejdjSNZlgSJvkKNPcFtha
365nsygqAdO/gpUT1nck5l2sTKSL17e1PeX7B8G7WfcQYs+26x/BDTipmRlKyH/40bITAlM+DPB1
eGoaAiiywG9o5/Wa4jibytoOjOdU8h8Jpdb/9lnTYhnSoQEhJsItsxxP5sbLhNnL2ffyHN6VCQsr
GR9TxtpdAHxyj0ykv2ZlV6dSOeLaGrLEIwb+sY/4JsV6ZTk6cHVibGlzaGVyMTE6dG9ycmVudHMu
cnUxMzpwdWJsaXNoZXItdXJsNDc6aHR0cDovL3RvcnJlbnRzLnJ1L2ZvcnVtL3ZpZXd0b3BpYy5w
aHA/dD0yNjM0Mjdl
и как его декодировать? Если как обычный b64, то декодированный pdf или doc не открывается. Однако есть небольшая консольная программка, которая спокойно декодирует ломаные файлы. Скорее всего ? надо заменить на что-то и потом колбасить. Вопрос только на что?
furstenberg вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Декодирование Jpeg AFA Win Api 0 19.04.2011 03:21
декодирование MPEG2 CHizzzER Общие вопросы C/C++ 4 05.03.2011 16:20
Поток. Не получается создать поток. Выдает ошибки при запуске bigory Общие вопросы по Java, Java SE, Kotlin 3 23.09.2010 00:40
Декодирование пакетов..!!!! Memfis1992 Работа с сетью в Delphi 9 22.06.2010 18:04