Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Файловая система
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.10.2010, 11:38
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию jpg в ini

Пытаюсь записать jpg файл в ini:

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
MS:TMemoryStream;
I:TIniFile;
begin
if OpenPictureDialog1.Execute then
begin

 I:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'A.ini');
 MS:=TMemoryStream.Create;

 Ms.LoadFromFile(Form1.OpenPictureDialog1.FileName);
 I.WriteBinaryStream('Main','a',MS);

 I.Free;
 MS.Free
end;

end;


Я проверял, все сохраняется.

Потом я хочу извлечь из ini:


Код:
procedure TForm1.Button2Click(Sender: TObject);
var
MS:TMemoryStream;
I:TIniFile;
begin
 I:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'A.ini');
 MS:=TMemoryStream.Create;

 I.ReadBinaryStream('Main','a',MS);
 MS.SaveToFile(ExtractFilePath(Application.ExeName)+'A.jpg');

 I.Free;
 MS.Free

end;


Но файл извлекается не полностью: весь серый, а только в левом верхнем углу что-то намекающее не картинку.


Кто-нибудь пытался сделать что-то вроде этого?

Последний раз редактировалось ChinYan, 19.10.2010 в 11:42.
Ответить с цитированием
  #2  
Старый 19.10.2010, 13:36
Аватар для pesi
pesi pesi вне форума
Активный
 
Регистрация: 12.09.2008
Сообщения: 275
Репутация: 43
По умолчанию

Справка выдала:
When used with a Windows .ini file, ReadBinaryStream is limited to 1023 characters
Ответить с цитированием
  #3  
Старый 19.10.2010, 19:12
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

Мда, понятно... а никто не знает, как расширить сей лимит?
Ответить с цитированием
  #4  
Старый 19.10.2010, 19:32
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

Расширить не как, только писать свой тип файла (или же тупое сохранение потока памяти в файл)...
__________________
Помогаю за Спасибо
Ответить с цитированием
  #5  
Старый 19.10.2010, 19:36
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

пришла тут дурацкая идея разбить файл на кусочки по 1023 байта
Ответить с цитированием
  #6  
Старый 19.10.2010, 19:37
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

а вообще, нужно несколько файлов объединить в один, с возможностью потом извлечь их
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 03:20.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter