Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
androidos
29 / 27 / 5
Регистрация: 07.07.2011
Сообщений: 775
1

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

30.12.2011, 17:30. Просмотров 860. Ответов 6
Метки нет (Все метки)

Всем хай!
Помогите написать простую програмулину. Например, форма, на ней техтбох, кнопка. Вводишь текст, нажимаешь на кнопку и всё записывается в фаил. Ну примерно так, если можно - то с комментариями. Сам C++ не знаю, хотя были попытки освоить, но больше нет желания связываться с этим языком. Вообщем вот, кого не затруднит, то помогите. Желательно на WINAPI или Visual C++.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2011, 17:30
Ответы с готовыми решениями:

Вводишь число от 1 до 7 и выводит день недели.Вводишь 0 выход.
Требуется помощь в простенькой программе на С++. Вводишь число от 1 до 7 и...

Не всё записывается в файл. Ничего не понимаю
Здравствуйте. У меня появилась такая проблема: нужно записать в один файл...

Накапливать в textbox текст, когда нажимаешь кнопку
Ребята. Опять проблема. Хотел сделать 2 текстбокса и 1 кнопку. Идея такова,...

КАК СДЕЛАТЬ ЧТОБ НАЖИМАЕШЬ КНОПКУ И ПОЯВЛЯЕТСЯ ТЕКСТ И КАРТИНКА
как сделать так, чтоб при нажатии label2, нужный мне текст показывался в...

Вводишь слово - оно записывается в таблицу
задание: вводишь слово - оно записывается в таблицу

6
jonson
235 / 208 / 84
Регистрация: 18.03.2010
Сообщений: 750
30.12.2011, 20:13 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
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);
    }
}
0
androidos
29 / 27 / 5
Регистрация: 07.07.2011
Сообщений: 775
30.12.2011, 21:01  [ТС] 3
Не совсем понял, у меня на patch ругается. Вместо patch надо путь до exe указать или как?
0
jonson
235 / 208 / 84
Регистрация: 18.03.2010
Сообщений: 750
30.12.2011, 21:08 4
ничего не нужно указывать. Пишите текст, нажимаете на кнопку. Текстовый файл создается рядом с исполнимым. У меня всё работает. А что за ошибку пишет?
0
androidos
29 / 27 / 5
Регистрация: 07.07.2011
Сообщений: 775
30.12.2011, 22:35  [ТС] 5
cannot convert parameter 2 from 'char [260]' to 'LPWSTR
Единственное, я добавил L, где CreateWindow, ато он на кодировку ругался. Теперь ругается только на patch
0
jonson
235 / 208 / 84
Регистрация: 18.03.2010
Сообщений: 750
30.12.2011, 23:42 6
androidos, в свойствах проекта укажи не использовать юникод
1
androidos
29 / 27 / 5
Регистрация: 07.07.2011
Сообщений: 775
31.12.2011, 02:03  [ТС] 7
Не помогает...

Добавлено через 1 час 16 минут
Разобрался, спасибо большое!!! А на Visual C++ c WinForms легко такое сделать?
0
31.12.2011, 02:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.12.2011, 02:03

При нажатии на кнопку вызывается SaveFileDialog, текст из RichTextBox записывается в файл с именем из TextBox
Разработать Windows Forms приложение, содержащее RichTextBox, кнопку и полe...

когда на кнопку Cancel Нажимаешь то возвращался к БД
void __fastcall TForm3::FormClose(TObject *Sender, TCloseAction &amp;Action) { if...

открыть другю старницу ,когда нажимаешь кнопку типа (Submit)
if(isset($_POST)) { $ZXC=$_POST ; if...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru