![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сохранение параметров текста 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;
Далее записывай и считывай сколько душе угодно...