hange(Sender: TObject; Node: TTreeNode);
begin ;;
///////////////////////////////////////////////////////////////////////////////
//конфігурація шрифту для відображення тексту заміток
///////////////////////////////////////////////////////////////////////////////TPhoneBook.FontcfgExecute(Sender: TObject); fs: string;: tinifile;:=tinifile.Create (dir + PhoneBook.ini );
try:= +0000 raquo ;;//початкові параметри стилю
fontdialog1.Font:=files.font; fontdialog1.Execute then begin
files.Font:=fontdialog1.Font;
//запам'ятаємо і встановимо вибрані параметри
filesetattr(cfgini.FileName,$00);.WriteInteger(laquo;Notesraquo;,laquo;FontSizeraquo;,files.Font.size);.WriteString(laquo;Notesraquo;,laquo;FontFaceraquo;,files.Font.Name);
//закодируем і збережемо стиль шріфтаfsBold in files.font.Style then fs [1]:= 1 raquo ;; fsItalic in files.font.Style then fs [2]:= 1 raquo ;; fsUnderline in files.font.Style then fs [3]:= 1 raquo ;; fsStrikeOut in files.font.Style then fs [4]: ??= 1 raquo ;;. WriteString ( Notes , FontStyle raquo ;, fs) ;; (log, FileWriteError ( + cfgini.FileName + ) , RemoveExecute );
end; .Free ;;
///////////////////////////////////////////////////////////////////////////////
//Запам'ятаємо змінюється текст в замітці по ходу його зміни
///////////////////////////////////////////////////////////////////////////////TPhoneBook.FilesChange(Sender: TObject);
var cr_lf: integer;
//тільки якщо це замітка
if list.selected.imageindex=2 then begin(includeTrailingBackslash(dir)+laquo;textlaquo;+list.selected.text+raquo;.txtlaquo;,$00);.Lines.savetofile(includeTrailingBackslash(dir)+raquo;textlaquo;+list.selected.text+raquo;.txtlaquo;);(log,raquo;FileWriteError(laquo;+list.selected.text+raquo;.txt)laquo;,raquo;FilesChangelaquo;);;;_lf:=files.Lines.count*2;.Panels[3].text:=raquo;Символов:raquo;+inttostr(length(files.lines.text)-cr_lf);
end;
////////////////////////////////////////////////////////////////////////////////
//зміна імені замітки або імені і коментаря групи
////////////////////////////////////////////////////////////////////////////////TPhoneBook.ChgPropExecute(Sender: TObject) ;. CreateForm (TForm4, Form4); list.Selected lt; gt; list.items.GetFirstNode then form4.showmodal;
form4.free ;; ;
////////////////////////////////////////////////////////////////////////////////
//поновлення відображення іконок для вузлів каталогу
////////////////////////////////////////////////////////////////////////////////UpdateNotesIcons;i:integer;:tinifile;:=tinifile.Create(dir+laquo;PhoneBook.iniraquo;);PhoneBook do beginI:=1 TO LIST.ITEMS.COUNT - 1 DO BEGINcfgini.ValueExists ( Group , List.Items [i] .Text) then beginlist.items [i] .count gt; 0 then begin.Items[i].ImageIndex:=1;.Items[i].SelectedIndex:=1;begin.Items[i].ImageIndex:=3;.Items[i].SelectedIndex:=3;;begin.items[i].ImageIndex:=2;.items[i].SelectedIndex:=2;;;.Refresh;;(log,laquo;FileReadError(PhoneBook.ini)raquo;,laquo;UpdateItemsIconsraquo;);
end; .Free ;;
////////////////////////////////////////////////////////////////////////////////
//оновлення параметрів каталогу
////////////////////////////////////////////////////////////////////////////////UpdateNotes;fll:tstringlist;//список рядків замітки для завантаження, i: integer; i:=0 to phonebook.list.Items [0] .Count - 1 do begin(phonebook.list.Items[0].item[i].text=laquo;*raquo;)and(phonebook.list.Items[0].item[i].Countlt;1) then.list.Items [0] .Item [i] .Delete ;; PhoneBook.list.selected=nil then.list.items[0].Selected:=true;.statusbar1.panels[2].text:=laquo;raquo;;.statusbar1.panels[3].text:=laquo;raquo;;
PhoneBook.files.Clear;
//застосування параметрів залежно від обраного еліменти списку
case PhoneBook.list.selected.imageindex of
0: begin//корінь
//встановимо кооментарій і деактівізіруем недоступні еліменти
//покажемо доступние.NewSubcategory.Enabled:=true; .newtext.enabled:=true;
//сховаємо недоступные.setfirst.enabled:=false;gprop.enabled:=false;.cut.enabled:=false;.copy.enabled:=false;.paste.enabled:=false;.Remove.enabled:=false;.files.enabled:=False;.savenote.Enabled:=false;.allUpper.e...