Форум: "Начинающим";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];
Внизкак связывать данные переменной между формами? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.04 c