Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.15;
Скачать: CL | DM;

Вниз

Вывод TFileStream в INI-файл   Найти похожие ветки 

 
oleg_sys ©   (2003-05-01 14:41) [0]

Как-то я слышал, что в INI-файл можно выводить стримы (TFileStream, TMemoryStream) методом
WriteBinaryStream/ReadBinaryStream. Я решил попробывать вывести TJpegImage, но у меня ничего не выйшло - объём файла TFileStream`а увеличился, а в INI-файле были только параметры.
Что мне делать?
Вот готовый проект <a href= http://classno.nm.ru/demoini.zip>http://classno.nm.ru/demoini.zip</a>
Спасибо...


 
Anatoly Podgoretsky ©   (2003-05-01 14:50) [1]

Ну раз файл увеличился, то удалось


 
oleg_sys ©   (2003-05-01 15:06) [2]

Увеличился TFileStream (тот, который создавался), а мне нужен конечный - INI-файл, размер которого увеличился засчёт нескольких параметров (12 байт. Но это не картинка).
А ссылка вот (без диффектов):
http://classno.nm.ru/demoini.zip


 
Ик сик   (2003-05-01 16:31) [3]

Есть специальный поток TMemIniFile, если тебе нужно записывать в INI-файл, то лучше использовать именно его. Т.к. там легко работать с Name=Value.

> Я решил попробывать вывести TJpegImage, но у меня ничего
> не выйшло - объём файла TFileStream`а увеличился, а в INI-файле
> были только параметры.

В Ini-файлах и бывают только параметры. Если нужно записать jpeg, то лучше записывать в обычный файл


 
oleg_sys ©   (2003-05-01 18:31) [4]

Попробывал TMemIniFile (это чё-то типа навороченного INI-файла) - дык он вообще не создаёт его. С простым INI-файлом хоть файл физически создавался.


 
Набережных С.   (2003-05-01 19:55) [5]

procedure TForm1.Button1Click(Sender: TObject);
...
image1.Picture.Graphic.SaveToStream(xxx);
xxx.Position:=0; //<<<<<
....

procedure TForm1.Button3Click(Sender: TObject);
...
kkk2.ReadBinaryStream("rr","rere",xxx2);
xxx2.Position:=0; //<<<<<
image1.Picture.Graphic.LoadFromStream(xxx2); //<<<<<
...


 
oleg_sys ©   (2003-05-01 20:11) [6]

Исправил. Но после
image1.Picture.Graphic.SaveToStream(xxx);
xxx.Position:=0;
Возникает ошибка "Unable To Write <путь>".


 
Набережных С.   (2003-05-01 21:01) [7]

>oleg_sys © (01.05.03 20:11

Вранье.

procedure TForm1.Button1Click(Sender: TObject);
var
xxx: TFileStream;
kkk:tIniFile;
begin
xxx:=TFileStream.Create(ExtractFilePath(Application.ExeName)+"oleg.dat",fmCreate or fmOpenReadWrite);
kkk:=TIniFile.Create(ExtractFilePath(Application.ExeName)+"oleg.ini");
image1.Picture.Graphic.SaveToStream(xxx);
xxx.Position:=0; // <<<<<
kkk.WriteBinaryStream("rr","rere",xxx);

Button3.Enabled:=True;

xxx.Free;
kkk.Free;
end;


procedure TForm1.Button2Click(Sender: TObject);
begin
if openpicturedialog1.Execute then
begin
image1.Picture.LoadFromFile(openpicturedialog1.FileName);
button1.Enabled:=true;
end;
end;

procedure TForm1.Button3Click(Sender: TObject);
var
xxx2: TFileStream;
kkk2:tIniFile;
begin
xxx2:=TFileStream.Create(ExtractFilePath(Application.ExeName)+"oleg.dat",fmCreate or fmOpenReadWrite);
kkk2:=TIniFile.Create(ExtractFilePath(Application.ExeName)+"oleg.ini");
kkk2.ReadBinaryStream("rr","rere",xxx2);
xxx2.Position:=0; //<<<<<
image1.Picture.Graphic.LoadFromStream(xxx2); //<<<<<

xxx2.Free;
kkk2.Free;
end;

Никаких исключений.


 
oleg_sys ©   (2003-05-02 10:08) [8]

Не знаю... может, у меня какой-то Дельфяк глюковатый, или баги в TIniFiles.pas :(
Я вставил вышеперечисленный код и всё-равно не работает :(



Страницы: 1 вся ветка

Текущий архив: 2003.05.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
14-46900
Andy
2003-04-28 16:19
2003.05.15
Proxy сервер


14-46983
VID
2003-04-27 16:00
2003.05.15
100Гб винт и ABIT BH-6


14-46979
Scorpx
2003-04-27 11:57
2003.05.15
САЙТ ВОССТАНОВЛЕН!!!


3-46577
Dim!S
2003-04-23 10:08
2003.05.15
Выборка записей в Oracle


1-46840
stimm
2003-05-03 11:11
2003.05.15
Вопрос по длинной арифметике