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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2016, 19:55   #1
CheerfulMan
Новичок
Джуниор
 
Аватар для CheerfulMan
 
Регистрация: 15.11.2016
Сообщений: 1
Вопрос сделать так, чтобы при запуске программы, автоматически создавался ini файл, а данные брались со второй формы, причём не запуская вторую форму?

Добрый день или вечер всем. Решил не создавать новую тему, есть такой вопрос по ini файлу. Как мне сделать так, чтобы при запуске программы, автоматически создавался ini файл, а данные брались со второй формы, причём не запуская вторую форму?
Код:
form2.MaskEdit1.Text:=IniFile.ReadString('Индексы', 'Магниты', form2.MaskEdit1.Text);
Ошибка на этом участке, остальное всё правильно сделано, по крайней мере мне так кажется.
Если по подробнее, допустим у меня есть главная форма, там присутствует кнопка для вызова второй формы, на второй форме есть MaskEdit. Не могу добиться эффекта, чтобы при запуске программы создавался ini файл с данными из второй формы, а кнопка для вызова второй формы нужна лишь для редкого редактирования данных настроек. Надеюсь я понятно расписал свою ситуацию и мне кто-нибудь поможет разобраться с этим вопросом, заранее благодарен :-)
CheerfulMan вне форума Ответить с цитированием
Старый 15.11.2016, 20:17   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А зачем их брать с формы? Наверно еще и с не созданной. Если нет еще ini-файла, создай его и запиши умолчания в него. Если есть - прочитай и используй данные. При закрытии приложения запиши их в ini опять. Вот и будут при каждом старте восстанавливаться сохраненные значения. При этом еще не забудь - нужна защита от дурака, влезшего в твой ini и попортившего его, т.е. при чтении данных с ini нужно контролировать их не противоречивость
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 15.11.2016 в 20:23.
Аватар вне форума Ответить с цитированием
Старый 16.11.2016, 07:22   #3
Heneken87
Форумчанин
 
Регистрация: 27.04.2012
Сообщений: 219
По умолчанию

Код:
Var :BUFER_INI:TIniFile
begin
BUFER_INI:=Tinifile.Create('C://1.INI');
if form2=nil then
Application.CreateForm(Tform2, form2);
form2.MaskEdit1.Text:=BUFER_INI.ReadString('Индексы', 'Магниты', form2.MaskEdit1.Text);
end;
Чтобы обратится к компоненту на форме,нужно убедится что форма создана, если не создана то создать....
Если требуется запись или чтение INI то, сам INI файл тоже надо обозначить

P/S/ Если данные с Form2 нужны в Form1 то проще сразу
Код:
form1.MaskEdit1.Text:=BUFER_INI.ReadString('Индексы', 'Магниты', '');
Пишу много и развернуто

Последний раз редактировалось Heneken87; 16.11.2016 в 07:34.
Heneken87 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать так , что бы при запуске программы запускался файл ? Greencat Помощь студентам 0 11.05.2011 19:35
Как сделать чтобы при открывании второй формы и закрытия основной не пропадал значок на таскбаре? TwiX Общие вопросы Delphi 2 10.09.2009 20:57
как сделать так чтобы при открытии второй формы олько она была активной doncova1 Общие вопросы Delphi 2 03.02.2007 19:34