Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 06.01.2011, 10:22   #1
GoldmasteR
Заблокирован
 
Регистрация: 05.09.2010
Сообщений: 23
Репутация: 10
По умолчанию Base64

Не могу в delphi разкодировать картинку:

Делаю запрос сайту, мне приходит ответ например:

/9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1 c2luZyBJSkcgSlBFRyB2NzApLCBxdWFsaXR 5ID0gOTAK/9sAQwADAgIDAgIDAwMDBAMDBAUIBQUEBAUK BwcGCAwKDAwLCgsLDQ4SEA0OEQ4LCxAWEBE TFBUVFQwPFxgWFBgSFBUU/9sAQwEDBAQFBAUJBQUJFA0LDRQUFBQUFBQU FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ UFBQUFBQUFBQUFBQUFBQU/8AAEQgASAB4AwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQ YHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQ USITFBBhNRYQcicRQygZGhCCNCscEVUtHwJ DNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNE RUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ 3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpq eoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1 tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQ YHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBA UhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwF WJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpD REVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV 2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpK Wmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1 NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A+46KKK88+lCiiigAoo ooARmCKWYhVAySTgCqdrrenX0rR219bXEi/eWKVWI+uDXiEtvd/Hv4k+I9JutQnsfCXhudbVrezcI93OR824kH 5R7da2tZ/Zb8IXVgF0o32i6jGd0V/b3Tl1YHIJBOD9BiuX2s5XdON167nN7ScruE br1PYqK8H+B/xO1238W6h8O/Gcgudbsdxtb8DH2iJem73wCa94rWnUVWPMj WnUVSPMgooorU0CiiigAooooAKKKKACiiig AooooA+efGPhnxp8HPHGveNfCUdhqugapi4 1LTL24EGx1z8yscAcHjn8DVBv2s/EU3hptRtfhbrUxI+W4Te1vn13Kh49+9W/jpq9rcfG3wPoniif7P4NaN7hkkJEM1yM7BI ehHQAH1NfQVk9sbeNbRojAFGwQkbQMcYx2r zYwlKc40p8qT20eu/XZHnxhKU5Rpy5UvR67/ACR8o/AS40n4i/FeXxlrviuyPikjEehRRvAYhjoPMA3kAfw59 zX1tXgn7UXhrwRP4L1HV72Wz0zxRZoZbG7g dY7kzAfIpxyQTjr04rtf2ffEeteKfhRol/r6OuomPyzJIMNKq8Bz7nv71WH/AHU3Rer3v39ezKofu5ui9Xvf/PzPRqKKK9A7gooooAKKKKACiiigAooooAKK KKAMvxB4X0fxXZm01nTLTVLb/nldwrIAfUZHB965OT4BfD2VFQ+FbIIvRV3K B+Rr0Cis5U4S1kkyHCEtWkzjNJ+DPgXQ5PM svCWkQyg5En2RGYfQkEj8K7FEWNFRFCoowF UYAHpTqKqMYx+FWGoxj8KsFFFFUUFFFFABR RRQAUV8f/8ADwX/AKkL/wArP/2ij/h4L/1IX/lZ/wDtFed/aGG/m/BnD9ew/wDN+DPsCivkWD9vm4uoriWH4dyzR20YlneP ViwiQsqBmIt/lG50XJ7sB1Iq4f24NYEtlEfhbfeZfSLFaJ/aD5uHZY3VYx9n+YlZomAGciRD0YZf1/Dv7X4P/If12g/tfg/8j6uor5Lk/bs1CLz9/wANLlPIgjupd2psPLhfZ5cjf6PwjeZHhjwd 64+8Khg/b5uLqK4lh+Hcs0dtGJZ3j1YsIkLKgZiLf5R udFye7AdSKPr+H/m/B/5C+u0P5vwf+R9dUV8r/wDDaev/AGH7b/wqbUvsf/Px9tk8v/UfaPvfZsf6n97/ALnzfd5qG/8A24NY0qziu734W31nayxxSxz3GoOiOkocx MGNvghxHIVI+9sbGcGn9ew/834P/If1yh3/AAf+R9XUV8xxftgeJP8AhKLDw/d/CfUtO1W9w0dtdXM4l8vJzL5S2hkZFCuSVVj hGwDiqej/ALcEutaLr2oxeDbaL+x4IrmW2l1l/NljeZId0eLUr8ryx5DMpw3GcHD+u0P5vwf+ Q/rlHv8Agz6oor5Fsv2+bjUbyC0tPh3LdXU8i xQwQ6sXeR2OFVVFvkkkgADrVy7/AG4NYsIllufhbfW8bWiX4eXUHUG2dgiTZNv/AKtmZVD9CSADk1P1/DvXm/B/5C+u0Hrzfg/8j6uor5Fu/wBvm4sJViufh3LbyNGkoSXVipKOodGwbfoy srA9wQRwah/4eC/9SF/5Wf8A7RR/aGG/m/B/5C+vYf8Am/Bn2BRXx/8A8PBf+pC/8rP/ANoopf2hhv5vwYfXsP8Azfgz4/ooor40+TOw+GfjLT/Bmq30uqab/athdQRRyWxCssnlXUFyI2VuCkhtxE2c7VkL YfbsbvNM+N+gWN1YST6Rc3f9jT20mnSuke+ TyItPVZDknyXf+y0Q7S+1byTlvKCzFFbwrT grI2jVlBWRg618UNH1HwXc2EOlSxazd6bba bPcFUA2RLYqPnHzMF/s1GVSBzeSjjygZofC3jLwh4M1WGW003UtVs LrSbWPVLbUxCyyXkV1DcvGijg28ht0i+bLK sjMQ+0IxRR7aV+bqL2sr3Oq0j496Po95oyr p99Pa2V3bJJKdiubaA6PskCbiPMcaU+Y92F 81RvbBJzX+M2iXGj/ANl3miXN/YLY2cDxNMIvtLIujrNGxU5jQjTJQHUlv3q/KuDRRVfWKmxft57E3/C1/DX9ueAJHF8bXw5rM2qXNza6LZWRuQfszIEt oGRFO6AoSzscYfcciNOJ8N6voGj6X43s57v Um/tKxFlpzx2MZ37bmKdWmBmHl5+zopC+ZjzGO TtAYoqXWk3d/wBaWIdWTd3/AFpYm8A694Y8K3nhzWrtNXk1/TfEFteTJCIjatYRlXYKCQxm3qcZIXHfNQ+G/Gu5NesPEOoalNYa1A6TXUf+kywzNcW87ziN 3QSO5tURiXUkEMSdoUlFSqjVkv66CU2rJFP 4g+IdP8T+JBe6Xb3NrYJY2NpHDeOryr5FpF CQWUANzGfmAXIwdq5wObooqJNybbIbcndhR RRUiP/Z



А вот как именно в дельфи программно это чудо в картинку привратить не знаю!(((

Пробывалв HTML как картинка сделать:
<img src="data:image/gif;base64,[
Код base64
]"/>

Так показывает только в опере, а в интернет експловере нет((

Я новечек если можно то по подробнее, заранее спасибо!!!
GoldmasteR вне форума   Ответить с цитированием
Старый 06.01.2011, 12:35   #2
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,797
Репутация: 6622
По умолчанию

У меня дома вроде как есть unit для раскодировки, откуда то скачал, подождешь до вечера брошу

Что-то я начудил, этот юнит в D7 есть (EncdDecd)Примерное обращение:
Код:
var xInStr: TStringStream;
     xOutStr: TMemoryStream;
...
//в xInStr помещен исходный код
   xOutStr:=TMemoryStream.Create;
   DecodeStream(xInStr,xOutStr);
   xOutStr.SaveToFile(<имя файла>);

не "плодите" посты один за другим!
Используйте кнопку "Правка"
Модератор.

Последний раз редактировалось Serge_Bliznykov; 06.01.2011 в 13:01.
Аватар вне форума   Ответить с цитированием
Старый 06.01.2011, 13:19   #3
GoldmasteR
Заблокирован
 
Регистрация: 05.09.2010
Сообщений: 23
Репутация: 10
По умолчанию

А EncdDecd на какой вкладке?
GoldmasteR вне форума   Ответить с цитированием
Старый 06.01.2011, 14:13   #4
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,797
Репутация: 6622
По умолчанию

На вкладе по-моему нет, поищи в исходниках дельфи. В 7 дельфи есть, в других версиях не знаю. Это просто юнит с процедурами, поставь в список юнитов ссылку и проблем не должно быть

Последний раз редактировалось Аватар; 06.01.2011 в 14:21.
Аватар вне форума   Ответить с цитированием
Старый 06.01.2011, 14:47   #5
GoldmasteR
Заблокирован
 
Регистрация: 05.09.2010
Сообщений: 23
Репутация: 10
По умолчанию

Блин не получается((

Смотрите я в memo1 пишу код base64

Жму на кнопку и эта картинка появляется в image1
GoldmasteR вне форума   Ответить с цитированием
Старый 06.01.2011, 14:54   #6
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,797
Репутация: 6622
По умолчанию

Цитата:
Сообщение от GoldmasteR Посмотреть сообщение
Блин не получается((

Смотрите я в memo1 пишу код base64

Жму на кнопку и эта картинка появляется в image1
Что не получается? Код в студию
Аватар вне форума   Ответить с цитированием
Старый 06.01.2011, 16:19   #7
GoldmasteR
Заблокирован
 
Регистрация: 05.09.2010
Сообщений: 23
Репутация: 10
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var xInStr: TStringStream;
     xOutStr: TMemoryStream;
begin
   xInStr:=memo1.text;
   xOutStr:=TMemoryStream.Create;
   DecodeStream(xInStr,xOutStr);
   xOutStr.SaveToFile('cod.gif');
end;
в user EncdDecd

И подсвечивает строку
xInStr:=memo1.text;

Последний раз редактировалось Stilet; 06.01.2011 в 19:31.
GoldmasteR вне форума   Ответить с цитированием
Старый 06.01.2011, 17:38   #8
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,797
Репутация: 6622
По умолчанию

xInStr:=memo1.text; - так нельзя
нужно:
Код:
xInStr:=TMemoryStream.Create;
xInStr.LoadFromFile(<имя файла с данными в BASE64>);
//или как-то по другому в поток загрузить данные
В конце обязательно:
Код:
xInStr.Free;
xOutStr.Free;
xOutStr.SaveToFile('cod.gif'); - в общем не обязательно, можно напрямую в Image загрузить, используя LoadFromStream или в Image или Image.Bitmap (точно не помню). А в принципе с вопросами типа "напиши программу за меня" нужно обращаться в раздел для новичков (свмый первый раздел)

Последний раз редактировалось Аватар; 06.01.2011 в 17:42.
Аватар вне форума   Ответить с цитированием
Старый 06.01.2011, 19:03   #9
GoldmasteR
Заблокирован
 
Регистрация: 05.09.2010
Сообщений: 23
Репутация: 10
По умолчанию

Опять ошибка

Код:
procedure TForm1.Button1Click(Sender: TObject);
 var xInStr: TStringStream;
     xOutStr: TMemoryStream;
begin
   TMemoryStream.Create;
    TMemoryStream.LoadFromFile('cod.txt');
   xOutStr:=TMemoryStream.Create;
   DecodeStream(xInStr,xOutStr);
   xOutStr.SaveToFile('cod.gif');
   xInStr.Free;
   xOutStr.Free;
end;
Помогите пожаоуйста!!! Как исправить?

Подчеркивает
TMemoryStream.LoadFromFile('cod.txt ');

Опять ошибка
Проект открывается, но как нажму на кнопку ошибка

Подчеркивает
xOutStr:=TMemoryStream.Create;


Код:
procedure TForm1.Button1Click(Sender: TObject);
 var xInStr: TStringStream;
     xOutStr: TMemoryStream;
begin
   TMemoryStream.Create;
    xOutStr.LoadFromFile('cod.txt');

   xOutStr:=TMemoryStream.Create;
   DecodeStream(xInStr,xOutStr);
   xOutStr.SaveToFile('cod.gif');
   xInStr.Free;
   xOutStr.Free;
end;
вот исходный код

From Stilet: Почему код не выделяем спецтегом по кнопке #? Это неуважение к форумчанам.

Последний раз редактировалось Stilet; 06.01.2011 в 19:33.
GoldmasteR вне форума   Ответить с цитированием
Старый 06.01.2011, 19:27   #10
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,797
Репутация: 6622
По умолчанию

Код:
TMemoryStream.Create;
xOutStr.LoadFromFile('cod.txt');
заменить на
xInStr:=TStringStream.Create;
xInStr.LoadFromFile('cod.txt');

Последний раз редактировалось Аватар; 06.01.2011 в 19:31.
Аватар вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
base64 в delphi 2009 Shad0w64bit Общие вопросы Delphi 12 06.08.2010 08:29
base64 beemoto Общие вопросы Delphi 0 24.04.2010 21:58
base64 Dimarik Win Api 0 10.04.2010 18:59
кодировать в base64 furstenberg Общие вопросы Delphi 13 29.08.2008 17:02
base64 BlackOmen Общие вопросы Delphi 2 02.05.2008 16:30


06:43.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru