Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.07.2011, 19:19
Terra Terra вне форума
Прохожий
 
Регистрация: 29.07.2011
Сообщения: 21
Репутация: 10
По умолчанию изменение цвета формы1 из формы2

Добрый день!
Столкнулась с такой проблемой: есть форма1 и форма2. В форме 2 выбираю цвет для формы1. Цвет на форме1 изменяется, но вот при повторном открытии приложения цвет остается не измененным. Может кто-то подскажет как сохранить изменения? или где можно почитать? На форуме ответа не нашла . Заранее спасибо
Ответить с цитированием
  #2  
Старый 29.07.2011, 19:59
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Так какбе надо сохранять в реестр или ини файл.
TRegIniFile, TIniFile.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #3  
Старый 29.07.2011, 20:47
Terra Terra вне форума
Прохожий
 
Регистрация: 29.07.2011
Сообщения: 21
Репутация: 10
По умолчанию

в ini. Есть процедура при закрытии формы
Код:
procedureTForm.FormClose(Sender: TObject; var Action: TCloseAction);
var
  Ini: TIniFile;
begin
  Ini := TIniFile.Create( ChangeFileExt( Application.ExeName, '.INI' ) );
  try
    Ini.WriteInteger('Form', 'Color', TForm1.color)
      finally
    Ini.Free;
  end;
end;
 и процедура 
procedure TForm1.FormShow(Sender: TObject);
var
  Ini: TIniFile;
begin
  Ini := TIniFile.Create( ChangeFileExt( Application.ExeName, '.INI' ) );
  try
    Color:=Ini.ReadInteger( 'Form', 'Color', clCream);
      finally
    Ini.Free;
  end;
end;

lmikle: пользуемся тегами!!!

Последний раз редактировалось lmikle, 30.07.2011 в 00:42.
Ответить с цитированием
  #4  
Старый 29.07.2011, 21:17
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

У меня твой код работает.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #5  
Старый 29.07.2011, 23:37
Terra Terra вне форума
Прохожий
 
Регистрация: 29.07.2011
Сообщения: 21
Репутация: 10
По умолчанию

я не знаю в ini файле у меня всегда одно и то-же число. Цвет для формы1 я выбираю в форме2 из диалога процедурой
Код:
procedure TForm4.RadioButton1Click(Sender: TObject);
var
c:Longint;
begin
if not ColorDialog1.Execute then
exit;
 C:=ColorToRGB(ColorDialog1.Color);
 Form1.Color:=c;
Repaint;
 end;
Цвет на форме1 сразу изменился, допустим на зеленый, сохраняю ini файл в форме1. Когда снова открываю приложение цвет формы1 остался прежний серый. Может где-то что-то теряю?

Последний раз редактировалось lmikle, 30.07.2011 в 00:43.
Ответить с цитированием
  #6  
Старый 29.07.2011, 23:56
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Используй:
Код:
procedure TForm2.FormShow(Sender: TObject);
var
  Ini : TIniFile;
begin
  Ini := TIniFile.Create( ChangeFileExt( Application.ExeName, '.INI' ) );
  try
    Color := Ini.ReadInteger( 'Form', 'Color', clCream);
  finally
    Ini.Free;
  end;
end;

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
var
  Ini : TIniFile;
begin
  Ini := TIniFile.Create( ChangeFileExt( Application.ExeName, '.INI' ) );
  try
    Ini.WriteInteger('Form', 'Color', Color)
  finally
    Ini.Free;
  end;
end;

procedure TForm2.Button5Click(Sender: TObject);
begin
  if CD.Execute then
  begin
     Form2.Color := ColorToRGB(CD.Color);
     Repaint;
  end;
end;
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.

Последний раз редактировалось angvelem, 30.07.2011 в 00:17.
Ответить с цитированием
  #7  
Старый 29.07.2011, 23:56
VANNIK002 VANNIK002 вне форума
Прохожий
 
Регистрация: 01.06.2011
Сообщения: 28
Репутация: 10
По умолчанию

Цвет меняешь только у одной формы, или ещё есть формы, у которых меняешь цвет?
Ответить с цитированием
  #8  
Старый 30.07.2011, 00:09
Terra Terra вне форума
Прохожий
 
Регистрация: 29.07.2011
Сообщения: 21
Репутация: 10
По умолчанию

Пока только в одной
Ответить с цитированием
  #9  
Старый 30.07.2011, 00:37
Terra Terra вне форума
Прохожий
 
Регистрация: 29.07.2011
Сообщения: 21
Репутация: 10
По умолчанию

Ребята, все равно не получается. Пока приложение открыто цвет тот, который выбрала. Как только закрыла и по новой открываю его цвет остается как до внесения изменений. И переменные вроде все объявила. Уже и не знаю где копать
Ответить с цитированием
  #10  
Старый 30.07.2011, 01:01
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
По умолчанию

Нет ничего сложного, на самом деле, тебе дали кучу кода...
Смотри: когда вносишь изменения в цвет формы попутно сохраняй эти параметры в файл или реестр...Потом при открытии (создании, активации см. цикл жизни формы в сети) формы назначай ей параметры из данного файла или реестра...
Если есть проблемы с ини файлами или работой с реестром пиши...
Или лучше подкинь свой код подправим...
__________________
В начале был Бит, потом Байт и только потом появилось Слово...
Ответить с цитированием
  #11  
Старый 30.07.2011, 01:07
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Код, который я привёл, почти твой, рабочий на 100%, у меня работает без сбоев.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #12  
Старый 30.07.2011, 01:11
Terra Terra вне форума
Прохожий
 
Регистрация: 29.07.2011
Сообщения: 21
Репутация: 10
По умолчанию

Все 3 процедуры, которые я использую, я бросила вначале. Если их надо переписать в другом виде, то сделаю. Пробовала использовать код Angvelem результат тот-же что и раньше - при повторном открытии цвет не тот.
Ответить с цитированием
  #13  
Старый 30.07.2011, 01:13
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Значит что то путаешь, я говорил уже, код работает 100%.
Вложения
Тип файла: rar prj9.rar (1.0 Кбайт, 3 просмотров)
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.

Последний раз редактировалось angvelem, 30.07.2011 в 01:24.
Ответить с цитированием
  #14  
Старый 30.07.2011, 02:10
Terra Terra вне форума
Прохожий
 
Регистрация: 29.07.2011
Сообщения: 21
Репутация: 10
По умолчанию

Да, спасибо, Ваше приложение работает. Из своего приложения убрала все лишнее и приклепляю файл, глаза наверное уже замылились не могу найти ошибку . Буду премного благодарна если посмотрите
Вложения
Тип файла: rar проба.rar (168.4 Кбайт, 7 просмотров)
Ответить с цитированием
  #15  
Старый 30.07.2011, 02:35
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Действительно глаз "замылился". События OnShow и OnClose объявлены, но форме Form2 не присвоены!!!
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:05.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025