Форум: "Основная";
Текущий архив: 2003.05.15;
Скачать: [xml.tar.bz2];
Вниз
Вывод 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.166 c