Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.05.2008, 13:35
VilR VilR вне форума
Прохожий
 
Регистрация: 16.05.2008
Сообщения: 5
Репутация: 10
По умолчанию Как из формы в форму передавать значение переменной ?

необходимо передавать значение переменной из формы в форму, причем в каждой форме значение может меняться.
Ответить с цитированием
  #2  
Старый 16.05.2008, 13:59
Аватар для Thrasher
Thrasher Thrasher вне форума
Illuminati
 
Регистрация: 06.03.2008
Адрес: Крым, г. Симферополь
Сообщения: 348
Репутация: 8808
По умолчанию

Варианта 2:

1. Объявление переменной в описании класса.
2. Использовать модуль где будут объявлены глобальные переменные.
__________________
Хорошо написанная программа не требует документации
ICQ 9-184-668.
Ответить с цитированием
  #3  
Старый 16.05.2008, 14:02
VilR VilR вне форума
Прохожий
 
Регистрация: 16.05.2008
Сообщения: 5
Репутация: 10
По умолчанию

я пробовал через такой модуль но при каждом вызове переменная инициализируется. как сделать чтобы такого не было ?
можно пример кода ?
Ответить с цитированием
  #4  
Старый 18.05.2008, 18:46
TKost TKost вне форума
Прохожий
 
Регистрация: 17.05.2008
Сообщения: 6
Репутация: 10
По умолчанию

Тоже интересует этот вопрос... Желательно пример кода =) Помогите срочно нудно, пишу курсач
Ответить с цитированием
  #5  
Старый 18.05.2008, 19:06
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

Если объявлять переменную в описании класса, то при создании экземпляра класса такая переменная обязательно инициализируется и для выше приведенных целей не годится.
В общем виде надо делать по Thrasher, п. 2. В отдельном модуле объявляется переменная, значение которой из формы 1 будет изменяться, а отображаться в форме 2.
Если кто-то думает, что все это просто, то сильно заблуждается. Реализация зависит от конкретных задач.
- нужно ли чтобы при изменении значения нашей переменной в ф.1 тут же отображалось и в ф.2 (или не сразу и по каким-то условиям);
- нужно ли чтобы изменения значения этой переменной в ф.2 отображалось в ф.1 (или только односторонняя связь - от ф.1 к ф.2, т.е. если изменили значение в ф.1, то в ф.2 отображалось изменение, а если изменили эту переменную в ф.2, то ф.1 оставалась в неведении относительно изменений);
Ну, право, хлопцы, давайте же конкретные условия и все будет хорошо.
Да, еще. Создается ли ф.2 каждый раз при ее вызове из ф.1 или она при запуске приложения создается один раз. Это тоже немаловажно.

Последний раз редактировалось san-46, 18.05.2008 в 19:16.
Ответить с цитированием
  #6  
Старый 18.05.2008, 19:13
TKost TKost вне форума
Прохожий
 
Регистрация: 17.05.2008
Сообщения: 6
Репутация: 10
По умолчанию

Нужно прочесть заначение переменной из ф1, когда запущена форма ф2.
Ответить с цитированием
  #7  
Старый 18.05.2008, 19:24
MegaPiha MegaPiha вне форума
Активный
 
Регистрация: 24.03.2008
Сообщения: 227
Версия Delphi: Delphi 7
Репутация: 30
По умолчанию

Маленький пример прилагается.
А вообще вот вам шуточный стишек из раздела "вредные советы".

Переменные глобально
Ты используй неприменно
Раз напишешь и используй
Где захочешь их потом.
Только тот кто не умеет
Мыслить смело и глобально
Пишет множество локальный,
Не понять им гений твой.

По возможности нужно продумывать программу, чтобы избежать использование глобальных переменных.
Вложения
Тип файла: zip Global.zip (8.7 Кбайт, 54 просмотров)
Ответить с цитированием
  #8  
Старый 18.05.2008, 19:34
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

Цитата:
Сообщение от MegaPiha
По возможности нужно продумывать программу, чтобы избежать использование глобальных переменных.
Интересно, откуда такое глубокое убеждение. И без какого-либо обоснования. По опыту своему и других знаю, что без глобальных переменных не было бы ничего, что стоило бы хоть чего то.
Ответить с цитированием
  #9  
Старый 18.05.2008, 19:29
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

Цитата:
Сообщение от TKost
Нужно прочесть заначение переменной из ф1, когда запущена форма ф2.
Форма может запускаться (новый экземпляр) или открываться, если ее экземпляр создан при запуске приложения.
В первом случае считывать значение переменной нужно в событии формы OnCreate.
Во втором, в событии формы OnShow.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:31.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025