Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчеты по Курсовой Работе / Работа с текстом 8-78-2 Морозов Н.О..docx
Скачиваний:
33
Добавлен:
12.03.2015
Размер:
117.48 Кб
Скачать

Filedlgs.Asm

; ########################################################################

GetFileName PROTO :DWORD, :DWORD, :DWORD

SaveFileName PROTO :DWORD, :DWORD, :DWORD

FillBuffer PROTO :DWORD, :DWORD, :BYTE

.data

szFileName db 260 dup(0)

ofn OPENFILENAME <> ; structure

.code

; ########################################################################

GetFileName proc hParent:DWORD,lpTitle:DWORD,lpFilter:DWORD

mov ofn.lStructSize, sizeof OPENFILENAME

m2m ofn.hWndOwner, hParent

m2m ofn.hInstance, hInstance

m2m ofn.lpstrFilter, lpFilter

m2m ofn.lpstrFile, offset szFileName

mov ofn.nMaxFile, sizeof szFileName

m2m ofn.lpstrTitle, lpTitle

mov ofn.Flags, OFN_EXPLORER or OFN_FILEMUSTEXIST or \

OFN_LONGNAMES

invoke GetOpenFileName,ADDR ofn

ret

GetFileName endp

; #########################################################################

SaveFileName proc hParent:DWORD,lpTitle:DWORD,lpFilter:DWORD

mov ofn.lStructSize, sizeof OPENFILENAME

m2m ofn.hWndOwner, hParent

m2m ofn.hInstance, hInstance

m2m ofn.lpstrFilter, lpFilter

m2m ofn.lpstrFile, offset szFileName

mov ofn.nMaxFile, sizeof szFileName

m2m ofn.lpstrTitle, lpTitle

mov ofn.Flags, OFN_EXPLORER or OFN_LONGNAMES

invoke GetSaveFileName,ADDR ofn

ret

SaveFileName endp

; ########################################################################

FillBuffer proc lpBuffer:DWORD,lenBuffer:DWORD,TheChar:BYTE

push edi

mov edi, lpBuffer ; адрес буфера

mov ecx, lenBuffer ; длина буфера

mov al, TheChar ; загрузить др. с характером

rep stosb ; написать тип в буфере до тех пор пока ECX = 0

pop edi

ret

FillBuffer endp

; #########################################################################

Rsrc.Rc

#include "\masm32\include\resource.h"

500 ICON MOVEABLE PURE LOADONCALL DISCARDABLE "MAINICON.ico"

600 MENUEX MOVEABLE IMPURE LOADONCALL DISCARDABLE

BEGIN

POPUP "&Файл", , , 0

BEGIN

MENUITEM "&Создать", 1000

MENUITEM "&Открыть...", 1001

MENUITEM "&Сохранить...", 1002

MENUITEM "Сохранить &как", 1003

MENUITEM "", , 0x0800 /*MFT_SEPARATOR*/

MENUITEM "&Закрыть", 1010

END

POPUP "&Правка",,,0

BEGIN

MENUITEM "&Отменить\tCtrl+Z",1100

MENUITEM "", , 0x0800 /*MFT_SEPARATOR*/

MENUITEM "&Вырезать\tCtrl+X",1101

MENUITEM "&Копировать\tCtrl+C",1102

MENUITEM "&Вставить\tCtrl+V",1103

MENUITEM "&Удалить\tDelete",1104

END

POPUP "&Справка", , , 0

BEGIN

MENUITEM "&О блокноте", 1900

END

END

Результаты работы

Вывод

В результате выполнения данной курсовой работы был изучен один из разделов операционной системы – работа с текстовой информацией при программировании в Windows. Была написана программа на 32-битном ассемблере с применением API-функций.