Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/22: Рейтинг темы: голосов - 22, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 25.09.2021
Сообщений: 53
1

Окно авторизации с переходом на другую форму

28.09.2021, 11:15. Показов 4024. Ответов 16

Author24 — интернет-сервис помощи студентам
Добрый день! Подскажите пожалуйста как мне изменить код программы
(созданной не мной, а пользователем форума под именем "Серёжа Одиночки"; код его программы прикреплён в виде архива: "Авторизация1").
  1. Дело в том, что мне нужно создать программу, которая при правильно введённом пароле, запускала бы следующую форму, а в этом коде программа при правильно введённом пароле запускает только вот такую форму (картинка ("Авторизация1") в прикреплённых файлах)
  2. Также подскажите пожалуйста как исправить код программы, чтобы можно было использовать другой пароль, а не тот, который используется в данной программе.
Заранее благодарю всех кто поможет. Ещё раз повторяю, что программа была написана не мной, а пользователем "Серёжа Одиночки". Вот ссылка откуда была взята программа: Создать окно авторизации в Builder
Миниатюры
Окно авторизации с переходом на другую форму  
Вложения
Тип файла: rar Авторизация1.rar (5.54 Мб, 5 просмотров)
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.09.2021, 11:15
Ответы с готовыми решениями:

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

Вызвать стандартное окно авторизации windows и передать данные на форму
Всем доброго дня! Подскажите, как можно и возможно ли вызвать стандартное окно авторизации windows...

Сайт с формой авторизации и функционалом в виде кнопок с переходом на страницы
необходимо создать сайт на PHP, чтобы он включал в себя форму авторизации и некий функционал в виде...

Поиск с переходом на другую страницу
Всем привет! Ангулярщики, нужна помощь! Делаю сайт на AngularJS и Flask. Нужно сделать поиск с...

Запись в файл с переходом на другую строку
Не происходит переход на др. строку каждой строчки, при записи в файл test1, вот пишу такой код:...

16
Модератор
 Аватар для D1973
9655 / 6261 / 2429
Регистрация: 21.01.2014
Сообщений: 26,694
Записей в блоге: 3
28.09.2021, 11:41 2
123-Даниил, я бы Вам советовал прочитать вот это и сделать, как там написано.
0
0 / 0 / 0
Регистрация: 25.09.2021
Сообщений: 53
28.09.2021, 14:55  [ТС] 3
D1973, спасибо Вам большое за ответ. Но теперь у меня появилась новая проблема.
Я создал форму в соответствии с кодом пользователя volvo, на который Вы дали мне ссылку ("Авторизация2"), а также переписал этот код. И при компиляции у меня выдаёт такую ошибку ("Ошибка1").
Прошу Вас, D1973, помочь мне разобраться в чём заключается ошибка, т.к. пока что я только начинаю разбираться в программировании.
P.S. Извините, что прошу Вас разбираться в чужом коде.
Миниатюры
Окно авторизации с переходом на другую форму   Окно авторизации с переходом на другую форму  
0
Модератор
 Аватар для D1973
9655 / 6261 / 2429
Регистрация: 21.01.2014
Сообщений: 26,694
Записей в блоге: 3
28.09.2021, 16:09 4
Не надо никаких объявлений вот этих
C++
1
2
char edUser;
char edPass;
edUser и edPass - имена компонентов TEdit, которые должны лежать на форме и куда пользователь будет вводить логин и пароль.
0
0 / 0 / 0
Регистрация: 25.09.2021
Сообщений: 53
28.09.2021, 20:58  [ТС] 5
D1973, дело в том, что без этих объявлений компилятор выдаёт мне вот такую ошибку:

Извините, не могу разобраться из-за чего появляется эта ошибка.
Миниатюры
Окно авторизации с переходом на другую форму  
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33049 / 21349 / 8205
Регистрация: 22.10.2011
Сообщений: 36,660
Записей в блоге: 9
28.09.2021, 21:23 6
123-Даниил, к посту прикреплены 2 проекта, неужели нельзя было скачать, и посмотреть, что должно быть на форме? А на форме должны быть два TEdit-а, с именами edUser и edPass. О чем и было написано выше. Есть эти два компонента на форме? Свойство Name у них изменено соответствующим образом? Если да - то все должно работать, я неработающие проекты не выкладываю...
0
Модератор
 Аватар для D1973
9655 / 6261 / 2429
Регистрация: 21.01.2014
Сообщений: 26,694
Записей в блоге: 3
29.09.2021, 04:35 7
Цитата Сообщение от 123-Даниил Посмотреть сообщение
без этих объявлений компилятор выдаёт мне вот такую ошибку
м-да... беда бедовая... Вы бы хоть первые несколько страниц любого учебника по Delphi/C++ Builder прочитали, что ли... Вот 100%, что конкретно этих вот вопросов уже бы не возникло.

Итак:
1. Положите на форму компонент TEdit (ну хоть с этим-то Вы справитесь самостоятельно?).
2. Выделите свой Эдит (он должен быть выделен маркерами по углам и по серединам сторон)
3. В инспекторе объектов (это такая фигня слева от формы, на скрине красным обведена...) найдите свойство Name и измените его на edUser
4. Проделайте те же операции со вторым Эдитом с той только разницей, что имя будет edPass
Миниатюры
Окно авторизации с переходом на другую форму  
0
0 / 0 / 0
Регистрация: 25.09.2021
Сообщений: 53
29.09.2021, 22:23  [ТС] 8
Цитата Сообщение от D1973 Посмотреть сообщение
м-да... беда бедовая... Вы бы хоть первые несколько страниц любого учебника по Delphi/C++ Builder прочитали, что ли... Вот 100%, что конкретно этих вот вопросов уже бы не возникло.
Итак:
1. Положите на форму компонент TEdit (ну хоть с этим-то Вы справитесь самостоятельно?).
2. Выделите свой Эдит (он должен быть выделен маркерами по углам и по серединам сторон)
3. В инспекторе объектов (это такая фигня слева от формы, на скрине красным обведена...) найдите свойство Name и измените его на edUser
4. Проделайте те же операции со вторым Эдитом с той только разницей, что имя будет edPass
С этим у меня не возникло проблем. После всего проделанного (1-4 пункты как Вы сказали) у меня все равно не компилируется программа (выдаёт всё ту же ошибку: "E2451 Undefined symbol 'edUser'", хотя я указал новые имена ("edUser", "edPass") элемента Edit1 и элемента Edit2 в свойстве name инспектора объектов).
Моя проблема заключается в том, что я не до конца понимаю порядок записывания кода программы volvo (потому что у volvo в этой теме написаны разные способы создания окна авторизации, из-за чего я теряюсь по какому коду мне следовать) или возможно я что-то не дописал самостоятельно в коде (т.к. у volvo код написан не учитывая какие библиотеки нужно указывать в самом начале кода). Но я не говорю, что это вина volvo.
Из-за отсутствия необходимого опыта я не могу понять какой код мне следует переписать.
Поэтому хочу попросить volvo написать в этой теме последовательность кода, который я должен записать, чтобы программа скомпилировалась. Или прошу написать в этой теме каким другим способом я смогу создать авторизацию программы (код желательно полегче).

Добавлено через 9 минут
Цитата Сообщение от volvo Посмотреть сообщение
123-Даниил, к посту прикреплены 2 проекта, неужели нельзя было скачать, и посмотреть, что должно быть на форме?

volvo, после скачивания Ваших проектов в разархивированной папке нету project, который я бы смог открыть в C++ Builder.
Там только находятся отдельные C Header файлы ("Auth_form", "Admin_form"), файлы СРР ("Auth_form", "Admin_form"), а также C++ Builder Form ("Auth_form", "Admin_form").
Единственный файл с названием project есть только в формате СРР. А в формате ВСВproject, которого я бы смог открыть в C++ Builder не оказалось, поэтому я и не могу просмотреть какие объекты Вы добавляли на форму.
Миниатюры
Окно авторизации с переходом на другую форму  
0
Модератор
 Аватар для D1973
9655 / 6261 / 2429
Регистрация: 21.01.2014
Сообщений: 26,694
Записей в блоге: 3
30.09.2021, 05:41 9
Цитата Сообщение от 123-Даниил Посмотреть сообщение
А в формате ВСВproject, которого я бы смог открыть в C++ Builder не оказалось
Он там есть (файл Project1.cbproj). вот только предназначен он не для 6-го билдера...
Цитата Сообщение от 123-Даниил Посмотреть сообщение
После всего проделанного (1-4 пункты как Вы сказали) у меня все равно не компилируется программа
Выкладывайте свой архив с проектом (не надо "мусора", только исходники: *.bpr, *.cpp, *.h, *.dfm)
0
0 / 0 / 0
Регистрация: 25.09.2021
Сообщений: 53
30.09.2021, 09:33  [ТС] 10
Цитата Сообщение от D1973 Посмотреть сообщение
Выкладывайте свой архив с проектом (не надо "мусора", только исходники: *.bpr, *.cpp, *.h, *.dfm)
В этом архиве я написал программу по следующим кодам volvo:

1. Добавил на форму все необходимые элементы и прописал код при нажатии на кнопку btnLogIn (скриншот этого кода в прикреплённых под названием 1);

2. Прописал код в h-файл этого проекта со статическим методом Execute (скриншот этого кода в прикреплённых под названием 2);

3. Поменял код в файле Project1 (который был вот так открыт: Project -> View source (скриншот этого кода в прикреплённых под названием 3).
И всё равно выдаёт много ошибок. D1973 я Вам отправляю архив с окончательной программой, разберитесь пожалуйста в чём там заключается проблема, потому что я сделал всё как было указано, а всё равно выдаёт ошибки (может у меня билдер не подходит чтобы использовать этот код от volvo для создания окна авторизации).
Миниатюры
Окно авторизации с переходом на другую форму   Окно авторизации с переходом на другую форму   Окно авторизации с переходом на другую форму  

Вложения
Тип файла: rar 5.rar (102.1 Кб, 8 просмотров)
0
Модератор
 Аватар для D1973
9655 / 6261 / 2429
Регистрация: 21.01.2014
Сообщений: 26,694
Записей в блоге: 3
30.09.2021, 10:41 11
Лучший ответ Сообщение было отмечено 123-Даниил как решение

Решение

Ну и что Вы прислали?
Во первых, я же просил только исходник. Нет, Вы запихали все, даже с ехе-шником.
Во вторых, а основная форма проекта-то где? Я только форму логина вижу...

Добавлено через 13 минут
Вот, держите проект для ВСВ6...

Добавлено через 1 минуту
Логин == Пароль == admin
Это если Вы в коде этого не увидите...
Вложения
Тип файла: rar 5_1.rar (4.1 Кб, 17 просмотров)
1
0 / 0 / 0
Регистрация: 25.09.2021
Сообщений: 53
30.09.2021, 23:47  [ТС] 12
D1973 , спасибо Вам огромное! Я посмотрел код этой программы и в целом разобрался как Вы реализовали проект.

Хочу сказать, что у меня без Вашей помощи всё равно ничего не получилось, т.к. я добавлял все необходимые компоненты сразу на форму. Вы же используете для этого фреймворк.

Спасибо Вам ещё раз! Также хочу поблагодарить автора тематики про создания формы авторизации в C++ Builder, volvo.
0
Модератор
 Аватар для D1973
9655 / 6261 / 2429
Регистрация: 21.01.2014
Сообщений: 26,694
Записей в блоге: 3
01.10.2021, 04:55 13
Цитата Сообщение от 123-Даниил Посмотреть сообщение
я добавлял все необходимые компоненты сразу на форму. Вы же используете для этого фреймворк.
А вот это поподробнее, пожалуйста? Что я там наделал?
0
0 / 0 / 0
Регистрация: 25.09.2021
Сообщений: 53
01.10.2021, 09:31  [ТС] 14
Цитата Сообщение от D1973 Посмотреть сообщение
А вот это поподробнее, пожалуйста? Что я там наделал?
D1973, забудьте, что я написал . Я только сегодня утром понял какой бред по поводу фреймворка Вам вчера написал. Извините за мою невнимательность .
Ещё раз спасибо, что помогли с формой авторизации.
0
0 / 0 / 0
Регистрация: 25.09.2021
Сообщений: 53
19.10.2021, 11:27  [ТС] 15
D1973, добрый день! Подскажите мне пожалуйста.
Вопрос касается всё той же программы.
Как мне создать ещё одну форму, используя предыдущий код создания формы?

Например, я хочу создать ещё одну форму, которая появляется после нажатия Button2 - "Оформить заказ" (
Окно авторизации с переходом на другую форму
)
И следуя по предыдущему коду для формы авторизации. Вот он:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  if ((Edit1->Text == "123") && (Edit2->Text == "123"))
     ModalResult = mrOk;
     else ModalResult = mrCancel;
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button2Click(TObject *Sender)
{
   ModalResult = mrCancel;
}
//---------------------------------------------------------------------------
 
bool __fastcall TForm1::Execute()
{
    TForm1 *f1 = new TForm1(NULL);
    int res = f1->ShowModal();
    delete f1;
    return res == mrOk;
}
//---------------------------------------------------------------------------
Я сделал такое:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void __fastcall TForm2::Button2Click(TObject *Sender)
{
   ModalResult = mrOk;     
}
//---------------------------------------------------------------------------
void __fastcall TForm2::Button5Click(TObject *Sender)
{
   ModalResult = mrCancel;     
}
//---------------------------------------------------------------------------
 
bool __fastcall TForm2::Execute()
{
     TForm2 *f2 = new TForm2(NULL);
     int res = f2->ShowModal();
     delete f2;
     return res == mrOk;
}
//---------------------------------------------------------------------------
Проблемка в том, что Button2 ("Оформить заказ") не работает.

Вот код view:
C++
1
2
3
4
5
6
7
8
9
10
try
        {
             if(TForm1::Execute()) {
                 Application->Initialize();
                 Application->CreateForm(__classid(TForm2), &Form2);
                 Application->CreateForm(__classid(TForm3), &Form3);
                 Application->Run();
             }
             else Application->MessageBoxA("Вы не прошли авторизацию!", "ERROR!");
        }
В чём проблема? И почему не работает Button2 ("Оформить заказ")? Помогите мне пожалуйста. Заранее благодарю
0
Модератор
 Аватар для D1973
9655 / 6261 / 2429
Регистрация: 21.01.2014
Сообщений: 26,694
Записей в блоге: 3
19.10.2021, 14:20 16
Цитата Сообщение от 123-Даниил Посмотреть сообщение
используя предыдущий код создания формы?
Не надо этот код использовать где ни попадя. Этот код предназначен для вызова формы авторизации до запуска основного приложения. И в зависимости от того, была ли авторизация успешной, приложение или запускается или не запускается.
В Вашем же случае все что нужно - это
1. Создать дополнительную форму.
2. Приинклюдить хэдер этой дополнительной формы к основной форме.
3. В опциях проекта либо убрать форму в доступные, либо оставить в автосоздаваемых. Это уже от контекста задачи зависит и от того, хотите ли Вы создавать форму динамически или нет.
3. Если форма в доступных - создаете ее. Если форма в автосоздаваемых - ничего делать не надо.
4. Вызвать форму на обозрение используя метод Show() или ShowModal()

Но, так-то, все это более подробно в любом учебнике описано.
0
0 / 0 / 0
Регистрация: 25.09.2021
Сообщений: 53
19.10.2021, 16:34  [ТС] 17
D1973, понятно. Спасибо за совет.
0
19.10.2021, 16:34
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.10.2021, 16:34
Помогаю со студенческими работами здесь

Клик по картинке с переходом на другую страницу
как кликнув по бг сделать переадресацию на другую страницу? <div class="дogo"></div> ...

помогите с переходом с одной формы на другую....
помогите с кодом кнопки чтобы перейти на другую форму и обратно.

Авторизация с переходом на другое окно
Добрый день! Как написать код, что бы при вводе определенного логина и пароля он перебросил меня...

Проблема с переходом из формы на форму.
Доброго времени суток всем! Трабла у меня вот какая: есть таблица в Экселе, в которую занесеный...

Задержка перед переходом на следующую форму
Мы выбираем кнопку, после чего картинка меняется и через секунду переходит на след форму, проблема...

VMWare эмуль реального железа эксперименты с последующим переходом на другую ось
Доброго времени суток, господа эксперты. Нужна помощь. Ситуация следующая: имеем ноут HP Povil...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
[Golang] 121. Best Time to Buy and Sell Stock
alhaos 28.01.2025
В этой задаче мы получаем слайс целых чисел, которые означают цену акции в разные моменты времени, и должны вернуть максимально возможную прибыль от купли продажи акции. / / . . .
Проектирование и моделирование
hw_wired 28.01.2025
Введение в моделирование Моделирование представляет собой один из фундаментальных методов научного познания, который позволяет изучать объекты и явления через создание их упрощенных аналогов. В. . .
Алгоритмы и исполнители
hw_wired 28.01.2025
Введение в алгоритмы В современном мире информационных технологий алгоритмы играют основополагающую роль в решении различных задач и автоматизации процессов. Алгоритм представляет собой точную. . .
Хранение информации
hw_wired 28.01.2025
Введение: Роль систем хранения информации в современном мире В современную эпоху цифровых технологий эффективное хранение информации становится одним из ключевых факторов успешного развития любой. . .
Обработка числовой информации
hw_wired 28.01.2025
Введение в обработку числовой информации В современном мире обработка числовой информации стала неотъемлемой частью как профессиональной деятельности, так и повседневной жизни. Электронные таблицы. . .
Мультимедиа
hw_wired 28.01.2025
Введение в мультимедийные технологии В современном мире мультимедийные технологии стали неотъемлемой частью нашей жизни, проникнув во все сферы человеческой деятельности. Термин "мультимедиа". . .
Обработка текстовой информации
hw_wired 28.01.2025
Введение в обработку текстовой информации В современном мире обработка текстовой информации играет фундаментальную роль в различных сферах человеческой деятельности. Текстовые редакторы стали. . .
Обработка графической информации
hw_wired 28.01.2025
Введение в компьютерную графику Компьютерная графика стала неотъемлемой частью современного цифрового мира, пройдя впечатляющий путь развития от простейших черно-белых изображений до сложных. . .
Python в Алгоритмике: Решение задач
hw_wired 28.01.2025
Введение в Python и Алгоритмику В современном мире программирование стало неотъемлемой частью образования и профессионального развития. Python зарекомендовал себя как один из самых популярных и. . .
Компьютер как универсальное устройство для работы с информацией
hw_wired 28.01.2025
Введение в устройство компьютера Компьютер представляет собой универсальное электронное устройство, предназначенное для автоматической обработки информации. В современном мире компьютер стал. . .
Информация и информационные процессы
hw_wired 28.01.2025
Понятие информации и ее виды В современном мире информация является одним из фундаментальных понятий, пронизывающих все сферы человеческой деятельности. Под информацией понимают любые сведения об. . .
Алгоритмика
hw_wired 28.01.2025
Введение: Основы алгоритмики и её роль в информатике В современном мире программирование и алгоритмическое мышление стали неотъемлемой частью образования и профессиональной деятельности. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru