Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сохранение параметров текста TreeView [D6, Win2k]


diabolik_krsk ©   (2004-11-02 06:09:00) 

Уважаемые мастера, вопрос следующий.

Работаю с сохранением настроек программы через TIniFile.
На форме существует компонент TTreeView. С сохранением основных параметров в ini файле нет проблем. Проблемы возникают когда необходимо сохранить параметры шрифта отображаемого в TTreeView: Style - fsBold, fsItalic и т.д.
Во первых не знаю как сохрянять: WriteString, WriteBool, WriteInteger либо еще как то, и какой необходим синтаксис после этого.


diabolik_krsk   (2004-11-09 07:41:00) [1]


> KisaNetik   (02.11.04 06:45) [1]


> type opFont=record
> TreeViewFont:TFont;
> StringGridFont:TFont;
> end;
> var
> f:File of opFont;


> var
> opf:opFont;
> f:File of opFont;
> begin
> AssignFile(f,ExtractFilePath(ParamStr(0))+'fonts.dat');
> try Reset(f) except Rewrite(f) end;
> читаешь так: read(f,opf);
> записываешь так: write(f,opf);
> CloseFile(f);
> далее...
> TreeView.Font:=opf.TreeViewFont;
> StringGrid.Font:=opf.StringGridFont;


Попробовал! Создает файл *.dat размером 4 байта (одна запись). В файле 3 символа и ничего больше! Пробовал загружать данные с документа. Однако параметры шрифта не грузятся и не устанавливаются.

В чем проблема???


diabolik_krsk   (2004-11-03 08:03:00) [2]

Ок. Попробую.


KisaNetik   (2004-11-03 06:55:00) [3]

И всё получаешь  в одном файле.... Тип просто по больше сделай!


KisaNetik   (2004-11-03 06:51:00) [4]


> для каждого создавать свой файл

Зачем? Я же привёл пример со StringGrid Что же мешает добавить туды и другие обьекты???


diabolik_krsk   (2004-11-02 08:04:00) [5]

С типизированными файлами сталкивался. Так что надеюсь разберусь.

Но вот вопрос то в том, чтоб сохранять это все в файл ini. Потому как если в проге несколько таких обектов - придется для каждого создавать свой файл.


KisaNetik   (2004-11-02 07:49:00) [6]


> Или в ini все это дело тоже можно записать??


если вторым способом, который я бы советовал, то конечтно в отдельный файл настроек!!! Вроде как *.dat
var
opf:opFont;
f:File of opFont;
begin
AssignFile(f,ExtractFilePath(ParamStr(0))+'fonts.dat');
try Reset(f) except Rewrite(f) end;
читаешь так: read(f,opf);
записываешь так: write(f,opf);
CloseFile(f);
далее...
TreeView.Font:=opf.TreeViewFont;
StringGrid.Font:=opf.StringGridFont;
____________________________
Типерь надеюсь ястно..... ;-)


diabolik_krsk   (2004-11-02 07:24:00) [7]


> KisaNetik   (02.11.04 06:45) [1]


ИМХО, полагаю, сохраняешь все это дело в отдельный файл?? Или в ini все это дело тоже можно записать??


KisaNetik   (2004-11-02 06:45:00) [8]

>Во первых не знаю как сохрянять: WriteString, WriteBool, >WriteInteger либо еще как то, и какой необходим синтаксис после >этого

пробуй так:
В файле^
[TWFont]
fsBold=Yes
fsItalic=No

В программе:
var
Bold,Italic:Boolean;
if ini.readstring('TWFont','fsBold','No')=Yes then bold:=true;
if ini.readstring('TWFont','fsItalic','No')=Yes then italic:=true;
if (not fsialic)and(fsBold) then TreeView.Font.Style:=[fsBold] else if .........
И будещь долго мучаться..

но можно проще:
Я для таких вещей делаю типизированный файл вроде
type opFont=record
TreeViewFont:TFont;
StringGridFont:TFont;
end;
var
f:File of opFont;
Далее записывай и считывай сколько душе угодно...


Наверх

Титульная страница Поиск, карта сайта Написать письмо