DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Не вказано

Інформація про роботу

Рік:
2013
Тип роботи:
Лабораторна робота
Предмет:
Програмування

Частина тексту файла (без зображень, графіків і формул):

Національний університет Львівська політехніка Кафедра АСУ Звіт З лабораторних робіт По системному програмуванню Лабораторна робота №1 .386 ; Для процесора не нижче INTEL-386 .model flat, STDCALL ; компілювати як програму для WIN32; ; Визначення зовнішніх процедур: extrn ExitProcess :proc ; Ліквідація процесу, extrn MessageBoxA :proc ; Вивід вікна з повідомленням, extrn GetComputerNameA :proc ; Отримання імені комп’ютера. .data ; Вміст сегменту даних: buflen dd 256 ; Визначення комірки пам’яті hello_title db ' Лабораторна робота № 1 Олександра Головача', 0 hello_message db 'Computer Name: ' ; Рядок байтів user_name db 256 dup (0) ; Буфер заповнений нулями .code ; Вміст сегменту коду: Start: push offset buflen ; 2-й параметр: адреса buflen push offset user_name ; 1-й параметр: адреса user_name call GetComputerNameA ; виклик функції API push 40h ; стиль вікна – одна кнопка “OK” з піктограмою “і” push offset hello_title ; адреса рядка із заголовком push offset hello_message ; адреса рядка з повідомленням push 0 ; хендл програми-власника вікна call MessageBoxA ; виклик функції API push 0 ; код виходу з програми call ExitProcess ; завершення програми end Start ; закінчення сегменту кода  Лабораторна робота №1а .386 ; Для процесора не нижче INTEL-386 .model flat, STDCALL ; компілювати як програму для WIN32; ; Визначення зовнішніх процедур: extrn ExitProcess :proc ; Ліквідація процесу, extrn MessageBoxA :proc ; Вивід вікна з повідомленням, extrn GetUserNameA :proc ; Отримання імені комп’ютера. .data ; Вміст сегменту даних: buflen dd 256 ; Визначення комірки пам’яті hello_title db ' Лабораторна робота № 1 Виконав студент Олександр Головач, 0 hello_message db "Ім'я користувача: " ; Рядок байтів user_name db 256 dup (0) ; Буфер заповнений нулями .code ; Вміст сегменту коду: Start: push offset buflen ; 2-й параметр: адреса buflen push offset user_name ; 1-й параметр: адреса user_name call GetUserNameA ; виклик функції API push 40h ; стиль вікна – одна кнопка “OK” з піктограмою “і” push offset hello_title ; адреса рядка із заголовком push offset hello_message ; адреса рядка з повідомленням push 0 ; хендл програми-власника вікна call MessageBoxA ; виклик функції API push 0 ; код виходу з програми call ExitProcess ; завершення програми end Start ; закінчення сегменту кода  Лабораторна робота 1b .386 .model flat, STDCALL extrn ExitProcess :proc extrn MessageBoxA :proc extrn GetCurrentDirectoryA :proc .data ; Вміст сегменту даних: buflen dd 256 ; Визначення комірки пам’яті hello_title db ' Лабораторна робота № 1 Виконав Олександр Головач', 0 hello_message db 'Поточний каталог: ' ; Рядок байтів user_name db 256 dup (0) ; Буфер заповнений нулями .code ; Вміст сегменту коду: Start: call GetCurrentDirectoryA ,buflen, offset user_name ; виклик функції API push 40h ; стиль вікна – одна кнопка “OK” з піктограмою “і” push offset hello_title ; адреса рядка із заголовком push offset hello_message ; адреса рядка з повідомленням push 0 ; хендл програми-власника вікна call MessageBoxA ; виклик функції API push 0 ; код виходу з програми call ExitProcess ; завершення програми end Start ; закінчення сегменту кода  Лабораторна робота 2а. .586 .model flat,stdcall Extrn ExitProcess:Proc Extrn CopyFileA:Proc extrn MessageBoxA:Proc .data zag db "О.Головач.копіювання файла " test1 db "test1.txt",0 test2 db "Tewst2.txt",0 .code Start: CALL CopyFileA,offset test1,offset test2,0 call MessageBoxA,0,offset zag,offset test2,0 call ExitProcess,0 end Start  Лабораторна робота № 2b .586 .model flat,stdcall Extrn ExitProcess:Proc Extrn DeleteFileA:Proc extrn MessageBoxA:Proc .data zag db "О.Головач.знищення " test2 db "Tewst2.txt",0 .code Start: CALL DeleteFileA,offset test2 call MessageBoxA,0,offset zag,offset test2,0 call ExitProcess,0 end Start  Лабораторна робота 2с. .586 .model flat,stdcall Extrn ExitProcess:Proc Extrn GetFileAttributesA:Proc Extrn MessageBoxA:Proc .data stud db "Виконав студент О.Головач Отримання атрибутів файлу " test2 db "Tewst2.txt",0 BUF1 db 33 dup(?) .code Start: CALL GetFileAttributesA,offset test2 mov ecx,32 mov esi,offset BUF1 M1: rcl eax,1 mov dl,"0" adc dl,0 ; addition with carry - додавання з переносом mov [esi],dl inc esi dec ecx jnz M1 mov byte ptr [esi],0 call MessageBoxA,0,offset BUF1, offset stud,0 call ExitProcess,0 end Start  Лабораторна робота 2d .586 .model flat,stdcall Extrn ExitProcess:Proc Extrn SetFileAttributesA:Proc Extrn MessageBoxA:Proc .data stud db "Виконав студент О.Головач Приховування файлу " test2 db "Tewst2.txt",0 BUF1 db 33 dup(?) .code Start: CALL SetFileAttributesA,offset test2,111b ;прихований, тільки для читання і системний call MessageBoxA,0,offset BUF1, offset stud,0 call ExitProcess,0 end Start  Лаборотарна робота 2e .586 .model flat,stdcall Extrn ExitProcess:Proc Extrn SetFileAttributesA:Proc Extrn MessageBoxA:Proc .data stud db "Виконав студент О.Головач розкриття файлу " test2 db "Tewst2.txt",0 BUF1 db 33 dup(?) .code Start: CALL SetFileAttributesA,offset test2,0 ; без атрибутів call MessageBoxA,0,offset BUF1, offset stud,0 call ExitProcess,0 end Start  Лабораторна робота 2f .586 .model flat,stdcall Extrn ExitProcess:Proc Extrn GetLogicalDrives:Proc Extrn MessageBoxA:Proc .data stud db "Отримання логічних дисків Виконав студент Олександр Головач ",0 Text2 db "Маска логічних пристроїв: " BUF1 db 33 dup(?) .code Start: CALL GetLogicalDrives mov ecx,32 mov esi,offset BUF1 M1: rcl eax,1 mov dl,"0" adc dl,0 ; addition with carry - додавання з переносом mov [esi],dl inc esi dec ecx jnz M1 mov byte ptr [esi],0 call MessageBoxA,0,offset Text2, offset stud,0 call ExitProcess,0 end Start  Лабораторна робота 2g .586 .model flat,stdcall Extrn ExitProcess:Proc Extrn GetLogicalDriveStringsA:Proc Extrn MessageBoxA:Proc .data S1 db "Студент О.Головач",0 Buf1 db 200 dup(?) .code Start: call GetLogicalDriveStringsA,200,offset Buf1 mov esi,offset Buf1 M1: cmp word ptr [esi],0 jz EXIT1 cmp byte ptr [esi],0 jnz C1 mov byte ptr [esi],"," C1: inc esi jmp M1 EXIT1: call MessageBoxA,0,offset Buf1,offset S1,0 call ExitProcess,0 end Start  Лабораторна робота 2h .586 .model flat,stdcall Extrn ExitProcess:Proc Extrn RemoveDirectoryA:Proc Extrn MessageBoxA:Proc .data S1 db "Студент О.Головач",0 S2 db "Знищуємо каталог " Buf1 db "TEST",0 .code Start: call MessageBoxA,0,offset S2,offset S1,0 call RemoveDirectoryA,offset Buf1 call ExitProcess,0 end Start  Лабораторна робота 3 .386 .model flat,STDCALL extrn CreateFileA:Proc extrn GlobalAlloc:Proc extrn GlobalLock:Proc extrn ReadFile:Proc extrn GetLastError:Proc extrn MessageBoxA:Proc extrn CloseHandle:Proc extrn GlobalUnlock:Proc extrn GlobalFree:Proc extrn ExitProcess:Proc .data title1 db 'Лабораторна робота №3',0 openname db 'Test2.txt',250 dup(0) hFile dd 0 hMemory dd 0 ; Хендл блоку пам’яті pMemory dd 0 ; Адреса блоку пам’яті SizeRead dd 0 MEMSIZE equ 1000000h ; 16 Mb .code Start: push 0 push 0h ; файл з довільними атрибутами push 4h ; відкрити існуючий або створити новий push 0 ; без атрибутів безпеки push 1h ; дозволено спільний доступ по читанню push 80000000h ; читати файл push offset openname ; адреса імені файлу call CreateFileA mov hFile,eax ; отримали хендл файлу push MEMSIZE push 2h + 40h ; GMEM_MOVEABLE + GMEM_ZEROINIT call GlobalAlloc mov hMemory,eax ; отримали хендл блоку пам’яті push hMemory call GlobalLock ; розмістили блок mov pMemory,eax ; та отримали його адресу push 0 push offset SizeRead ; адреса змінної скільки байтів прочитано push MEMSIZE-1 ; скільки байтів можна прочитати push pMemory ; адреса початку блоку push hFile ; хендл файлу call ReadFile ; функція читання файлу push 0 push offset title1 push pMemory ; вивід блоку пам’яті на екран push 0 call MessageBoxA push hFile call CloseHandle ; закрити файл push hMemory call GlobalUnlock ; розблокувати блок пам’яті push hMemory call GlobalFree ; звільнити блок пам’яті push 0 call ExitProcess ; повернення у Windows end Start  Лабораторна робота 3a .386 .model flat,STDCALL extrn CreateFileA:Proc extrn GlobalAlloc:Proc extrn GlobalLock:Proc extrn ReadFile:Proc extrn WriteFile:Proc extrn GetLastError:Proc extrn MessageBoxA:Proc extrn CloseHandle:Proc extrn GlobalUnlock:Proc extrn GlobalFree:Proc extrn ExitProcess:Proc extrn lstrlen:Proc .data title1 db 'Лабораторна робота №3 запис у файл ' openname db 'Test3.txt',250 dup(0) BUF1 db "Запис у файл test3.txt О.Головач",0 hFile dd 0 hMemory dd 0 ; Хендл блоку пам’яті pMemory dd 0 ; Адреса блоку пам’яті SizeRead dd 0 .code Start: push 0 push 0h ; файл з довільними атрибутами push 4h ; відкрити існуючий або створити новий push 0 ; без атрибутів безпеки push 1h ; дозволено спільний доступ по читанню push 40000000h ; писати у файл push offset openname ; адреса імені файлу call CreateFileA mov hFile,eax ; отримали хендл файлу call lstrlen,offset BUF1 ; отримуємо довжину рядка push 0 push offset SizeRead ; адреса змінної скільки байтів прочитано push eax ; скільки байтів можна записати push offset BUF1 ; адреса початку блоку push hFile ; хендл файлу call WriteFile ; функція читання файлу push 0 push offset title1 push offset BUF1 ; вивід блоку пам’яті на екран push 0 call MessageBoxA push hFile call CloseHandle ; закрити файл push 0 call ExitProcess ; повернення у Windows end Start  Лабораторна робота 3b .386 .model flat,STDCALL extrn CreateFileA:Proc extrn GlobalAlloc:Proc extrn GlobalLock:Proc extrn ReadFile:Proc extrn WriteFile:Proc extrn GetLastError:Proc extrn MessageBoxA:Proc extrn CloseHandle:Proc extrn GlobalUnlock:Proc extrn GlobalFree:Proc extrn ExitProcess:Proc extrn lstrlen:Proc extrn SetFilePointer:Proc FILE_BEGIN equ 0 FILE_END equ 2 OPEN_ALWAYS equ 4 .data title1 db 'Лабораторна робота №3 запис у файл зі зміщенням' openname db 'Test3.txt',250 dup(0) TEMP1 dd 0 BUF1 db "Текст для запису у файл test3.txt. Виконав студент О.Головач",0 hFile dd 0 hMemory dd 0 ; Хендл блоку пам’яті pMemory dd 0 ; Адреса блоку пам’яті SizeRead dd 0 .code Start: push 0 push 0h ; файл з довільними атрибутами push OPEN_ALWAYS ; відкрити існуючий або створити новий push 0 ; без атрибутів безпеки push 1h ; дозволено спільний доступ по читанню push 40000000h ; писати файл push offset openname ; адреса імені файлу call CreateFileA mov hFile,eax ; отримали хендл файлу call SetFilePointer,hFile,-6,0,FILE_END call lstrlen,offset BUF1 ; отримуємо довжину рядка push 0 push offset SizeRead ; адреса змінної скільки байтів прочитано push eax ; скільки байтів можна записати push offset BUF1 ; адреса початку блоку push hFile ; хендл файлу call WriteFile ; функція читання файлу push 0 push offset title1 push offset BUF1 ; вивід блоку пам’яті на екран push 0 call MessageBoxA push hFile call CloseHandle ; закрити файл push 0 call ExitProcess ; повернення у Windows end Start  Лабораторна робота 3c .386 .model flat,STDCALL extrn CreateFileA:Proc extrn GlobalAlloc:Proc extrn GlobalLock:Proc extrn ReadFile:Proc extrn WriteFile:Proc extrn GetLastError:Proc extrn MessageBoxA:Proc extrn CloseHandle:Proc extrn GlobalUnlock:Proc extrn GlobalFree:Proc extrn ExitProcess:Proc extrn lstrlen:Proc extrn GetOpenFileNameA:Proc extrn GetCurrentDirectoryA:Proc FILE_BEGIN equ 0 FILE_END equ 2 OPEN_ALWAYS equ 4 ;--------------------------------------------------------------- .data title1 db 'Лабораторна робота №3 вибір файлу ' openname db 'Test3.txt',250 dup(0) TEMP1 dd 0 hFile dd 0 hMemory dd 0 ; Хендл блоку пам’яті pMemory dd 0 ; Адреса блоку пам’яті SizeRead dd 0 ;================================================= S1: FSize dd 76 ; довжина цiєї структури; Howner dd 0 ; вказiвник вiкна-власника або 0; AppHWnd dd 0 ; вказiвник модуля-власника; Filters dd offset filter_tab ; вказiвник на перелiк типiв файлiв; CustFilters dd 0 ; вказiвник на перелiк типiв файлiв якi дозволенi користувачевi; CstFltSize dd 0 ; довжина буферу на який вказує CustFilters; CurFilter dd 3 ; iндекс вибраного фiльтру (1,2,3,...) або 0; CurFileName dd offset openname ; вказiвник на повне iм'я файлу, наприклад, на “С:\dir1\dir2\file.ext”,0; CurFlNmSize dd 512 ; довжина буферу вказаного в CurFileName; CurFile dd 0 ; вказiвник на iм'я файлу з розширенням; CurFlSize dd 0 ; довжина буферу вказаного в CurFile; InitialDir dd offset dir ; вказiвник на каталог файлу або 0 для даного каталога; DlgTitle dd offset titl ; вказiвник на назву вiкна; Flags dd 00h ; тип вiкна, яке вiдкриває файл (може бути 200h); FileOffset dw 0 ; повертає довжину повного шляху, наприклад=13 якщо користувач ввів рядок “С:\dir1\dir2\file.asm”; ExtOffset dw 0 ; змiщення вiд початку рядка до розширення (в даному прикладi =18) або 0 якщо розширення немає; Extension dd 0 ; вказiвник на стандартне розширення, яке буде додано до iменi, якщо розширення немає (або 0); CustData dd 0 ; вказiвник на данi для hook-процедури; HookProc dd 0 ; вказiвник на hook-процедуру, якщо вона дозволена у Flags; TmplateRsc dd 0 ; вказiвник на шаблон ресурсiв, якщо вiн передбачений у Flags; ; додаткові змінні до структури: filter_tab db "Графiчнi файли (*.BMP)",0h,"*.BMP",0 db "Текстовi файли (*.TXT)",0,"*.txt",0 db "Лабораторнi роботи (*.ASM)",0,"*.asm",0 db "Всi типи файлiв (*.*)",0h,"*.*",0,0 titl db "Лабораторна робота № 3",0 ;===================================================== .data? ; неініціалізовані дані (з'являються одразу ж після старту) BUF1 db 2000 dup(?) dir db 260 dup(?) ; dup - повторити .code Start: Call GetCurrentDirectoryA,260,offset dir call GetOpenFileNameA,offset S1 ; вибір файлу push 0 push 0h ; файл з довільними атрибутами push OPEN_ALWAYS ; відкрити існуючий або створити новий push 0 ; без атрибутів безпеки push 1h ; дозволено спільний доступ по читанню push 80000000h ; читати файл push offset openname ; адреса імені файлу call CreateFileA mov hFile,eax ; отримали хендл файлу push 0 push offset SizeRead ; адреса змінної скільки байтів прочитано push 2000 ; скільки байтів можна записати push offset BUF1 ; адреса початку блоку push hFile ; хендл файлу call ReadFile ; функція читання файлу push 0 push offset title1 push offset BUF1 ; вивід блоку пам’яті на екран push 0 call MessageBoxA push hFile call CloseHandle ; закрити файл push 0 call ExitProcess ; повернення у Windows end Start  Лабораторна робота 3d .386 .model flat,STDCALL extrn CreateFileA:Proc extrn GlobalAlloc:Proc extrn GlobalLock:Proc extrn ReadFile:Proc extrn WriteFile:Proc extrn GetLastError:Proc extrn MessageBoxA:Proc extrn CloseHandle:Proc extrn GlobalUnlock:Proc extrn GlobalFree:Proc extrn ExitProcess:Proc extrn lstrlen:Proc extrn GetOpenFileNameA:Proc extrn GetCurrentDirectoryA:Proc extrn GetFileTime:Proc extrn FileTimeToSystemTime:Proc FILE_BEGIN equ 0 FILE_END equ 2 OPEN_ALWAYS equ 4 ;--------------------------------------------------------------- .data title1 db 'Лабораторна робота №3 вибір файлу ' openname db 'Test3.txt',250 dup(0) TEMP1 dd 0 hFile dd 0 hMemory dd 0 ; Хендл блоку пам’яті pMemory dd 0 ; Адреса блоку пам’яті SizeRead dd 0 ;================================================= S1: FSize dd 76 ; довжина цiєї структури; Howner dd 0 ; вказiвник вiкна-власника або 0; AppHWnd dd 0 ; вказiвник модуля-власника; Filters dd offset filter_tab ; вказiвник на перелiк типiв файлiв; CustFilters dd 0 ; вказiвник на перелiк типiв файлiв якi дозволенi користувачевi; CstFltSize dd 0 ; довжина буферу на який вказує CustFilters; CurFilter dd 3 ; iндекс вибраного фiльтру (1,2,3,...) або 0; CurFileName dd offset openname ; вказiвник на повне iм'я файлу, наприклад, на “С:\dir1\dir2\file.ext”,0; CurFlNmSize dd 512 ; довжина буферу вказаного в CurFileName; CurFile dd 0 ; вказiвник на iм'я файлу з розширенням; CurFlSize dd 0 ; довжина буферу вказаного в CurFile; InitialDir dd offset dir ; вказiвник на каталог файлу або 0 для даного каталога; DlgTitle dd offset titl ; вказiвник на назву вiкна; Flags dd 00h ; тип вiкна, яке вiдкриває файл (може бути 200h); FileOffset dw 0 ; повертає довжину повного шляху, наприклад=13 якщо користувач ввів рядок “С:\dir1\dir2\file.asm”; ExtOffset dw 0 ; змiщення вiд початку рядка до розширення (в даному прикладi =18) або 0 якщо розширення немає; Extension dd 0 ; вказiвник на стандартне розширення, яке буде додано до iменi, якщо розширення немає (або 0); CustData dd 0 ; вказiвник на данi для hook-процедури; HookProc dd 0 ; вказiвник на hook-процедуру, якщо вона дозволена у Flags; TmplateRsc dd 0 ; вказiвник на шаблон ресурсiв, якщо вiн передбачений у Flags; ; додаткові змінні до структури: filter_tab db "Графiчнi файли (*.BMP)",0h,"*.BMP",0 db "Текстовi файли (*.TXT)",0,"*.txt",0 db "Лабораторнi роботи (*.ASM)",0,"*.asm",0 db "Всi типи файлiв (*.*)",0h,"*.*",0,0 titl db "Лабораторна робота № 3 Виконав Олександр Головач",0 ;---------------------------------------------- FORMAT_STRING: db ' Системний час:',0dh,0ah,0dh,0ah db ' Рiк: %ld',0dh,0ah db ' Мiсяць: %ld',0dh,0ah db ' День тижня: %ld',0dh,0ah db ' Число: %ld',0dh,0ah db ' Година: %ld',0dh,0ah db ' Хвилин: %ld',0dh,0ah db 0 Time_struc: wYear dw 0 ; Рік wMonth dw 0 ; Місяць wDayOfWeek dw 0 ; День тиждня wDay dw 0 ; Число wHour dw 0 ; Година wMinute dw 0 ; Хвилина wSecond dw 0 ; Секунда wMilliseconds dw 0 ; Мілісекунда Time_title1 db ' Час створення файлу (Олександр Головач)',0 Time_title2 db ' Час останнього доступу (Олександр Головач)',0 Time_title3 db ' Час останнього запису (Олександр Головач)',0 TIME_STRING db 2000 dup (0) ;============================================================== ;===================================================== .data? ; неініціалізовані дані (з'являються одразу ж після старту) BUF1 db 2000 dup(?) dir db 260 dup(?) ; dup - повторити CreationTime dq ? LastAccessTime dq ? LastWriteTime dq ? .code ; Start: Call GetCurrentDirectoryA,260,offset dir call GetOpenFileNameA,offset S1 ; вибір файлу push 0 push 0h ; файл з довільними атрибутами push OPEN_ALWAYS ; відкрити існуючий або створити новий push 0 ; без атрибутів безпеки push 1h ; дозволено спільний доступ по читанню push 80000000h ; читати файл push offset openname ; адреса імені файлу call CreateFileA mov hFile,eax ; отримали хендл файлу push 0 push offset SizeRead ; адреса змінної скільки байтів прочитано push 2000 ; скільки байтів можна записати push offset BUF1 ; адреса початку блоку push hFile ; хендл файлу call ReadFile ; функція читання файлу push 0 push offset title1 push offset BUF1 ; вивід блоку пам’яті на екран push 0 call MessageBoxA call GetFileTime,hFile,offset CreationTime, offset LastAccessTime,offset LastWriteTime call FileTimeToSystemTime, offset CreationTime,offset Time_struc call PRINT_TIME, offset Time_title1 call FileTimeToSystemTime, offset LastAccessTime,offset Time_struc call PRINT_TIME, offset Time_title2 call FileTimeToSystemTime, offset LastWriteTime,offset Time_struc call PRINT_TIME, offset Time_title3 push hFile call CloseHandle ; закрити файл push 0 call ExitProcess ; повернення у Windows ;================================================= Extrn _wsprintfA:Proc PRINT_TIME proc P1:dword xor eax,eax ; EAX=0 mov ax,wMinute push eax ; наступні параметри з стеку не забираються mov ax,wHour push eax mov ax,wDay push eax mov ax,wDayOfWeek push eax mov ax,wMonth push eax mov ax,wYear push eax push offset FORMAT_STRING push offset TIME_STRING call _wsprintfA ; Вивід параметрів add esp,4*8 ; та очищення стеку push 0h push P1 push offset TIME_STRING push 0 call MessageBoxA ret endp end Start      Лабораторна робота 3e .386 .model flat,STDCALL extrn CreateFileA:Proc extrn GlobalAlloc:Proc extrn GlobalLock:Proc extrn ReadFile:Proc extrn WriteFile:Proc extrn GetLastError:Proc extrn MessageBoxA:Proc extrn CloseHandle:Proc extrn GlobalUnlock:Proc extrn GlobalFree:Proc extrn ExitProcess:Proc extrn lstrlen:Proc extrn GetOpenFileNameA:Proc extrn GetCurrentDirectoryA:Proc extrn ShellExecuteA:Proc FILE_BEGIN equ 0 FILE_END equ 2 OPEN_ALWAYS equ 4 ;--------------------------------------------------------------- .data title1 db 'Лабораторна робота №3 вибір файлу ' openname db 'Test3.txt',250 dup(0) TEMP1 dd 0 hFile dd 0 hMemory dd 0 ; Хендл блоку пам’яті pMemory dd 0 ; Адреса блоку пам’яті SizeRead dd 0 ;================================================= S1: FSize dd 76 ; довжина цiєї структури; Howner dd 0 ; вказiвник вiкна-власника або 0; AppHWnd dd 0 ; вказiвник модуля-власника; Filters dd offset filter_tab ; вказiвник на перелiк типiв файлiв; CustFilters dd 0 ; вказiвник на перелiк типiв файлiв якi дозволенi користувачевi; CstFltSize dd 0 ; довжина буферу на який вказує CustFilters; CurFilter dd 3 ; iндекс вибраного фiльтру (1,2,3,...) або 0; CurFileName dd offset openname ; вказiвник на повне iм'я файлу, наприклад, на “С:\dir1\dir2\file.ext”,0; CurFlNmSize dd 512 ; довжина буферу вказаного в CurFileName; CurFile dd 0 ; вказiвник на iм'я файлу з розширенням; CurFlSize dd 0 ; довжина буферу вказаного в CurFile; InitialDir dd offset dir ; вказiвник на каталог файлу або 0 для даного каталога; DlgTitle dd offset titl ; вказiвник на назву вiкна; Flags dd 00h ; тип вiкна, яке вiдкриває файл (може бути 200h); FileOffset dw 0 ; повертає довжину повного шляху, наприклад=13 якщо користувач ввів рядок “С:\dir1
Антиботан аватар за замовчуванням

31.03.2013 01:19

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!