Другие языки программирования и технологии
Помогите с Delphi 7 нужно из одной формы в другую отправить значения численные Real!
короче у меня есть 4 числа в Form2 мне надо чтоб эти числа стали действовать в Form6 при этом остаться тоже Real; и потом они у меня идуть в вычисления! как это реализовать??
Для того, чтобы сделать данные формы 1 доступными для других форм вам необходимо описать эти переменные в разделе описания глобальных переменных. Например:
type
TForm1 = class(TForm)
...//перечисление компонентов и процедур
...
private
{ Private declarations }
public
{ Public declarations }
a,b: real
end;
Либо в разделе описаний Var для всей формы
var
Form1: TForm1;
a,b: real;
Теперь к этим переменным будет доступ из других форм, а также они будут общими для всех процедур внутри текущей формы 1. Т. е. далее в разделе описаний переменных Var описывать их будет уже не нужно, а просто присваивать значения. Если вы произведете описание в какой-либо процедуре повторно, то значения бутут использоваться локально только в текущей процедуре.
Для того, чтобы обратиться к переменной из формы 2 мы обращаемся к ней так, как к свойствам компонентов. Например:
Edit1.Text:=floattostr(Form1.a);
Edit2.Text:=floattostr(Form1.b);
Также производятся вычисления либо присваивание значений другим локальным переменным внутри процедур на форме 2, а также внесение изменений в значение этих переменных.
При запуске предложит добавить связь между формами, на что отвечаем утвердительно. Либо прописываем вручную в разделе Uses. Например:
Uses
Unit1 //если при сохранении формы использовалось другое имя, то прописываем его.
type
TForm1 = class(TForm)
...//перечисление компонентов и процедур
...
private
{ Private declarations }
public
{ Public declarations }
a,b: real
end;
Либо в разделе описаний Var для всей формы
var
Form1: TForm1;
a,b: real;
Теперь к этим переменным будет доступ из других форм, а также они будут общими для всех процедур внутри текущей формы 1. Т. е. далее в разделе описаний переменных Var описывать их будет уже не нужно, а просто присваивать значения. Если вы произведете описание в какой-либо процедуре повторно, то значения бутут использоваться локально только в текущей процедуре.
Для того, чтобы обратиться к переменной из формы 2 мы обращаемся к ней так, как к свойствам компонентов. Например:
Edit1.Text:=floattostr(Form1.a);
Edit2.Text:=floattostr(Form1.b);
Также производятся вычисления либо присваивание значений другим локальным переменным внутри процедур на форме 2, а также внесение изменений в значение этих переменных.
При запуске предложит добавить связь между формами, на что отвечаем утвердительно. Либо прописываем вручную в разделе Uses. Например:
Uses
Unit1 //если при сохранении формы использовалось другое имя, то прописываем его.
В Unit2 эти числа должны быть прописаны в interface. А в Unit6 нужно в uses вверху прописать Unit2.
Никто не говорит, а это очень важно, переменные в Unit передаются по событию формы OnShow.
То есть если в Form1 задали переменную, а в Form2 ее нужно использовать,:
Киньте на 1 форму Button, а на 2 форму Edit
В первой форме пишем
------------
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
s:string; // Глобальная переменная
implementation
uses Unit2;// Связанный модуль
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
s:='Текст';
Form2.ShowModal;// Открываем форму 2
end;
end.
....
----------------------------------------------------
Во второй форме пишем
---------------------------------
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm2 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses Unit1;// Связанный модуль
{$R *.dfm}
procedure TForm2.FormShow(Sender: TObject);
begin
Edit1.Text:=s; // Используем нашу переменную
end;
end.
....
//Удачи!
То есть если в Form1 задали переменную, а в Form2 ее нужно использовать,:
Киньте на 1 форму Button, а на 2 форму Edit
В первой форме пишем
------------
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
s:string; // Глобальная переменная
implementation
uses Unit2;// Связанный модуль
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
s:='Текст';
Form2.ShowModal;// Открываем форму 2
end;
end.
....
----------------------------------------------------
Во второй форме пишем
---------------------------------
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm2 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses Unit1;// Связанный модуль
{$R *.dfm}
procedure TForm2.FormShow(Sender: TObject);
begin
Edit1.Text:=s; // Используем нашу переменную
end;
end.
....
//Удачи!
Евгений Матвеев
procedure TForm2.FormShow(Sender: TObject); А это откуда взял?
procedure TForm2.FormShow(Sender: TObject);
Похожие вопросы
- помогите программисты!) delphi 7
- Что предпочтительней Delphi 7 или Delphi 2009? И почему?
- Люди у кавонить есть прога на Delphi 7??
- Какой язык лучше учить Delphi 7 или C++ ?
- Язык delphi 7 устарел ??? просто хотел учить delphi 7 но сейчас кто то сказал что устарел
- Помогите составить программу в Delphi 7!
- помогите пожалуйста, Delphi
- Какова стоимость? Какова стоимость Borland Delphi 7? И что лучше delphi или lazarus? И почему?
- помогите по Delphi (10 баллов)
- delphi 7, snake