Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
14-46974
TheoS
2003-04-27 01:21
2003.05.15
Проблемма с папкой в Windows XP


14-46918
Фикус
2003-04-25 08:22
2003.05.15
Анекдот - кошмар юниксоида :)


9-46558
DWA
2002-11-30 16:08
2003.05.15
Поменять разрешение


14-46978
kost
2003-04-27 17:50
2003.05.15
C++


3-46653
Ptr
2003-04-24 17:36
2003.05.15
Сумма нарастающим итогом





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский