Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.26;
Скачать: CL | DM;

Вниз

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

 
afisher   (2006-03-11 23:58) [0]

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


 
Piter ©   (2006-03-12 00:10) [1]

И неужели на такие вопросы надо отвечать? :(

afisher, лучше б ты почитал книжки какие по delphi - это самый лучший совет. Сие освещается обычно в самых начальных главах...


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

Народ, ну подскажите plz...
Очень нужно, а книжки под рукой нет...


 
Жуков Олег   (2006-03-12 00:13) [3]

Глобальные переменные объявляются в секции interface. Чтобы использовать глобальную переменную подключи модуль, в котором она объявлена в секцию uses.


 
afisher   (2006-03-12 00:25) [4]

А как именно они обьявляются? Можно примерчик.....?


 
Piter ©   (2006-03-12 00:28) [5]

также, как и обычные переменные.


 
afisher   (2006-03-12 00:30) [6]

То есть
interface
a:integer;
дальше по сценарию...?


 
Eraser ©   (2006-03-12 00:38) [7]


> afisher   (11.03.06 23:58)


> То есть как сделать так, чобы переменная стала глобальной?
> ??

ну объяснят тебе тут как объявить глобальную переменную... дальше что?
см. [1]


 
afisher   (2006-03-12 00:41) [8]

Да мне просто нужно ввести значение этой переменной на одной форме и вывести этоже значение на другой. Вот и всё, что мне нужно от этой жизни.


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

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


да, только:

var
 a: integer;


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

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


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


> afisher   (12.03.06 00:56) [10]

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


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

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

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

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

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

no comment :)


 
grisme ©   (2006-03-12 04:29) [13]

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

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

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

:)


 
Anatoly Podgoretsky ©   (2006-03-12 11:19) [14]

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


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

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


 
Gydvin ©   (2006-03-12 20:05) [16]

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


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

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


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

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


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

////////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;

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


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


> afisher   (12.03.06 22:55) [18]

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

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

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


 
Gydvin ©   (2006-03-13 11:06) [21]

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

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

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


 
msguns ©   (2006-03-13 11:25) [22]

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

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


 
Gydvin ©   (2006-03-13 11:34) [23]

"s"
Form1.xxx

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


 
msguns ©   (2006-03-13 11:48) [24]

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

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


 
Gydvin ©   (2006-03-13 12:14) [25]

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

Вот как :))))


 
Gydvin ©   (2006-03-13 12:20) [26]

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


это как?


 
msguns ©   (2006-03-13 13:27) [27]

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

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


 
Gydvin ©   (2006-03-13 13:46) [28]

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

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

t,r,e:tmyclass



Страницы: 1 вся ветка

Текущий архив: 2006.03.26;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.031 c
1-1140866456
Alex_C
2006-02-25 14:20
2006.03.26
TThread тормозит основную программу при выводе в мемо


2-1141237165
Locke
2006-03-01 21:19
2006.03.26
Блокирование сд-рома


1-1140432435
SergProger
2006-02-20 13:47
2006.03.26
Иконка нестандартного размера


15-1141571862
LordOfRock
2006-03-05 18:17
2006.03.26
Убедите меня....


15-1141652945
oldman
2006-03-06 16:49
2006.03.26
старый стал, теорию забывать стал...