Форум программистов, компьютерный форум CyberForum.ru

Вводишь текст, нажимаешь на кнопку и всё записывается в фаил(WinApi или Visual C++) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Чтение из файлов по "маске" http://www.cyberforum.ru/cpp-beginners/thread420890.html
Проблема такова: есть файл в котором описаны функции(они также объявлены и описаны в программе). Например: Func1(1,2); Func2(3,4); Как сделать, чтобы после прочтения 1-ой строки из файла, программа использовала функцию Func1 с параметрами 1 и 2, если это возможно?
C++ подскажите мне ребят решил начать писать программы на С/С++. Скачал среду как посаветано сдесь на форуме, Microsoft Visual C++ 2008 Express Edition with SP1, но не могу разобраться, где стартовый файлк чтобы запускать саму среду? Все папки облазел не нашел, подскажите пожайлуста! http://www.cyberforum.ru/cpp-beginners/thread420886.html
объявить массив 5на5. 3аполнить массив '0' C++
а как объявить массив 5на5. 3аполнить массив '0'?
C++ Вывести список студентов с их оценками за разные предметы, со средним баллом студента
ПОМОГИТЕ!! СРОЧНО! нужно написать список студентов с их оценками за разные предметы, со средним баллом студента! используя map и прочее.. я не понимаю, как это сделать.. кто-нибудь, можете ли вы помочь?
C++ Скалярное произведение двух массивов http://www.cyberforum.ru/cpp-beginners/thread420863.html
не могли бы подсказать, что в коде программы надо дописать, вышло только просто произведение #include <iostream> #include <stdlib.h> using namespace std; void mas_in(int* a, int size) { for(int i = 0; i < size; ++i) cin >> a; } void mas_out(int* a, int size)
C++ слова using, std зачем нужны эти слова (using)? что эти выражения значат? #include <iostream> using std::cin; using std::cout; using std::endl; и зачем использовать перед cout std в следующем коде? std::cout << std::endl; подробнее

Показать сообщение отдельно
jonson
 Аватар для jonson
231 / 204 / 61
Регистрация: 18.03.2010
Сообщений: 749
30.12.2011, 20:13     Вводишь текст, нажимаешь на кнопку и всё записывается в фаил(WinApi или Visual C++)
вот, набросал что-то
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
#include <Windows.h>
 
HWND h, button, h_text;
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
 
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{ 
 
    WNDCLASSEX wc;
    MSG msg;
    ZeroMemory(&wc,sizeof(wc));
 
    wc.cbSize        = sizeof(wc);      
    wc.lpfnWndProc   = WndProc;
    wc.hInstance     = hInstance;
    wc.hCursor       = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground = (HBRUSH)GetStockObject(DKGRAY_BRUSH);
    wc.lpszClassName = "MyClass";
    RegisterClassEx(&wc);
    // создаем окно
    h = CreateWindowEx(WS_EX_OVERLAPPEDWINDOW, wc.lpszClassName,"",WS_SYSMENU | WS_MINIMIZEBOX,
        300, 300, 450, 240, NULL, NULL, (HINSTANCE)hInstance, 0);
    //кнопку
    button =  CreateWindow("button", "Write File",
        WS_CHILD | WS_VISIBLE ,365,180,70,25, h, NULL, hInstance, 0);
    // текст. редактор
    h_text =  CreateWindow("edit", "bla bla bla ",
        WS_CHILD | WS_VISIBLE | ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | WS_VSCROLL | WS_HSCROLL, 20,20,400,150, h, NULL, hInstance, 0);
    
    //показываем
    ShowWindow(h, nCmdShow);
    UpdateWindow(h);
 
    while (GetMessage(&msg, NULL, 0, 0)) 
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return msg.wParam;
}
 
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    switch (msg)
    {
    case WM_DESTROY:
        {
            PostQuitMessage(0);
            return 0;
        }
    case WM_COMMAND:
        {
            if( (HWND)lParam == button)
            {   
                int len = SendMessage(h_text, WM_GETTEXTLENGTH, 0, 0); // узнаем длину всего текста
                char* pPass;
                pPass = new char [len]; // выделяем память для текста
                SendMessage(h_text, WM_GETTEXT, len, (long)pPass); // копируем текст
                
                char patch[MAX_PATH] ="";
                GetModuleFileName(0, patch, MAX_PATH); // узнаем путь к нашему .ехе файлу
                for (int i=strlen(patch); i>1; --i)
                    if(patch[i] != '\\')
                        patch[i] = '\0';
                    else break;
                strcat(patch, "text.txt");      
                DWORD dw;
                // в дериктории c нашим .ехе файлом создаем текстовый файл
                HANDLE file = CreateFile(patch, GENERIC_WRITE, 0, 0, CREATE_ALWAYS, 0, 0);
                if( !file)
                {
                    MessageBox(0,"текстовый файл не создан",0,0);
                    break;
                }
                // делаем запись в  text.txt
                WriteFile(file, pPass, len, &dw, 0);
                //закрываем 
                CloseHandle(file);
                //освобождаем занятый блок памяти
                delete [] pPass;
            }
            break;  
        }
 
    default:
        return DefWindowProc(hWnd, msg, wParam, lParam);
    }
}
 
Текущее время: 15:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru