Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.041 c
15-1141685330
mrAndersen
2006-03-07 01:48
2006.03.26
Благодарность


2-1141730384
Новичоккк
2006-03-07 14:19
2006.03.26
Проблема с Handle процесса


4-1136329563
SpyBoy
2006-01-04 02:06
2006.03.26
TSearchTypes


2-1142240102
gidd
2006-03-13 11:55
2006.03.26
получени почты


15-1141248590
Игорь Шевченко
2006-03-02 00:29
2006.03.26
Катя, с днем рождения!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский