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


Автор: Ragli 9.5.2007, 16:42
Здравствуйте
Вот у меня есть 2 формы, в 1-о1 форму объявляю глобальный массив и получаю для него данных и теперь как мне сделать так чтоб во второй форме можно было бы работать с этим массивом или же просто мне надо во 2-ой форме вывести этот массив

Подскажите как это сделать
Спасибо большое

Автор: Bose 9.5.2007, 16:46
В модуль второй формы добавить 
uses ИмяЮнитаПервойФормы

п.с. В первой форме массив должен быть объявлен в секции implementation

Автор: Ragli 9.5.2007, 17:05
не получается вот так я делаю

1-форма

implementation

uses Vtor;
var
  matrix_smejnosti:array[1..100,1..100] of real;


2-форма

Podch1.RichEdit1.Lines.Add(floatTostr(Glav.matrix_smejnosti[1][1]));

Автор: Bose 9.5.2007, 17:44
Надо:

1-форма
Код

implementation

//uses Vtor; //эта строка не нужна для получения доступа

var
  matrix_smejnosti:array[1..100,1..100] of real;



Код

2-форма

implementation
Podch1.RichEdit1.Lines.Add(floatTostr( matrix_smejnosti[1][1]));


обрати внимание, что matrix_smejnosti в 1й форме у тебя объявлен как глобальная переменная, поэтому обращаться к ней нужно просто по имени. smile

Добавлено через 7 минут и 23 секунды
А вообще, лучше сделать matrix_smejnosti полем формы(в идеале свойством). Тогда код будет выглядеть так:
1-форма

Код

implementation

//uses Vtor; //эта строка не нужна для получения доступа

type 
  Tform1=class(Tform)
// объявленные методы и свойства
...
public
  matrix_smejnosti:array[1..100,1..100] of real;
// объявленные методы и свойства
,
где Tform1 - это класс твоей формы 1.


А во 2й-форме тогда всё должно быть так как ты и написал:

Код

Podch1.RichEdit1.Lines.Add(floatTostr(Glav.matrix_smejnosti[1][1]));

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