1 / 1 / 1
Регистрация: 13.03.2013
Сообщений: 22
1

Ошибка доступа при выводе в listbox символа из файла

20.11.2016, 14:36. Показов 338. Ответов 1
Метки нет (Все метки)

почему это произошло и как это можно починить?
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
#include "windows.h"
#include "resource.h"
#define IDB_BUTTONF1            102
#define IDB_BUTTONF2            103
#define IDC_ListBox1                104
#define IDC_ListBox2                105
LRESULT CALLBACK WndProc(HWND,UINT, WPARAM,LPARAM);
 
HWND hList1;
HWND hList2;
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow){
    static char szAppName[] = "Compare";
    HWND hwnd;
    MSG msg;
    WNDCLASSEX wndclass;
 
    wndclass.cbSize = sizeof(wndclass);
    wndclass.style = CS_HREDRAW | CS_VREDRAW;
    wndclass.lpfnWndProc = WndProc;
    wndclass.cbClsExtra = 0;
    wndclass.cbWndExtra = 0;
    wndclass.hInstance = hInstance;
    wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
    wndclass.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
    wndclass.lpszMenuName = NULL;
    wndclass.lpszClassName = (LPWSTR)szAppName;
    wndclass.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
 
    RegisterClassEx(&wndclass);
 
    hwnd = CreateWindow(
        (LPWSTR)szAppName,
        L"Compare",
        WS_OVERLAPPEDWINDOW,
        CW_USEDEFAULT,
        CW_USEDEFAULT,
        CW_USEDEFAULT,
        CW_USEDEFAULT,
        NULL,
        NULL,
        hInstance,
        NULL);
    HWND hButtonF1 = CreateWindow(L"button", L"Открыть", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,50,410,70,25,hwnd,(HMENU)IDB_BUTTONF1,hInstance,NULL);
    HWND hButtonF2 = CreateWindow(L"button", L"Открыть", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,540,410,70,25,hwnd,(HMENU)IDB_BUTTONF2,hInstance,NULL);
    hList1 = CreateWindow(L"listbox", L"List1", WS_CHILD|WS_VISIBLE|WS_BORDER, 10,10, 450,400,hwnd,(HMENU)IDC_ListBox1, hInstance, NULL);
    hList2 = CreateWindow(L"listbox", L"List2", WS_CHILD|WS_VISIBLE|WS_BORDER, 510,10, 450,400,hwnd,(HMENU)IDC_ListBox2, hInstance, NULL);
    ShowWindow(hwnd, iCmdShow);
 
    UpdateWindow(hwnd);
 
    while(GetMessage(&msg, NULL,0,0)){
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return msg.wParam;
}
 
LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam){
    HDC hdc;
    PAINTSTRUCT ps;
    RECT rect;
    HANDLE hf; 
    OPENFILENAME ofn,ofn2;
    char szFile[260];
    switch(iMsg){
    case WM_COMMAND:
        if(wParam == IDB_BUTTONF1){
            ZeroMemory(&ofn,sizeof(OPENFILENAME));
            ofn.lStructSize = sizeof(OPENFILENAME);
            ofn.hwndOwner = hwnd;
            ofn.lpstrFile = (LPWSTR)szFile;
            ofn.nMaxFile = sizeof(szFile);
            ofn.lpstrFilter = L"All\0*.*\0Text\0*TXT\0";
            ofn.nFilterIndex = 1;
            ofn.lpstrFileTitle = NULL;
            ofn.nMaxFileTitle = 0;
            ofn.lpstrInitialDir = NULL;
            ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
            if (GetOpenFileName(&ofn)==TRUE) 
                hf = CreateFile(ofn.lpstrFile, GENERIC_READ,
                FILE_SHARE_READ|FILE_SHARE_WRITE, (LPSECURITY_ATTRIBUTES) NULL,
                OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
                (HANDLE) NULL);
            bool read;
            int sizef = GetFileSize(hf,(LPDWORD)ofn.lpstrFile);
            char sim;
            DWORD buf;
            for(int i=0;i<sizef;i++){
                read = ReadFile(hf,&sim,sizeof(sim),&buf,NULL);
                SendMessage(hList1, LB_ADDSTRING, 0, (LPARAM)sim);
            
            //SendMessage(hList1, LB_ADDSTRING, 0, (LPARAM));
        }
        }
        return 0;
    case WM_PAINT:
        return 0;
    case WM_DESTROY:
        PostQuitMessage(0);
        return 0;
    }
    return DefWindowProc(hwnd, iMsg, wParam, lParam);
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.11.2016, 14:36
Ответы с готовыми решениями:

Сделать сортировку при выводе текста из текстового файла в ListBox
Нужно сделать сортировку, по Выигрышу &quot;Рейтинг&quot; Проблема такая, что в текстовом файле числа и...

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

Ошибка при выводе бинарного файла
Добрый день! Ошибка вот в чем: при сортировке массива, в одну ячейку StringGrid вставляет две...

Ошибка при выводе строк из файла
Помогите пожалуйста разобраться в чем ошибка. Весь код писать не буду просто покажу как я вношу...

1
1129 / 788 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
21.11.2016, 19:14 2
Цитата Сообщение от donz Посмотреть сообщение
почему это произошло и как это можно починить?
donz, можно воспользоваться отладчиком. Установим контрольную точку на строчке
C++
1
  if (GetOpenFileName(&ofn)==TRUE)
далее выполним несколько команд "Step". В какой строке возникает ошибка?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.11.2016, 19:14

Ошибка при выводе файла записи
Задача состоит в том, что надо создать файл записи (музыка: исполнитель, название, год, жанр),...

Ошибка при вводе - выводе из файла
Почему пишет не найдет файл (в проге ассигн,ресет, реврайт стоит на него) создаю его вручную -...

Ошибка при выводе содержимого бинарного файла
#include &quot;stdafx.h&quot; #include &quot;windows.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; using...

Ошибка при выводе содержимого текстового файла
Здравствуйте,имеется программа на c# с помощью mono компилирую : mcs -recurse:'*.cs' В...


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

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

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