Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2007, 22:29   #1
Demien
Форумчанин
 
Аватар для Demien
 
Регистрация: 01.08.2007
Сообщений: 222
Вопрос Обмен данными между формами

Я понимаю что вопрос это глупый и примитивный...
но все-же:
Как заставить программу переносить данные из формы в форму?
Например в одной форме в эдит ввел данные, а на второй получил их в лэйбэл???
Жить тоже вредно, от этого умирают!!!
Demien вне форума Ответить с цитированием
Старый 13.11.2007, 22:42   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Если в Form2 забираем данные из Form1:
Label1.Caption:=Form1.Edit1.Text;
Если из Form1 передаем данные в Form2:
Form2.Label1.Caption:=Edit1.Text;
Для компонентов "своей" формы принадлежность не указывается.
Label1 - на форме Form2, Edit1 - на форме Form1.

Последний раз редактировалось mihali4; 13.11.2007 в 22:44.
mihali4 вне форума Ответить с цитированием
Старый 13.11.2007, 22:46   #3
Demien
Форумчанин
 
Аватар для Demien
 
Регистрация: 01.08.2007
Сообщений: 222
По умолчанию

Супер!!! Спасибо!!!
Я знал что все делается просто, но мозгов не хватило...
Да и вкнигах ничего не нашел.
Жить тоже вредно, от этого умирают!!!
Demien вне форума Ответить с цитированием
Старый 23.04.2008, 00:25   #4
Airou
Форумчанин
 
Регистрация: 09.04.2008
Сообщений: 151
По умолчанию

А как передать переменную из одной формы в другую. Где-то уже видел но теперь так и не смог найти...
Airou вне форума Ответить с цитированием
Старый 23.04.2008, 00:37   #5
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Аналогично. Только переменная принадлежит не форме, а модулю...
Поэтому указывать надо не Form2.my_value, а Unit2.my_value...
mihali4 вне форума Ответить с цитированием
Старый 23.04.2008, 14:13   #6
Airou
Форумчанин
 
Регистрация: 09.04.2008
Сообщений: 151
По умолчанию

Эмм... пару вопросов
1. Переменная в Unit1 должна быть глобальной или может быть и локальной, или ее вообще еще где-то надо объявлять?
2. В Unit2 в раздел implementations или Uses надо добавлять Unit1?
3. Обьявил как глобальную переменную var N: string;
Присвоил ей N:='текст';
Затем добавил в Unit2 в uses Unit1
И затем присвоил Label1.Caption:=Unit1.N
И в итоге получил лейбл без надписи... тобишь N=' '...
Что неправильно сделал?
Airou вне форума Ответить с цитированием
Старый 23.04.2008, 15:42   #7
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Цитата:
Сообщение от Airou Посмотреть сообщение
Эмм... пару вопросов
1. Переменная в Unit1 должна быть глобальной или может быть и локальной, или ее вообще еще где-то надо объявлять?
2. В Unit2 в раздел implementations или Uses надо добавлять Unit1?
3. Обьявил как глобальную переменную var N: string;
Присвоил ей N:='текст';
Затем добавил в Unit2 в uses Unit1
И затем присвоил Label1.Caption:=Unit1.N
И в итоге получил лейбл без надписи... тобишь N=' '...
Что неправильно сделал?
где присвоил ?

Сделайте так:

const N : String = 'текст';
alexBlack вне форума Ответить с цитированием
Старый 23.04.2008, 16:33   #8
Airou
Форумчанин
 
Регистрация: 09.04.2008
Сообщений: 151
По умолчанию

Присвоил в обработчике нажатия кнопки
вот куски

Код:
  public
    { Public declarations }
  end;

  var
  Form1: TForm1;  
  N: String;
Код:
procedure TForm1.Button1Click(Sender: TObject);     
begin
 N:='Текст';
 Form2.ShowModal;                
end;
+ ко всему зачем делать N const ...мне она как раз Variable нужна.
Airou вне форума Ответить с цитированием
Старый 23.04.2008, 16:41   #9
student_63
Пользователь
 
Аватар для student_63
 
Регистрация: 07.11.2007
Сообщений: 92
По умолчанию

Кажется, нужно не ShowModal, а просто Show
Я уверен, вы согласитесь со мной... что если
со страницей 534 мы встречаемся во второй главе, то первая глава должна быть невыносимо длинной.
- ШЕРЛОК ХОЛМС
student_63 вне форума Ответить с цитированием
Старый 23.04.2008, 16:48   #10
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Цитата:
Сообщение от Airou Посмотреть сообщение
Присвоил в обработчике нажатия кнопки
вот куски
...
Код:
procedure TForm1.Button1Click(Sender: TObject);     
begin
 N:='Текст';
 Form2.ShowModal;                
end;
+ ко всему зачем делать N const ...мне она как раз Variable нужна.
Пусть так. Значит перед
Label1.Caption:=Unit1.N

не вызывается
Form1.Button1Click

Поставьте точки прерывания и посмотрите что вызывается раньше - присвоение N := ... или Label1.Caption := ....
alexBlack вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Связь между формами KiberJo Общие вопросы Delphi 20 22.07.2008 21:40
Обмен данными между формами Maks1978 Общие вопросы C/C++ 3 22.07.2008 15:35
Общение между формами kate4ka Общие вопросы Delphi 2 10.03.2008 22:49
Обмен данными по сети Altera Работа с сетью в Delphi 2 23.02.2008 00:13
обмен данными с сервером BioS Работа с сетью в Delphi 15 12.02.2007 15:32