Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
2 / 2 / 3
Регистрация: 27.10.2013
Сообщений: 72
1

Из консольного приложения в windows forms

22.04.2014, 00:29. Показов 2527. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
всем доброго времени суток, уважаемые знатоки! собственно, сразу к вопросу: у меня имеется рабочее консольное приложения. как переделать ее в форму? что нужно изменить?
с виндовс формой идея такая (см. скрин): в окне имеется кнопочка, пусть будет "Сгенерировать пароли", после нажатия этой кнопки под ней выдается сообщение "Пароли созданы! Откройте файл pass.txt на рабочем столе!".
прошу помощи
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <iostream>
#include <fstream>
#include <ctime>
#include <Windows.h>
using namespace std;
 
void passw_generator(char *pstr, int n);
 
int main()
{
    setlocale(LC_ALL, "rus");
    char str[80];
    srand(static_cast<unsigned int> (time(0) ));
    ofstream fout("C:\\Users\\Lev\\Desktop\\pass.txt");
    fout << "Список паролей: " << endl << endl;
    passw_generator(str, 8);
    fout << str << endl;
    passw_generator(str, 8);
    fout << str << endl;
    passw_generator(str, 8);
    fout << str << endl;
    passw_generator(str, 8);
    fout << str << endl;
    passw_generator(str, 8);
    fout << str << endl;
    passw_generator(str, 8);
    fout << str << endl;
    passw_generator(str, 8);
    fout << str << endl;
    passw_generator(str, 8);
    fout << str << endl;
    passw_generator(str, 8);
    fout << str << endl;
    passw_generator(str, 8);
    fout << str << endl;
    ifstream file("C:\\Users\\Lev\\Desktop\\pass.txt"); 
 
    fout.close();
    for(int i=5; i>=0; i--)
    {
        cout << "\rОткройте файл pass.txt на рабочем столе!  " << i << "%";
        Sleep(1000);
    }
    return 0;
}
 
void passw_generator(char *pstr, int n)
{
    const short SIZE = 60;
    char arr[SIZE] = {
        'a','b','c','d','e','f','g','h','i','j','k','l','m','n','p','q','r','s','t','u','v','w','x','y','z',
        'A','B','C','D','E','F','G','H','I','J','K','L','M','N','P','Q','R','S','T','U','V','W','X','Y','Z',
        '1','2','3','4','5','6','7','8','9','0'
    };
    for(int i=0; i<n; i++)
    {
        *pstr = arr[rand() % SIZE];
        ++pstr;
    }
    *pstr = '\0';
}
Миниатюры
Из консольного приложения в windows forms  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.04.2014, 00:29
Ответы с готовыми решениями:

Из консольного приложения в приложение Windows Forms
Здравствуйте господа . Мне нужно перевести консольное приложение в приложение Windows Forms ....

Перевод с консольного приложения на Windows Forms
Помогите пожалуйста перевести функцию, которая написано в консоле на с++ в Windows Forms. Заранее...

Разработать приложение шифр Вижинера на Windows Forms из консольного
У меня есть консольное приложение. Необходимо создать Windows Forms приложение. Консольное...

Трудности перевода консольного приложения в Windows Forms
Думаю, что столкнулась с проблемами настройки проекта. У меня есть пример программы в виде...

5
104 / 98 / 40
Регистрация: 01.07.2012
Сообщений: 277
22.04.2014, 01:28 2
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
    setlocale(LC_ALL, "rus");
    char str[80];
    srand(static_cast<unsigned int> (time(0) ));
    ofstream fout("C:\\Users\\Lev\\Desktop\\pass.txt");
    fout << "Список паролей: " << endl << endl;
    passw_generator(str, 8);
    fout << str << endl;
    passw_generator(str, 8);
    fout << str << endl;
    passw_generator(str, 8);
    fout << str << endl;
    passw_generator(str, 8);
    fout << str << endl;
    passw_generator(str, 8);
    fout << str << endl;
    passw_generator(str, 8);
    fout << str << endl;
    passw_generator(str, 8);
    fout << str << endl;
    passw_generator(str, 8);
    fout << str << endl;
    passw_generator(str, 8);
    fout << str << endl;
    passw_generator(str, 8);
    fout << str << endl;
    ifstream file("C:\\Users\\Lev\\Desktop\\pass.txt"); 
 
    fout.close();
Вот этот код также вставляете в функцию кнопки и в конце добавьте Label1->Text (или Caption, не помню точно) = "Откройте файл pass.txt на рабочем столе!"

Либо можно со свойством Visible поиграться. По умолчанию Label1->Visible = 0. После генерации = 1.
0
2 / 2 / 3
Регистрация: 27.10.2013
Сообщений: 72
22.04.2014, 01:52  [ТС] 3
ну вот куда вставить в этом коде? а как же функция
Цитата Сообщение от ZayacV Посмотреть сообщение
void passw_generator(char *pstr, int n);
? я у тому что программа должна работать, тоесть на рабочем столе создается txt файл, в нем список паролей

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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#pragma once
 
namespace gener {
 
    using namespace System;
    using namespace System::ComponentModel;
    using namespace System::Collections;
    using namespace System::Windows::Forms;
    using namespace System::Data;
    using namespace System::Drawing;
 
    /// <summary>
    /// Сводка для Form1
    /// </summary>
    public ref class Form1 : public System::Windows::Forms::Form
    {
    public:
        Form1(void)
        {
            InitializeComponent();
            //
            //TODO: добавьте код конструктора
            //
        }
 
    protected:
        /// <summary>
        /// Освободить все используемые ресурсы.
        /// </summary>
        ~Form1()
        {
            if (components)
            {
                delete components;
            }
        }
    private: System::Windows::Forms::Button^  button1;
    protected: 
 
    private:
        /// <summary>
        /// Требуется переменная конструктора.
        /// </summary>
        System::ComponentModel::Container ^components;
 
#pragma region Windows Form Designer generated code
        /// <summary>
        /// Обязательный метод для поддержки конструктора - не изменяйте
        /// содержимое данного метода при помощи редактора кода.
        /// </summary>
        void InitializeComponent(void)
        {
            this->button1 = (gcnew System::Windows::Forms::Button());
            this->SuspendLayout();
            // 
            // button1
            // 
            this->button1->Location = System::Drawing::Point(155, 51);
            this->button1->Name = L"button1";
            this->button1->Size = System::Drawing::Size(164, 42);
            this->button1->TabIndex = 0;
            this->button1->Text = L"Сгенерировать пароли";
            this->button1->UseVisualStyleBackColor = true;
            // 
            // Form1
            // 
            this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
            this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
            this->ClientSize = System::Drawing::Size(492, 262);
            this->Controls->Add(this->button1);
            this->Name = L"Form1";
            this->Text = L"Form1";
            this->ResumeLayout(false);
 
        }
#pragma endregion
    };
}
0
104 / 98 / 40
Регистрация: 01.07.2012
Сообщений: 277
22.04.2014, 02:30 4
Либо в самом верху
C++
1
2
3
4
5
#pragma once
 
void passw_generator(char *pstr, int n);
 
namespace gener {
Либо как часть класса в h файле

Добавлено через 2 минуты
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
42
43
#pragma once
 
namespace gener {
 
    using namespace System;
    using namespace System::ComponentModel;
    using namespace System::Collections;
    using namespace System::Windows::Forms;
    using namespace System::Data;
    using namespace System::Drawing;
 
    /// <summary>
    /// Сводка для Form1
    /// </summary>
    public ref class Form1 : public System::Windows::Forms::Form
    {
void passw_generator(char *pstr, int n)
{
    const short SIZE = 60;
    char arr[SIZE] = {
        'a','b','c','d','e','f','g','h','i','j','k','l','m','n','p','q','r','s','t','u','v','w','x','y','z',
        'A','B','C','D','E','F','G','H','I','J','K','L','M','N','P','Q','R','S','T','U','V','W','X','Y','Z',
        '1','2','3','4','5','6','7','8','9','0'
    };
    for(int i=0; i<n; i++)
    {
        *pstr = arr[rand() % SIZE];
        ++pstr;
    }
    *pstr = '\0';
}
 
public:
        Form1(void)
        {
            InitializeComponent();
            //
            //TODO: добавьте код конструктора
            //
        }
 
    protected:
...
Добавлено через 3 минуты
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
 setlocale(LC_ALL, "rus");
    char str[80];
    srand(static_cast<unsigned int> (time(0) ));
    ofstream fout("C:\\Users\\Lev\\Desktop\\pass.txt");
    fout << "Список паролей: " << endl << endl;
    passw_generator(str, 8);
    fout << str << endl;
    passw_generator(str, 8);
    fout << str << endl;
    passw_generator(str, 8);
    fout << str << endl;
    passw_generator(str, 8);
    fout << str << endl;
    passw_generator(str, 8);
    fout << str << endl;
    passw_generator(str, 8);
    fout << str << endl;
    passw_generator(str, 8);
    fout << str << endl;
    passw_generator(str, 8);
    fout << str << endl;
    passw_generator(str, 8);
    fout << str << endl;
    passw_generator(str, 8);
    fout << str << endl;
    ifstream file("C:\\Users\\Lev\\Desktop\\pass.txt"); 
 
    fout.close();
Это же вставляется в функцию, вызываемую при нажатии кнопки (даблклик по кнопке на форме и откроется эта функция, по умолчанию пустая)
0
2 / 2 / 3
Регистрация: 27.10.2013
Сообщений: 72
22.04.2014, 03:26  [ТС] 5
сделал все так, но выдало кучу ошибок
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#pragma once
 
namespace gener {
 
    using namespace System;
    using namespace System::ComponentModel;
    using namespace System::Collections;
    using namespace System::Windows::Forms;
    using namespace System::Data;
    using namespace System::Drawing;
 
    /// <summary>
    /// Сводка для Form1
    /// </summary>
    public ref class Form1 : public System::Windows::Forms::Form
    {
        void passw_generator(char *pstr, int n)
        {
            const short SIZE = 60;
            char arr[SIZE] = {
                'a','b','c','d','e','f','g','h','i','j','k','l','m','n','p','q','r','s','t','u','v','w','x','y','z',
                'A','B','C','D','E','F','G','H','I','J','K','L','M','N','P','Q','R','S','T','U','V','W','X','Y','Z',
                '1','2','3','4','5','6','7','8','9','0'
            };
            for(int i=0; i<n; i++)
            {
                *pstr = arr[rand() % SIZE];
                ++pstr;
            }
            *pstr = '\0';
        }
    public:
        Form1(void)
        {
            InitializeComponent();
            //
            //TODO: добавьте код конструктора
            //
        }
 
    protected:
        /// <summary>
        /// Освободить все используемые ресурсы.
        /// </summary>
        ~Form1()
        {
            if (components)
            {
                delete components;
            }
        }
    private: System::Windows::Forms::Button^  button1;
    protected: 
 
    private:
        /// <summary>
        /// Требуется переменная конструктора.
        /// </summary>
        System::ComponentModel::Container ^components;
 
#pragma region Windows Form Designer generated code
        /// <summary>
        /// Обязательный метод для поддержки конструктора - не изменяйте
        /// содержимое данного метода при помощи редактора кода.
        /// </summary>
        void InitializeComponent(void)
        {
            this->button1 = (gcnew System::Windows::Forms::Button());
            this->SuspendLayout();
            // 
            // button1
            // 
            this->button1->Location = System::Drawing::Point(146, 97);
            this->button1->Name = L"button1";
            this->button1->Size = System::Drawing::Size(189, 30);
            this->button1->TabIndex = 0;
            this->button1->Text = L"Сгенерировать пароли";
            this->button1->UseVisualStyleBackColor = true;
            this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click);
            // 
            // Form1
            // 
            this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
            this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
            this->ClientSize = System::Drawing::Size(487, 262);
            this->Controls->Add(this->button1);
            this->Name = L"Form1";
            this->Text = L"Form1";
            this->ResumeLayout(false);
 
        }
#pragma endregion
    private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
                 setlocale(LC_ALL, "rus");
                char str[80];
                srand(static_cast<unsigned int> (time(0) ));
                ofstream fout("C:\\Users\\Lev\\Desktop\\pass.txt");
                fout << "Список паролей: " << endl << endl;
                passw_generator(str, 8);
                fout << str << endl;
                passw_generator(str, 8);
                fout << str << endl;
                passw_generator(str, 8);
                fout << str << endl;
                passw_generator(str, 8);
                fout << str << endl;
                passw_generator(str, 8);
                fout << str << endl;
                passw_generator(str, 8);
                fout << str << endl;
                passw_generator(str, 8);
                fout << str << endl;
                passw_generator(str, 8);
                fout << str << endl;
                passw_generator(str, 8);
                fout << str << endl;
                passw_generator(str, 8);
                fout << str << endl;
                ifstream file("C:\\Users\\Lev\\Desktop\\pass.txt"); 
 
                fout.close();
                label!->Text = "Пароли сгенерированы и созданы.\nОткройте файл pass.txt на рабочем столе!";
             }
    };
}
Миниатюры
Из консольного приложения в windows forms  
0
104 / 98 / 40
Регистрация: 01.07.2012
Сообщений: 277
22.04.2014, 10:58 6
ну библиотеки то надо подключить.

C++
1
2
3
4
5
6
7
8
#include <iostream>
#include <fstream>
#include <ctime>
#include <Windows.h>
 
это в файл stdafx.h
 
using namespace std;
это наверное тут лучше , или используйте команды через std::ifstream например

C++
1
2
3
4
5
6
7
8
namespace gener {
 
    using namespace System;
    using namespace System::ComponentModel;
    using namespace System::Collections;
    using namespace System::Windows::Forms;
    using namespace System::Data;
    using namespace System::Drawing;
Добавлено через 57 секунд
Ну и label нужно на форме разместить, или создавать динамически.
0
22.04.2014, 10:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.04.2014, 10:58
Помогаю со студенческими работами здесь

Из консольного приложения в Windows Forms
Нужно добавить ввод a,b,e через textbox и вывести ответ в messagebox.Помогите пожалуйста class...

Преобразовать из консольного приложения в Windows Forms
Доброго времени суток всем! Столкнулась с проблемой: наклепала что-то вроде телефонной книги в...

Преобразование foreach из консольного приложения в Windows Forms
Нужно преобразовать приложение для скачивания торрентов из консольного в Windows Forms все вроде...

Симбиоз консольного приложения с приложением Windows Forms
Всем привет! Пользуюсь microsoft viual studio. И пытаюсь объединить Консольное приложение с...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru