Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как связывать данные переменной между формами?


Страницы:   1 2

afisher ©   (2006-03-11 23:58:00) 

Мне нужно ввести значение переменной на одной форме, и вывести её значение на другой форме. Подскажите пожалуйсто, как это сделать. То есть как сделать так, чобы переменная стала глобальной???


Gydvin   (2006-03-13 13:46:00) [1]

(точнее, класс) открыть много раз - для каждой пиктограммки

А имена того что будет открываться много раз отличаются?

t,r,e:tmyclass


msguns   (2006-03-13 13:27:00) [2]

>Gydvin ©   (13.03.06 12:20) [26]
>это как?

Очень просто.
Посмотри любое MDI-приложение,хотя бы тот же ImageMaker, там можно одну и ту же форму (точнее, класс) открыть много раз - для каждой пиктограммки


Gydvin   (2006-03-13 12:20:00) [3]

msguns ©   (13.03.06 11:25) [22]
имеется несколько экземпляров Form1..


это как?


Gydvin   (2006-03-13 12:14:00) [4]

просто копируют отсюда фрагменты в свой код
Ну а просто подумать головой, что копировать не судьба?
Я тоже бывает копирую, но не согласовать копируемый код со своим последнее дело, и тады все претензии имхо только к самому себе.

Вот как :))))


msguns   (2006-03-13 11:48:00) [5]

>Gydvin ©   (13.03.06 11:34) [23]
>Не ну это понятно, я просто выразил саму идею, как это можно сделать,

Не надо забывать, в какой конференции дается такой совет. Многие новички просто копируют отсюда фрагменты в свой код, а потом удивляются и возмущаются почему он глючит.


Gydvin   (2006-03-13 11:34:00) [6]

's'
Form1.xxx

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


msguns   (2006-03-13 11:25:00) [7]

>Gydvin ©   (13.03.06 11:06) [21]
>Ну почему глюкодром, нормально работает, сбоев не наблюдал

Во-первых, названия объектов типа 's' - это изначально заложенная путаница в ссылках.
Во-вторых, внешние обращения типа Form1.xxx некорректны по нескольким причинам. Например, имеется несколько экземпляров Form1..


Gydvin   (2006-03-13 11:06:00) [8]

Этот глюкодром даже комментировать скучно.

Ну почему глюкодром, нормально работает, сбоев не наблюдал

Хотя можно сделать и подругому. Создать отдельный юнит и все нужные переменные обьявить там. Тоесть ипользовать, как буфер


Плохиш   (2006-03-13 10:49:00) [9]


> afisher   (12.03.06 22:55) [18]

Не пора ли заняться изучением основ модульного программирования?

> Gydvin ©   (13.03.06 10:33) [19]

Этот глюкодром даже комментировать скучно.


Gydvin   (2006-03-13 10:33:00) [10]

////////form1
public
 s:string;
   { Public declarations }
 end;

////////form2

procedure TForm2.Button1Click(Sender: TObject);
begin
form1.s:='Test';
end;

////////form1
procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage( s);
end;

????????????????????????


afisher   (2006-03-12 22:55:00) [11]

Да пробовал я так сделать....
По теории всё должно работать, а на практике форма не видит переменную и её приходится обьявлять заново, сл. ей присваивается значение = 0


TStas   (2006-03-12 21:02:00) [12]

В разделе интерфейс любого модуля объявить ее - она получиится глобальной. Все модули, который на сей модуль ссылаются ее видят, т. е. могут изменять и выводить


Gydvin   (2006-03-12 20:05:00) [13]

а просто в секции public


afisher   (2006-03-12 18:24:00) [14]

Всем спасибо, всё сделал ваще бес использования глобальных переменный.
На будущее куплю себе книжечку по Delphi... ;)


Anatoly Podgoretsky   (2006-03-12 11:19:00) [15]

afisher   (12.03.06 00:56) [10]
Значит она не нужна


grisme   (2006-03-12 04:29:00) [16]

Кароче...:) имеем модуль 1й формы Unit1, 2й Unit2, и Unit3(добавляем ч-з File->New->Unit).Должно быть пр.так:
unit unit1;
interface
uses ..., unit3
...

unit unit2;
interface
uses ..., unit3
...

unit unit3;
interface
var myfuckingglobalvariable:integer;
...

:)


Piter   (2006-03-12 01:34:00) [17]

Нда... хочется плакать...

Ну и нафига это нужно? И какой будет следующий вопрос? :)))

Оно надо - плодить батончиков?

D не знаем, учить не хотим. Английского тоже не знаем. Думать тоже не хотим.

no comment :)


Eraser   (2006-03-12 01:11:00) [18]


> afisher   (12.03.06 00:56) [10]

мои соболезнования )


afisher   (2006-03-12 00:56:00) [19]

Пишет:
[ Unit6.pas(5): Variable 'a' is declared but never used in 'Unit6'


Piter   (2006-03-12 00:46:00) [20]

afisher   (12.03.06 0:30) [6]
a:integer;
дальше по сценарию...?


да, только:

var
 a: integer;


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо