![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| AlexV1 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 27.1.2003 Репутация: нет Всего: нет |
Товарищи программисты!
До использования GridEh я пользовался RxDBGrid, у которого есть свойство iniStorage, где указывается имя компонента TFormStorage. И все. Все ширины колонок, а также порядок колонок автоматически сохраняются от запуска к запуску программы. Как проще всего поступить с GridEh ? |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
Написать процедурку, которая это делает. А для этого посмотреть исходники RxDBGrid.
Делов-то |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Там есть свойство, растягивания колонок автоматически. Может быть это тебе поможет?
Если все же ты хочешь сохранять установки пользователя, то только программно, при выходе из программы записывать их, а при открытии программы устанавливать программно. P.S. кстати, может и в DBGridEh есть такая возможность, но я просто с ней не сталкивался, но ИМХО нет такого. Если что, можно связаться с самим автором, и у него спросить. -------------------- |
|||
|
||||
| AlexV1 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 27.1.2003 Репутация: нет Всего: нет |
Наверное так лучше. Мне бы хотелось сохранять эти параметры в реестре. Но с реестром я еще не имел дело. Как в нем создавать параметры и пихать в них зн-я ? А потом читать. Подскажите плиз, или линк, где можно об этом почитать. |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
TRegistry
P.S. Посмотри в нашем FAQ. Там это есть. -------------------- |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
IMHO не надо в регистри - пусть будет ini-файл.
Мне лично не нравится, когда регистри распухает до неприличных размеров. |
|||
|
||||
| AlexV1 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 27.1.2003 Репутация: нет Всего: нет |
А я уж и с реестром разобрался.
Думаю, что от двух строк типа '36,324,643,2,4,2,' реестр сильно не распухнет. Сохранение ширин колонок ------------------------------------------------- uses Registry; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); var reg:TRegistry; i:integer; st:string; begin Reg := TRegistry.Create; Reg.RootKey := HKEY_LOCAL_MACHINE; Reg.OpenKey('\Software\FTree',True); // Сохраняем в реестр ширины колонок st:=''; for i:=0 to DBGridEh1.Columns.Count-1 do st:=st+IntToStr(DBGridEh1.Columns[i].width)+','; Reg.writeString('gridEh1widths',st); reg.CloseKey; end; procedure TForm1.FormShow(Sender: TObject); var reg:TRegistry; i:integer; st,s1: string; begin Reg := TRegistry.Create; Reg.RootKey := HKEY_LOCAL_MACHINE; Reg.OpenKey('\Software\FTree',True); // Считываем ширины колонок из реестра st:=Reg.ReadString('gridEh1widths'); // st='34,12,65,246,1536,23,' // Настраиваем сетку (ширины колонок) for i:=0 to DBGridEh1.Columns.Count-1 do begin s1:=copy(st,1,pos(',',st)); delete(st,1,length(s1)); delete(s1,length(s1),1); DBGridEh1.Columns[i].width:=StrToInt(s1); end; reg.CloseKey; end; |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Рад сообщить что библиотека компонент EhLib версии 3.0 доступна для загрузки.
Скачать EhLib 3.0 можно здесь http://www.farpost.com/personal/dmitryb/RU...US/ehlibrus.exe Пароль: ФЕВРАЛЬФЕВРАЛЬ Что нового в версии 3.0 В TDBDateTimeEditEh + Новые значения в типе TDateTimeKindEh (свойство Kind). TDateTimeKindEh = (dtkDateEh, dtkTimeEh, dtkDateTimeEh, dtkCustomEh); + Добавлено свойство EditFormat. Теперь вы можете набрать свой формат даты/времениt используя следующие элементы формата: 'YY', 'YYYY', 'MM', 'DD', 'HH', 'NN', 'SS'. Библиотека разделена на design-time и run-time пакеты. EhLib[XX] - run-time пакет и DclEhLib[X] - design-time пакет, где [XX] двузначый номер версии VCL: и EhLibB[XX] c DclEhLibB[XX] под C++ Builder. При инсатляции, все компоненты помещаются на отдельную страницу палитры компонент - 'EhLib'. Обратите внимание что Delphi IDE не переносит компонеты на новую страницу по умолчанию, когда вы ставите новую версию тех же компонент. Так что если у вас уже стояла библиотека версии ниже чем 3.0 то инсталяция этой версии оставит компоненты на прежнем месте в палитре. Чтобы заставить Delphi IDE перенести компонеты на новое место по умолчанию, сделайте следующее: Откройте меню: Component->Configure Palette. Выберите строку '[All]' в листбоксе Pages. Нажмите кнопку 'Default Pages'. Новые компоненты: TPropStorageEh, TIniPropStorageManEh, TRegPropStorageManEh. Реализует технологию сохранения и восстановления свойств компонент в/из ini файлов и реестра. Базовая компонента данной технологии это TPropStorageEh. Поместите это компоненту на форму, свойства компонент которой вы хотите сохранять в хранилище настроек. Двойной щелчок на компоненте в design-time'е открывает окно редактора свойств всех компонент формы. В дереве свойств компонент вы можете отметить необходимые для сохранения свойства. Список свойств является списком всех published свойств или объявленных в функции DefineProperty компоненты за исключением свойств класса TCollection. В дополнение к списку всех элементов коллекции, дерево свойств выводит подсвойство <ForAllItems>, при отметки подсвойств в данной ветки компонента будет сохранять соответствующие подсвойства для каждого элемента коллекции. Компонент TPropStorageEh умеет сохранять/восстанавливать значения свойств в поток, однако для перенаправления потока в хранилище настроек необходимо выполнить одно из следующий действий. 1. Поместить на форму компонент порожденный от TPropStorageManagerEh. В данной версии присутствуют такие компоненты, это TIniPropStorageManEh и TRegPropStorageManEh. Правильно настроить свойства этих компонент и присвоить свойству TPropStorageEh.StorageManager этот компонент. 2. Либо вы можете один раз написать код по регистрации глобального компонента DefaultPropStorageManager. Все компоненты TPropStorageEh у которых не прописано свойство StorageManager будут использовать менеджер DefaultPropStorageManager для перенаправления потока значений свойств в хранилище настроек. Код по регистрации глобального компонента может выглядеть примерно так: ----------- MainUnit.Pas-------- ...... initialization IniPropStorageMan := TIniPropStorageManEh.Create(nil); IniPropStorageMan.IniFileName := 'MyIniFile.Ini'; SetDefaultPropStorageManager(IniPropStorageMan); end. -------------------------------- + Добавлен design-time редактор компоненты ClientDataSet. Смотри детали в AdvTech\CDSDesign\readme.txt dir. CDSDesign содержит design-time редактор компоненты ClientDataSet, Он унаследован от TFieldsEditor, включает все особенности FieldsEditor и позволяет редактировать данные в ClientDataSet в design-time'е. Вы можете вручную заполнить данные в design-time в отсоедененный ClientDataSet без загрузки данных из файла или из другого датасета. Best regards: Dmitry V. Bolshakov +7 (812) 159-44-96 (voice in Russia) Home page: http://www.farpost.com/personal/dmitryb E-mail: [email protected] E-mail2: [email protected] ICQ # 10785451 -------------------- |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |