Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сохранение настроек и параметров, сделанных пользо, Как сохранить настройки свойств таблицы 
:(
    Опции темы
Mick Winder
  Дата 19.10.2004, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 15.10.2004
Где: Москва Рязанка

Репутация: нет
Всего: -1



Есть форма. На форме таблица. В меню предусмотрена возможность изменение шрифта и цвета заголовков и столбцов таблицы. При первом открытии формы, значения шрифта и цвета фона заданы по умолчанию (да и расположение столбцов тож)... Во время работы с формой изменили все перечисленные параметры... Закрыли форму... Открыли... А там... :stena все настроенные парметры настроек пропали... Все загрузилось по умолчанию... Вопрос. Как сохранить настройки свойств таблицы для следующего запуска формы? :qstn
PM MAIL   Вверх
<Spawn>
Дата 19.10.2004, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



Храни либо в реестре - класс TRegistry, либов в ini - TIniFile, либо создай свой формат хранения данных и пиши все в файл, например, при помощи TFileStream.


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
Mick Winder
Дата 19.10.2004, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 15.10.2004
Где: Москва Рязанка

Репутация: нет
Всего: -1



Цитата
Храни либо в реестре - класс TRegistry, либов в ini - TIniFile, либо создай свой формат хранения данных и пиши все в файл, например, при помощи TFileStream.

А где можно просмотреть примеры использования этих компонентов? :sample
Есть ли другие варианты?
PM MAIL   Вверх
_hunter
Дата 19.10.2004, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



примеры -- в хелпе ( да и поиск помочь должен )

другие варианты... в XML можно хранить ( на него все сейчас переходят )


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Mick Winder
Дата 19.10.2004, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 15.10.2004
Где: Москва Рязанка

Репутация: нет
Всего: -1



Знаю, что в onClose можно запомнить параметы, а в onShow восстановить их... А как написать этот программный код?
PM MAIL   Вверх
_hunter
Дата 19.10.2004, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



зависит от того, на каком способе хранения ты остановился :)

будем считать, что params.Width и params.Height ты пишеш/читаеш. Тогда:

OnClose:

begin
params.Height := Height;
params.Width := Width;
end;

OnShow:

begin
Height := params.Height;
Width := params.Width;
end;

и все.


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Akella
Дата 19.10.2004, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



ставишь библиотеку EhLib (поищи на форуме), она в основном предназначена для БД, но есть 3 маленьких компонента с большими возможностями...

см.тему http://forum.vingrad.ru/index.php?showtopic=32182


PM MAIL   Вверх
Mick Winder
Дата 19.10.2004, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 15.10.2004
Где: Москва Рязанка

Репутация: нет
Всего: -1



Цитата(dsergey @ 19.10.2004, 12:43)
ставишь библиотеку EhLib (поищи на форуме), она в основном предназначена для БД, но есть 3 маленьких компонента с большими возможностями...

см.тему http://forum.vingrad.ru/index.php?showtopic=32182

Я как раз пользуюсь библиотекой Ehlib... таблица у меня DBGridEh
Поместил на форму компонент IniPropStorageManEh, задал имя файла .ini и... пусто... Ничего не сохраняет... Чё делать-то? :(
Добавлено @ 13:12
Цитата(_hunter @ 19.10.2004, 12:10)
зависит от того, на каком способе хранения ты остановился :)

будем считать, что params.Width и params.Height ты пишеш/читаеш. Тогда:

OnClose:

begin
params.Height := Height;
params.Width := Width;
end;

OnShow:

begin
Height := params.Height;
Width := params.Width;
end;

и все.

Последние настройки параметра мне нужны, а не по умолчанию типа const...
PM MAIL   Вверх
Akella
Дата 19.10.2004, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



ложится на форму 2 комопонента
TPropStorageEh
заполняешь Section, StorageManager,
TIniPropStorageManEh
заполняешь имя файла

двойной клик по TPropStorageEh, выбираешь справа свойсва, они попадают в левое окошко
нажимаешь ок

файл будет создан в каталоге операционки, если хочешь, чтобы создавался в каталоге твоей проги, то в событии создания главной формы приложения
Код
IniPropStorageManEh1.IniFileName:=ExtractFilePath(ParamStr(0))+'\print.ini';

Добавлено @ 13:21
изучи снача структуру ini-файла и реестра Windows
PM MAIL   Вверх
_hunter
Дата 19.10.2004, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



Цитата
Последние настройки параметра мне нужны, а не по умолчанию типа const...

вот этого не понял


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Mick Winder
Дата 19.10.2004, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 15.10.2004
Где: Москва Рязанка

Репутация: нет
Всего: -1



Цитата(dsergey @ 19.10.2004, 13:20)
ложится на форму 2 комопонента
TPropStorageEh
заполняешь Section, StorageManager,
TIniPropStorageManEh
заполняешь имя файла

А что в Section пишется? :sample
Добавлено @ 14:41
Цитата(_hunter @ 19.10.2004, 13:22)
вот этого не понял

Если честно, то я тебя не понял... :thumbs-up
PM MAIL   Вверх
Akella
  Дата 19.10.2004, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Цитата
А что в Section пишется?

имя секции, наприем MAIN - для главной формы,
т.к. этих компонентов может быть несколько, например, каждая форма может иметь такой компонент, а TIniPropStorageManEh делается один на весь проект, но это мое мнение.

я же писал изучи структуру in i- файла, очень простая структура

открой, напрмер файл Win.ini и посмотри
имя секции в квадратных скобках []

[MAINFORM]
имя_параметра1=значение
имя_параметра2=значение
имя_параметра3=значение

[SECONDFORM]
имя_параметра1=значение
имя_параметра2=значение
имя_параметра3=значение

Это сообщение отредактировал(а) dsergey - 19.10.2004, 14:49
PM MAIL   Вверх
~FoX~
Дата 19.10.2004, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 13
Всего: 68



Mick Winder
Ини или реестор использовать не обязательно.......
Цитата
либо создай свой формат хранения данных и пиши все в файл, например, при помощи TFileStream


Тем более не рекомендую использовать компненты сторнних разработчикв.
Пиши сам - ручками.





--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
StealtH
Дата 19.10.2004, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 16.9.2004

Репутация: нет
Всего: нет



Цитата
Последние настройки параметра мне нужны, а не по умолчанию типа const...


Т.е. как я понимаю у тебя настройки по умолчанию задаются константами?
Если так, то пойти можно другим путем, не обязательно жестко привязывать значения, можно объявить глобальные переменные в коде самой программы, а не модуля формы, и в строке перед
загрузкой формы.
Код

programm MySuperProgram
var
 Height:Ineger;
 Width:Integer;
....
begin
 Height:=       //тот метод каким ты прочитаешь данные(TIni, XML, TRegistry)
 Application.CreateForm(TYourForm, YourForm);
....


Многие могут сказать, что можно сделать это с помощью метода OnFormCreate, но именно так, можно будет передавать эти параметры минуя вызов события OnFormShow.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1172 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.