С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.97/29: Рейтинг темы: голосов - 29, средняя оценка - 4.97
-1 / 0 / 0
Регистрация: 28.01.2016
Сообщений: 85

Передача данных между формами

26.01.2017, 20:31. Показов 6126. Ответов 55
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
У меня тут образовалась одна вроде и простая проблемка, однако я в полнейшем тупике.
У меня есть 1 форма, из нее по нажатию кнопки меню вызывается другая форма на которой есть Memo1 , мне нужно сделать так: вводим данные про человека, нажимаем кнопку BitBtn1 и те данные которые мы ввели в 1 форме что бы они отображались в Memo1.
Подскажите пожалуйста, как это реализовать.
Миниатюры
Передача данных между формами  
Изображения
 
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.01.2017, 20:31
Ответы с готовыми решениями:

Передача переменных между формами
Есть задача. Программа должна работать по выбору с несколькими различными железками. Протокол для всех разный. При выборе типа железки...

Передача матриц между Формами
Извените за столь детский вопрос, но подскажите плиз. Как с Form2 передать посчитанные данные в Form3??Доступ к Form3 идет только с Form1.

Передача переменных между формами
Добрый день! Помогите, пожалуйста. В Form1 есть две переменные: string str1; string str2; Как сделать так, чтобы эти...

55
-1 / 0 / 0
Регистрация: 28.01.2016
Сообщений: 85
02.02.2017, 12:24  [ТС]
Студворк — интернет-сервис помощи студентам
lifeforce,

Вот посмотри я ввела:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
void __fastcall TForm1::N24Click(TObject *Sender)
{
if (N24->Checked==true)N24->Checked=false;
 else N24->Checked=true;
 
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::RichEdit1KeyPress(TObject *Sender, char &Key)
{
    if (N24->Checked==true)
  {S=RichEdit1->Lines->Text;
  S1=S.SubString(S.Length()-1,2);
  AnsiString str( &Key, 1 );
  if (S.Length()==0)
  {Key=0;
  RichEdit1->Lines->Text=RichEdit1->Lines->Text+AnsiUpperCase(str);
  }
  if (S1==". " && Key!=8)
  {Key=0;
  RichEdit1->Lines->Text=RichEdit1->Lines->Text+AnsiUpperCase(str);
  }
  RichEdit1->SelStart=RichEdit1->Text.Length();
 
  RichEdit1->Text = StringReplace( RichEdit1->Text, "  ", " ", TReplaceFlags() << rfReplaceAll);// здесь два пробела заменяться на один. эта операция будет продолжена пока в тексте будет больше или равно двум пробелам (результат будет только один пробел)
 
 
  }
 
 
 
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::N25Click(TObject *Sender)
{
if (N25->Checked==true)N25->Checked=false;
 else N25->Checked=true;
 
}
//---------------------------------------------------------------------------
И у меня пробелы не убираются, даже если я нажала 2 пробела, оно даже 1 пробел не забирает(

Добавлено через 15 минут
D1973,

У меня вопрос , а как сделать картинку на форме там, де регистрация???
0
Модератор
 Аватар для D1973
9908 / 6445 / 2455
Регистрация: 21.01.2014
Сообщений: 27,363
Записей в блоге: 3
02.02.2017, 12:54
Lenok S, я сначала хотел вставить Вашу картинку, вот только ни к чему она там - стремно смотрится программа...
Цитата Сообщение от Lenok S Посмотреть сообщение
форме там, де регистрация???
у меня, если Вы заметили, регистрация и само тестирование - на одной форме: зачем их плодить, если все в одном умещается... Но, уж если у Вас есть прямо-таки насущная необходимость в этой картинке - завтра\послезавтра посмотрю, что можно сделать...
0
-1 / 0 / 0
Регистрация: 28.01.2016
Сообщений: 85
02.02.2017, 13:06  [ТС]
D1973,

И у меня еще проблемка, не могу поменять язык в программе..( Почему он не меняется ?
0
Модератор
 Аватар для D1973
9908 / 6445 / 2455
Регистрация: 21.01.2014
Сообщений: 27,363
Записей в блоге: 3
02.02.2017, 16:05
Цитата Сообщение от Lenok S Посмотреть сообщение
Почему он не меняется ?
А как, по Вашему, он должен меняться? Вы сами должны открыть проект и изменить все надписи, которые на русском, на Ваш язык. Причем это надо сделать как на компонентах (Label, Button и т.д.), так и в коде, т.к. именно там большинство надписей и меняется...
0
-1 / 0 / 0
Регистрация: 28.01.2016
Сообщений: 85
02.02.2017, 17:32  [ТС]
D1973,
в етом то и проблема я все поменяла и в тексте и на формах, запускаю программу, а она все ровно на русском(
0
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
02.02.2017, 20:45
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
void __fastcall TForm1::RichEdit1KeyPress(TObject *Sender, char &Key)
{
    if (N24->Checked==true)
  {S=RichEdit1->Lines->Text;// здесь всегда будет весь текст! и как из него выкопать строку??? подумала об этом?
  S1=S.SubString(S.Length()-1,2);
  AnsiString str( &Key, 1 );
  if (S.Length()==0)// здесь??? условие если пустая строка или текст???
  {Key=0;
  RichEdit1->Lines->Text=RichEdit1->Lines->Text+AnsiUpperCase(str);
  }
  if (S1==". " && Key!=8)
  {Key=0;
  RichEdit1->Lines->Text=RichEdit1->Lines->Text+AnsiUpperCase(str);
  }
  RichEdit1->SelStart=RichEdit1->Text.Length();// здесь??? будет тебя всегда кидать в конец строки или текста - а значит ничего не можешь исправить.
// ну а до этого ваще не дойдет выполнение. 
  RichEdit1->Text = StringReplace( RichEdit1->Text, "  ", " ", TReplaceFlags() << rfReplaceAll);// здесь два пробела заменяться на один. эта операция будет продолжена пока в тексте будет больше или равно двум пробелам (результат будет только один пробел)
 
 
  }
Добавлено через 28 минут
C++
1
2
3
4
5
6
7
8
 
void __fastcall TForm1::RichEdit1KeyPress(TObject *Sender, char &Key)
{
   
RichEdit1->Text = StringReplace( RichEdit1->Text, "  ", " ", TReplaceFlags() << rfReplaceAll);// здесь два пробела заменяться на один.
RichEdit1->SelStart=RichEdit1->Text.Length();// и будет всегда в конце строки.
 
 if (N24->Checked==true)
Добавлено через 19 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void __fastcall TForm1::RichEdit1KeyPress(TObject *Sender, char &Key)
{
   
RichEdit1->Text = StringReplace( RichEdit1->Text, "  ", " ", TReplaceFlags() << rfReplaceAll);// здесь два пробела заменяться на один.
RichEdit1->SelStart=RichEdit1->Text.Length();// и будет всегда в конце строки.
 
// а так можно определить на какой строке пишешь.   
TPoint a =RichEdit1->CaretPos;
   int ind =  a.y; 
// теперь будет условие правильным, не для всего текста, а только для той строки в которой курсор.
ShowMessage(RichEdit1->Lines->Strings[ind]);
 
 if (N24->Checked==true)
1
Модератор
 Аватар для D1973
9908 / 6445 / 2455
Регистрация: 21.01.2014
Сообщений: 27,363
Записей в блоге: 3
03.02.2017, 06:09
Цитата Сообщение от Lenok S Посмотреть сообщение
я все поменяла и в тексте и на формах, запускаю программу, а она все ровно на русском(
Ну не может быть... Высылайте проект исправленый
0
-1 / 0 / 0
Регистрация: 28.01.2016
Сообщений: 85
03.02.2017, 19:11  [ТС]
D1973, вот держите:
Вложения
Тип файла: rar Архив WinRAR.rar (119.2 Кб, 6 просмотров)
0
-1 / 0 / 0
Регистрация: 28.01.2016
Сообщений: 85
03.02.2017, 22:07  [ТС]
lifeforce, все сделала, но все ровно пробелы не удаляет(
0
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
03.02.2017, 22:22
Lenok S,
как вводишь текст в RichEdit1 ?
если те две строчки добавила в начало
C++
1
2
3
4
5
void __fastcall TForm1::RichEdit1KeyPress(TObject *Sender, char &Key)
{
   
RichEdit1->Text = StringReplace( RichEdit1->Text, "  ", " ", TReplaceFlags() << rfReplaceAll);// здесь два пробела заменяться на один.
RichEdit1->SelStart=RichEdit1->Text.Length();// и будет всегда в конце строки.
то все работает.
у меня все ОК. при попытке поставить второй пробел - удаляет его и возвращает курсор на первый пробел.
1
Модератор
 Аватар для D1973
9908 / 6445 / 2455
Регистрация: 21.01.2014
Сообщений: 27,363
Записей в блоге: 3
04.02.2017, 06:11
Lenok S, а что не так? Открыл Ваш проект, скомпилировал - и как бы все в норме... Текст исправлен.
Миниатюры
Передача данных между формами  
0
Модератор
 Аватар для D1973
9908 / 6445 / 2455
Регистрация: 21.01.2014
Сообщений: 27,363
Записей в блоге: 3
04.02.2017, 06:17
Ага, наверное, понял... В самом окне регистрации я использовал компоненты LabeledEdit. Чтобы у них изменить надписи - в инспекторе объектов выбираете свойство EditLabel, а потом меняете свойство Caption на тот текст, который Вам нужен.
0
-1 / 0 / 0
Регистрация: 28.01.2016
Сообщений: 85
04.02.2017, 13:42  [ТС]
Вот я все поменяла скомпилировала, и все на русском ( В чем проблема то, не могу понять? Почему язык не меняется ?
Миниатюры
Передача данных между формами  
0
1378 / 522 / 72
Регистрация: 21.07.2015
Сообщений: 1,308
05.02.2017, 19:58
Цитата Сообщение от Lenok S Посмотреть сообщение
Вот я все поменяла скомпилировала, и все на русском
Еще раз прикрепи проект сюда и попробуй удалить exe и obj в папке и скомпилировать повторно.
0
Модератор
 Аватар для D1973
9908 / 6445 / 2455
Регистрация: 21.01.2014
Сообщений: 27,363
Записей в блоге: 3
05.02.2017, 20:01

Не по теме:

shmkv, это Вы о чем?



Добавлено через 45 секунд

Не по теме:

Упс... еще один пост (не увидел, извиняюсь)



Добавлено через 1 минуту
Lenok S, сегодня уже некогда... Завтра отправлю переведенный и переделаный вариант (за перевод не пинать, все претензии - к Google переводчику )
1
Модератор
 Аватар для D1973
9908 / 6445 / 2455
Регистрация: 21.01.2014
Сообщений: 27,363
Записей в блоге: 3
06.02.2017, 15:49
Lenok S, вот, держите... Вроде, все перевел, что увидел... Ну и переделал маленько:
1. В окно регистрации добавил картинку
2. Окно регистрации болше не торчит на глазах "всю дорогу". Зарегистрировались - и оно скрывается.
3. Перемешивается не только последовательность вопросов, но и варианты ответов для каждого вопроса.
4. Нельзя завершить программу во время тестирования, не введя пароль администратора. (Варианты "убить процесс в диспетчере задач", "нажать RESET", "обесточить пол-квартала", естественно, не рассматривались)
5. Этот же пароль требуется для просмотра полного протокола тестирования.

Не по теме:

p.s. Если не найдете в коде, то пароль - 12345

Вложения
Тип файла: rar Ver3.rar (181.6 Кб, 9 просмотров)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.02.2017, 15:49
Помогаю со студенческими работами здесь

Передача значений переменных между формами
D1973, спасибо про удаление, такая проблемка, решил переписать прогу, чтобы было более понятный интерфейс, как мне передать переменную из...

Передача данных между приложениями
Нужно из одного приложения передать строку в другое.Как это реализовать? Искал много было типа WM_COPYDATA и не разобрался. Если можно...

Передача данных из БД между динамическими Child окнами в MDI приложении
Есть родительская форма Form1. Из нее динамически создается дочерняя Form2. В этой форме есть запрос ADOQuery. Для редактирования данных...

переключение между формами
есть главная форма Main (окно программы) и есть форма Auth (авторизация в программе), которая должна появляться первой, а форма Main должна...

Взаимодействие между формами
Здравствуйте. Я разрабатываю визуальный конструктор веб меню. Проблема в том что я не знаю как лучше установить связь между формами....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
56
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru