![]() |
Delphi | Как сделать, чтобы в дочерней форме...
Проблема такова. При запуске программы в основной форме я ввожу некое число. Нажимаю ОК. Должна открыться дочерняя форма, в которой уже будет находиться несколько полей для ввода чисел (число полей равно числу, вводимому на основной форме). Далее с этими числами будет производиться некий счет и все они будут записываться в файл. Вопрос таков: как именно реализовать переход от основной формы к дочерней, чтобы было нужное количество полей?
P.S. Прошу прощения, если вопрос очень тупой, я в программировании почти полный ноль, но прогу нужно срочно написать, кровь из носу. |
грид на дочернюю форму
|
Что есть грид? *смущенно*
|
Madmech
TDrawGrid.... а вообще просто динамически создаемы необходимое кол-во TEdit'ов... TEdit *te=new TEdit; te->Top=...; te->Left=....; (C++)... |
Хорошо, это я понял, а как тогда сделать, чтобы во 2-м модуле, где прописаны свойства и методы дочерней формы, использовались значения переменных из 1-го (основного) модуля? Дело в том, что значения переменных k и n, отвечающих за количество столбцов и строк в дочерней форме, задаются в реализации одного из методов 1-го модуля, то есть после implementation, и, значит, не видны для 2-го модуля.
|
Можно после implementation второго модуля написать строчку
uses Unit1; После этого будет доступен первый модуль. Нужные переменные придется делать глобальными, чтоб можно было их считать. |
Сделал уже давно! Все равно не помогает! Второй модуль видит эти переменные, при компиляции ничего не гавкает, но не воспринимает их значения, которые я задал в реализации методов в первом модуле.
В первом модуле: Код:
procedure TForm1.Button1Click(Sender: TObject); Код:
procedure TForm2.FormCreate(Sender: TObject); |
Во втором модуле не нужно объявлять глобальные переменные k и n. А обращатся к ним нужно вот так:
Form1.k Form1.n Как вариант, можно обращаться непосредственно к Edit`у первой формы: k := StrToInt(Trim(Form1.Edit1.Text)); n := StrToInt(Trim(Form1.Edit2.Text)); |
Спасибо! Проблема решена. Я сделал это так, если кому интересно:
Код:
procedure TForm1.Button1Click(Sender: TObject); |
Время: 20:58. |
Время: 20:58.
© OSzone.net 2001-