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

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

26.01.2017, 20:31. Показов 6395. Ответов 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
9939 / 6475 / 2459
Регистрация: 21.01.2014
Сообщений: 27,456
Записей в блоге: 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
9939 / 6475 / 2459
Регистрация: 21.01.2014
Сообщений: 27,456
Записей в блоге: 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
9939 / 6475 / 2459
Регистрация: 21.01.2014
Сообщений: 27,456
Записей в блоге: 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
9939 / 6475 / 2459
Регистрация: 21.01.2014
Сообщений: 27,456
Записей в блоге: 3
04.02.2017, 06:11
Lenok S, а что не так? Открыл Ваш проект, скомпилировал - и как бы все в норме... Текст исправлен.
Миниатюры
Передача данных между формами  
0
Модератор
 Аватар для D1973
9939 / 6475 / 2459
Регистрация: 21.01.2014
Сообщений: 27,456
Записей в блоге: 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
9939 / 6475 / 2459
Регистрация: 21.01.2014
Сообщений: 27,456
Записей в блоге: 3
05.02.2017, 20:01

Не по теме:

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



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

Не по теме:

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



Добавлено через 1 минуту
Lenok S, сегодня уже некогда... Завтра отправлю переведенный и переделаный вариант (за перевод не пинать, все претензии - к Google переводчику )
1
Модератор
 Аватар для D1973
9939 / 6475 / 2459
Регистрация: 21.01.2014
Сообщений: 27,456
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
[golang] Реализация стека с поддержкой получения минимального элемента за O(1)
alhaos 16.06.2026
155. Min Stack Задача: Реализовать стек который поддерживает push, pop, top и получение минимального элемента за O(1). Методы: NewMinStack() *MinStack — инициализация Push(val int) —. . .
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов. Сигнатура func Fetch(urls string, maxConcurrent int) Result Пример urls :=. . .
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition) Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
Взрослые отношения, и почему они не получаются
kumehtar 09.06.2026
Когда в детстве ребёнок не получает от родителей чего-то важного, он лишается не просто приятных переживаний, а основы для формирования определённых внутренних качеств и навыков. Если ребёнок не. . .
[golang] Worker Pool
alhaos 09.06.2026
Worker Pool Worker Pool — паттерн конкурентной обработки задач в Go. Суть: фиксированное количество горутин-воркеров читают задачи из общего канала и пишут результаты в общий канал результатов. . . .
[golang] Pipeline
alhaos 08.06.2026
Pipeline Pipeline — паттерн конкурентной обработки данных в Go. Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь lIs4oanZS9Y
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу. До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru