Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > как при генерации главной форми с модальной снять


Автор: Mersik 3.4.2007, 18:21
как при генерации главной форми с модальной снять значения с Едит полей ?

 smile 

Автор: _hunter 3.4.2007, 18:36
просто пишеш znachenie = modalnayaForma.EditPole.Text;

Автор: Mersik 3.4.2007, 19:36
v Form.Create ?

Автор: Snowy 3.4.2007, 20:18
Где вызываешь, там и бери.
Код

  modalnayaForma.ShowModal;
  znachenie := modalnayaForma.EditPole.Text;

Автор: Yanis 3.4.2007, 20:37
Код
if frmModal.ShowModal = mrOk then
  ShowMessage(frmModal.Edit1.Text);

Автор: Mersik 4.4.2007, 11:11
Мммм простите что я не умею обьяснять ! Так воот ! На модальной форме список параметров с начальними значениями в Едит полях, когда я запускаю программу я хочу считать ети параметри с Едит полей в переменние (параметри напоминаю находятся на модальной форме) ! Так вот я не знаю где прописать их считивание ! На Форм.Креате низя так как модальная еще не появилась! 

Смисл другими словами ! smile 

Загрузается при запуске программи Маин Форм и автоматически считались значения переменних с модальной форми!  То есть я сразу могу приступать к каким то вичислениям с главной форми !

ВОПРОС : Где считать ? smile 

Пост.Скпиптум. smile 
Как считать я знаю, но всё равно спасибо !

 smile

Добавлено через 1 минуту и 8 секунд
ВОПРОС : Где считать значения  ?  

Автор: Yanis 4.4.2007, 11:14
Mersik
Так если форма создаётся после создания главной формы, то значит какие-то значения там уже прописаны! Почему бы не инициализировать переменныи такими же значениями?

Автор: Mersik 4.4.2007, 11:17
Простите а Инициализироватй ето как ! Только не злитесь, я учусь ! 

 smile 

Автор: Yanis 4.4.2007, 11:22
Код
procedure frmMain.OnCrete(...);
begin
  моя_переменная := такое_же_значение_как_и_в_edit-е
end;

Автор: Mersik 4.4.2007, 11:25
Так а если я поменяю в модальной форме параметри надо будет вручную и начальние параметри исправлять?  Хммм, мне то не сложно, но как ето пользователй сделает ?

Автор: ama_kid 4.4.2007, 11:35
Mersik
Цитата(Mersik @  4.4.2007,  11:25 Найти цитируемый пост)
Хммм, мне то не сложно, но как ето пользователй сделает ?

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


Автор: Mersik 4.4.2007, 11:40
Мммммм ! понятно ! а как в Ини сохранить или можно в ТХТ ? Ето одно и то же ?

Автор: ama_kid 4.4.2007, 12:09
Смотри хелп по TIniFile, TRegistry... Можешь хранить в TXT, и вообще, где тебе удобно, просто в обычном файле самому придется прописывать структуру данных... Главное, чтобы ты при запуске мог получить доступ к сохраненным элементам...

Автор: Mersik 4.4.2007, 12:16
Кинь пример использования ! Запись , чтение из Регистр ?

 smile 

Автор: ama_kid 4.4.2007, 12:27
Цитата
Запись , чтение из Регистр
Не регистр, а реестр... smile
Ну, лови пример:
Код
Unit Init;
interface
uses
  Windows, Registry;

var
  Reg         : TRegistry;
  MyParam : integer;

procedure ReadReg;
procedure SaveReg;

implementation

procedure ReadReg;
begin
  Reg.OpenKey('\Software\...\SubKey',true);
  MyParam:=0; 
  try 
    MyParam:=Reg.ReadInteger('hMyParam'); 
  except 
  end;
  Reg.CloseKey;
end;

procedure SaveReg;
begin
  Reg.OpenKey('\Software\...\SubKey',true);
  try
    Reg.WriteInteger('hMyParam',MyParam);
  except end;
  Reg.CloseKey;
end;

initialization
  Reg:=TRegistry.Create;
  Reg.RootKey:=HKey_Local_Machine;
  ReadReg;
finalization
  SaveReg;
end.

В своих формах везде прописываешь uses Init;
При октрытии модальной формы считываешь свои параметры, устанавливаешь Edit'ам соответствующие значения, при закрытии - устанавливаешь параметрам новые значения. А в главной форме - считываешь уже эти параметры (после закрытия модальной формы)... Удачи...

Автор: Alkash 4.4.2007, 12:33
Код

function OpenKey(const Key: String; CanCreate: Boolean): Boolean;

Открытие ключа
Код

function ReadString(const Name: String): String;

Чтение строкового параметра ключа
Код

property RootKey: HKEY;

Свойство хранящее ключ
Код

procedure WriteString(const Name, Value: String);

Запись строкового параметра
Код

function LoadKey(const Key, FileName: String): Boolean;

Description

Call LoadKey to:

1    Create a new subkey under the root key, and
2    Load registry information from a file into the subkey. Registry information can include data values, subkeys, and data values for those subkeys.

А вообще F1 - отличнейшая вещь....

Пока писал - опоздал-)

Автор: Yanis 4.4.2007, 12:40
Цитата(ama_kid @  4.4.2007,  13:27 Найти цитируемый пост)
Reg.OpenKey('\Software\...\SubKey',true);

При копипасте этоможет вызвать много проблем smile

Автор: Mersik 4.4.2007, 16:14
 smile  Спасибо !!!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)