Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.10.2007, 19:52   #1
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
Вопрос Сохранение параметров программы...

Ситуация такая:
На форме имеется:
1) Label, заголовок которого черного цвета;
2) ColorDialog;
3) Button, которая и запускает ColorDialog и цвет заголовка Label становится соответственно выбранному цвету в этом диалоге;

Допустим он стал красным. А как сохранить этот параметр? Чтоб при следующем запуске программы цвет заголовка Label остался красным или другим выбранным пользователем цветом?
Слышал, что можно через ini файлы... Но как?
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 10.10.2007, 20:24   #2
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

Можно посмотреть здесь.
Alex21 вне форума Ответить с цитированием
Старый 10.10.2007, 20:30   #3
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

эм...
мне бы примерчик какой-нибудь с исходниками ))
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 10.10.2007, 20:41   #4
UnD)eaD)Snake
Форумчанин Подтвердите свой е-майл
 
Аватар для UnD)eaD)Snake
 
Регистрация: 07.07.2007
Сообщений: 241
По умолчанию

Можно сделеать другим легким способом:
на форму кидаешь невидимый Memo, и при завершении программы пишешь туда чтото типа
memo1.lines[0]:='Clblack';
и тд., далее сохраняешь мемо в файл напр.('Config.dll')
А при запуске прграммы, загружаешь в мемо этот файл, и чтото типа..
if memo1.lines[0]='Clblack' then Label1.font.color:=clblack;
UnD)eaD)Snake вне форума Ответить с цитированием
Старый 10.10.2007, 20:57   #5
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

А чего тут сложного?
Открываем хэлп по ини-файлам, там полно примеров.

Могу предложить такое (это для цвета самой формы):
Код:
uses ...IniFiles; //Добавить в секцию USES

infile: TIniFile; //объявляем глобальную переменную (там же, где 
объявляется Form1: TForm1;)

procedure TForm1.FormCreate(Sender: TObject);
begin
infil:=TIniFile.Create('c:\tmp.ini');
Form1.Color:=StringToColor(infil.ReadString('OPTIONS','FORMCOLOR',
ColorToString(clSilver)));
infil.Free;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
infil:=TIniFile.Create('c:\tmp.ini');
infil.WriteString('OPTIONS','FORMCOLOR',ColorToString(Form1.Color));
infil.Free;
end;

Последний раз редактировалось mihali4; 10.10.2007 в 21:00.
mihali4 вне форума Ответить с цитированием
Старый 10.10.2007, 21:13   #6
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

Цитата:
Сообщение от UnD)eaD)Snake Посмотреть сообщение
if memo1.lines[0]='Clblack' then Label1.font.color:=clblack;
а яяяй, как грубо...
Это вы всю 32-битную палитру так проверять будете? возьмите тогда case
Не забываем, что тип TColor можно представить в цифровом виде.

caption:=inttostr(label1.Font.color );

Плюс можно сделать разложение на RGB, но это здесь лишнее.

С INI mihali4, уже подсказал.
Alex21 вне форума Ответить с цитированием
Старый 10.10.2007, 21:33   #7
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

вот еще статейку почитай
http://code-code.narod.ru/art/ini.html
как уже сказали TColor и Integer совместимы, так что можешь сохранять с помощью WriteInteger без всяких преобразований
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 10.10.2007, 21:37   #8
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
как уже сказали TColor и Integer совместимы, так что можешь сохранять с помощью WriteInteger без всяких преобразований
Стринг я использовал для того, чтобы указать цвет для случая отсутствия ини-файла, не морочась при этом определением цифрового значения серебристого цвета.
mihali4 вне форума Ответить с цитированием
Старый 10.10.2007, 21:52   #9
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

по моему этот код
Form1.Color:=StringToColor(infil.Re adString('OPTIONS','FORMCOLOR',
ColorToString(clSilver)));
вполне можно заменить этим
Form1.Color:=infil.ReadInteger('OPT IONS','FORMCOLOR',clSilver);

я так никогда не делал, но раз clSilver можно присвоить свойству тип к-рого TColor, то это числовая константа
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 10.10.2007, 23:05   #10
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Согласен. Но зато я обратил ваше внимание на существование необычных функций StringToColor и ColorToString.
mihali4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача параметров aesoem Общие вопросы Delphi 8 15.07.2008 21:51
Сохранение в файл работы программы devi409 Общие вопросы Delphi 12 29.04.2008 08:56
Пишет, мол мало параметров azat БД в Delphi 11 23.01.2008 10:46
как сделать сохранение программы? dumper Помощь студентам 10 28.05.2007 21:46
Передача параметров Gudzon Общие вопросы Delphi 12 08.02.2007 08:19