То, что введено в поле ввода, не сохраняется в файле [закрыто]C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 То, что введено в поле ввода, не сохраняется в файле [закрыто]

Сообщение Anonymous »


// TEST.cpp : Определяет точку входа для приложения. // #include "framework.h" #include "TEST.h" #include #define BUTTON_WIDTH 100 #define BUTTON_HEIGHT 30 #define WC_BUTTON L"BUTTON" #define ID_BUTTON_LOGIN 100 #define ID_BUTTON_SIGNUP 101 #define ID_BUTTON_SIGNIN 102 #define BUTTON_STYLE WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON #define ID_LOGIN_EDIT #define ID_PASSWORD_EDIT #define MAX_LOADSTRING 100 using namespace std; // Глобальные переменные: HINSTANCE hInst; // текущий экземпляр WCHAR szTitle[MAX_LOADSTRING]; // Текст строки заголовка WCHAR szWindowClass[MAX_LOADSTRING]; // имя класса главного окна // Отправить объявления функций, включенных в этот модуль кода: ATOM MyRegisterClass(HINSTANCE hInstance); BOOL InitInstance(HINSTANCE, int); LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM); int APIENTRY wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPWSTR lpCmdLine, _In_ int nCmdShow) { UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine); // TODO: Разместите код здесь. // Инициализация глобальных строк LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); LoadStringW(hInstance, IDC_TEST, szWindowClass, MAX_LOADSTRING); MyRegisterClass(hInstance); // Выполнить инициализацию приложения: if (!InitInstance(hInstance, nCmdShow)) { return FALSE; } HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_TEST)); MSG msg; // Цикл основного сообщения: while (GetMessage(&msg, nullptr, 0, 0)) { if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } } return (int)msg.wParam; } // // ФУНКЦИЯ: MyRegisterClass() // // ЦЕЛЬ: Регистрирует класс окна. // ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEXW wcex; wcex.cbSize = sizeof(WNDCLASSEX); wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = WndProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wcex.hInstance = hInstance; wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_TEST)); wcex.hCursor = LoadCursor(nullptr, IDC_ARROW); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_TEST); wcex.lpszClassName = szWindowClass; wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL)); return RegisterClassExW(&wcex); } // // ФУНКЦИЯ: InitInstance(HINSTANCE, int) // // ЦЕЛЬ: Сохраняет маркер экземпляра и создает главное окно // // КОММЕНТАРИИ: // // В этой функции маркер экземпляра сохраняется в глобальной переменной, а также // создается и выводится главное окно программы. // BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { hInst = hInstance; // Сохранить маркер экземпляра в глобальной переменной HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr); if (!hWnd) { return FALSE; } ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd); return TRUE; } // // ФУНКЦИЯ: WndProc(HWND, UINT, WPARAM, LPARAM) // // ЦЕЛЬ: Обрабатывает сообщения в главном окне. // // WM_COMMAND - обработать меню приложения // WM_PAINT - Отрисовка главного окна // WM_DESTROY - отправить сообщение о выходе и вернуться // // LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { static HWND hButtonSignUp; switch (message) { case WM_CREATE: { CreateWindow(L"STATIC", L"Sign in", WS_VISIBLE | WS_CHILD, 160, 10, 100, 20, hWnd, NULL, NULL, NULL); CreateWindow(L"STATIC", L"LOGIN", WS_VISIBLE | WS_CHILD, 50, 50, 100, 20, hWnd, NULL, NULL, NULL); CreateWindow(L"EDIT", L"", WS_VISIBLE | WS_CHILD | WS_BORDER, 150, 50, 200, 20, hWnd, NULL, NULL, NULL); CreateWindow(L"STATIC", L"Password", WS_VISIBLE | WS_CHILD, 50, 90, 100, 20, hWnd, NULL, NULL, NULL); CreateWindow(L"EDIT", L"", WS_VISIBLE | WS_CHILD | WS_BORDER, 150, 90, 200, 20, hWnd, NULL, NULL, NULL); RECT rect; GetClientRect(hWnd, &rect); int windowWidth = rect.right - rect.left; // Расположение формы регистрации относительно правого края окна float registrationFormPercent = 0.8f; // 80% от ширины окна int registrationFormX = (int)(windowWidth * registrationFormPercent); // Используйте registrationFormX вместо фиксированных координат CreateWindow(L"STATIC", L"Sign up", WS_VISIBLE | WS_CHILD, registrationFormX, 10, 100, 20, hWnd, NULL, NULL, NULL); CreateWindow(L"STATIC", L"LOGIN", WS_VISIBLE | WS_CHILD, registrationFormX - 100, 50, 100, 20, hWnd, NULL, NULL, NULL); CreateWindow(L"EDIT", L"", WS_VISIBLE | WS_CHILD | WS_BORDER, registrationFormX, 50, 200, 20, hWnd, NULL, NULL, (HMENU)ID_LOGIN_EDIT); CreateWindow(L"STATIC", L"Password", WS_VISIBLE | WS_CHILD, registrationFormX - 100, 90, 100, 20, hWnd, NULL, NULL, NULL ); CreateWindow(L"EDIT", L"", WS_VISIBLE | WS_CHILD | WS_BORDER, registrationFormX, 90, 200, 20, hWnd, NULL, NULL, (HMENU)ID_PASSWORD_EDIT); CreateWindow(L"STATIC", L"Repeat pass", WS_VISIBLE | WS_CHILD, registrationFormX - 100, 130, 100, 20, hWnd, NULL, NULL, NULL); CreateWindow(L"EDIT", L"", WS_VISIBLE | WS_CHILD | WS_BORDER, registrationFormX, 130, 200, 20, hWnd, NULL, NULL, NULL); HWND hButtonSignIn = CreateWindowEx( 0, WC_BUTTON, L"Log in", BUTTON_STYLE, 160, 130, BUTTON_WIDTH, BUTTON_HEIGHT, hWnd, (HMENU)ID_BUTTON_SIGNIN, GetModuleHandle(NULL), NULL); if (hButtonSignIn == NULL) { MessageBox(NULL, L"Ошибка создания кнопки", L"Ошибка", MB_OK); return FALSE; } HWND hButtonSignUp = CreateWindowEx( 0, WC_BUTTON, L"Register now", BUTTON_STYLE, registrationFormX, 170, BUTTON_WIDTH, BUTTON_HEIGHT, hWnd, (HMENU)ID_BUTTON_SIGNUP, GetModuleHandle(NULL), NULL); if (hButtonSignUp == NULL) { MessageBox(NULL, L"Ошибка создания кнопки", L"Ошибка", MB_OK); return FALSE; } if (hButtonSignUp == NULL) { MessageBox(NULL, L"Ошибка создания кнопки", L"Ошибка", MB_OK); return FALSE; } break; } case WM_COMMAND: { int wmId = LOWORD(wParam); // Разобрать выбор в меню: switch (wmId) { case ID_BUTTON_SIGNUP: { // Получаем текст из полей "Логин" и "Пароль" WCHAR loginText[256]; WCHAR passwordText[256]; GetWindowText(GetDlgItem(hWnd, ID_LOGIN_EDIT), loginText, 256); GetWindowText(GetDlgItem(hWnd, ID_PASSWORD_EDIT), passwordText, 256); // Открываем файл для записи wofstream outFile("reglogform.txt", ios_base::app); // ios::app для добавления данных в конец файла if (outFile.is_open()) { // Записываем данные в файл outFile

Источник: https://stackoverflow.com/questions/780 ... n-the-file
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»