Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Запись из Edit в файл

5.6K
27 февраля 2004 года
TYyYT
8 / / 19.01.2004
Я только начал с API разбираться поэтому если очень глупо то прошу прощения.
Проблема вот в чём... Необходимо из окна со стилем Edit передать всё его содержимое в файл... Я пробовал сделать это так прога вылетае с ошибкой

HANDLE hasmfile,hmeminst;
char ch;

LPVOID *buff;

hasmfile=CreateFile("temp\\code.asm",GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
hmeminst=CreateFileMapping(hasmfile,NULL,PAGE_READWRITE,163840,0,NULL);
buff=MapViewOfFile(hmeminst,FILE_MAP_WRITE,0,0,0);

SendMessage(edithwnd,WM_GETTEXT,2000,(LPARAM)buff);

FlushViewOfFile(buff,2000);
UnmapViewOfFile(buff);
CloseHandle(hmeminst);
CloseHandle(hasmfile);

Вот... Если знаете напишите где баг плз!!!
3.4K
28 февраля 2004 года
SackTap
32 / / 10.01.2004
ну по-моему надо переделать LPVOID *buff; в LPVOID buff;
потом, лично я с этими виндосовскими функциями не очень связываюсь, не легче обыкновенным fopen'ом и fwrite'ом?
5.6K
29 февраля 2004 года
TYyYT
8 / / 19.01.2004
Цитата:
Originally posted by SackTap
ну по-моему надо переделать LPVOID *buff; в LPVOID buff;
потом, лично я с этими виндосовскими функциями не очень связываюсь, не легче обыкновенным fopen'ом и fwrite'ом?



Cмена типа не помогает... Кстати именно на такой интерпретации не настаиваю... Просто не знаю как по другому сделать.. И плз подробней - новичок я ещё..

3.2K
29 февраля 2004 года
srd
50 / / 31.08.2003
Что-то вроде этого.

Код:
HANDLE file = CreateFile("c:\\file.txt",
        GENERIC_WRITE,
        FILE_SHARE_READ,
        0,
        CREATE_ALWAYS,
        FILE_ATTRIBUTE_NORMAL,
        0);
    int len = GetWindowTextLength(edit_handle) + 1;
    TCHAR *buffer = new TCHAR[len];
    GetWindowText(edit_handle, buffer, len);
    DWORD dw;
    WriteFile(file, buffer, len - 1, &dw, 0);
    CloseHandle(file);
    delete [] buffer;


Здесь edit_handle - дескриптор твоего окна.
5.6K
29 февраля 2004 года
TYyYT
8 / / 19.01.2004
Спасибо!! Это работает... После доводки... А то я на С пишу а new и delete С++ требуют...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог