Помогите вставить в код программы простой мессаджбокс,любой.Я не пойму как это сделать.Кучу всего перепробывал.Чаще всего ФАСМ ругается на загрузку иконки в приложение.Нужно чтобы вначале появлялся мессаджбокс,а потом запускалась сама прога. Вот код программы http://upwap.ru/431232 Это иконка программы http://upwap.ru/431240 Всякие ресурсы для работы с OpenGL http://upwap.ru/431241 INCLUDE-ы обновлённые http://upwap.ru/431244
А в чем проблема? Добавляем код, правим точку входа, добавляем MessageBox в импорт, добавляем инструкцию call [MessageBoxA] в таблицу релокаций. Вроде бы все. Что именно не получается?
Там идёт с использованием OpenGL. Появляется ошибка на вот эту строку icon icon,icon_data,'..\fasmw\resources\icons\bitmaps.ico' где иконку подключаю.Вот. И... Использовал "FASM OpenGL tutorial от Tyler Durden'а"
Я хочу сделать всё в одном экзешнике.Так то я запросто могу из одного файла сделать вызов другого с использованием мессаджабокса на ФАСМ-е.А нужно в одном.Вот как это сделать?Помогите!Заранее благодарен!!!
Ну, вот примерно так: Код (Text): matrixTextureSizeX equ 256 ;?????? ???????? "???????" ?? ??????????? matrixTextureSizeXDouble equ 256.0 ;?????? ???????? "???????" ?? ??????????? ? ???????????? ??????? double matrixTextureSizeY equ 512 ;?????? ???????? "???????" ?? ????????? format PE GUI 4.0 ;?????? exe ????? entry start ;????? ????? ????????? include 'E:\Delme\INCLUDE\INCLUDE\win32a.inc' include 'E:\Delme\INCLUDE\INCLUDE\opengl_const.inc' ;???????? OpenGL include 'E:\Delme\INCLUDE\INCLUDE\opengl_macros.inc' ;? ???????? start: ;?????? ????????? push 0x0 push 0x0 push string push 0x0 call [MessageBoxA] xor ebx,ebx ;?????? ebx. ?.?. ?? ?? ?????????? API ??????????? ?? ????? ???????????? push ebx ?????? push 0, ??? ??????????? invoke ShowCursor, ebx ;??????? ?????? push ebx push ebx push ebx push ebx ;???????? ? ???? 4-? "0" ??? ????????? "CreateWindowEx" invoke GetSystemMetrics,SM_CYSCREEN ;??????? ??????? ?????????? ?? ????????? mov [screenHeight],eax ;???????? ??? ? ?????????? screenHeight push eax ;???????? ??? ? ???? ??? ????????? "CreateWindowEx" invoke GetSystemMetrics,ebx ;? ?? ??????????? mov [screenWidth],eax ;???????? ??? ? ?????????? screenWidth push eax ;? ? ???? fild dword [esp] ;???????? ??????????? ?????????? ?????? ?? ??????????? ? ????????? fst [screenWidthDouble] fild dword [esp+4] ;???????? screenWidth ? ???????????? ??????? double fst [screenHeightDouble] fdivp ;???????? screenHeight ? ???????????? ??????? double fstp [ratio] ;???????? ??????????? ?????????? ? ?????????? ratio invoke CreateWindowEx,WS_EX_TOPMOST,szClass,szTitle,WS_VISIBLE+WS_POPUP,ebx,ebx ;???????? ???? ???????? ? ????? ? ???????????????? ??????? "edit" (?.?. ??? ?????????????? ??????, ?? ??? ????????? ?????????? ?? ?? ??????? ????) invoke GetDC,eax ;??????? ???????? ???? xchg ebp,eax ;???????? ??? ? ebp mov [pfd.dwFlags],PFD_DRAW_TO_WINDOW+PFD_SUPPORT_OPENGL+PFD_DOUBLEBUFFER ;?????????????? ?????????? ??????? ???????? OpenGL (????????? OpenGL ? ??????? ???????????) mov [pfd.iPixelType],PFD_TYPE_RGBA ;??? ???????? RedGreenBlueAlpha mov [pfd.cColorBits],32 ;??????? ????? mov [pfd.dwLayerMask],PFD_MAIN_PLANE ;????????? ??????????? invoke ChoosePixelFormat,ebp,pfd ;??????? ??? invoke SetPixelFormat,ebp,eax,pfd ;? ????????? ??? invoke wglCreateContext,ebp ;??????????? ???????? ???? ? ???????? OpenGL invoke wglMakeCurrent,ebp,eax ;? ??????? ??? ??????? invoke glEnable,GL_BLEND ;??????? ?????-?????????? invoke glBlendFunc,GL_SRC_ALPHA,GL_ONE ;??????? ??? ????? ?????? invoke glEnable,GL_COLOR_MATERIAL ;??????? ????? ?????????? ???????? ? ?????? ??????? invoke CreateFont,-10,ebx,ebx,ebx,ebx,ebx,ebx,ebx,ebx,ebx,ebx,ebx,ebx,fontName ;???????? ????? ??? ??????? ????????? ? ??????? (???????? "10", ????????? ???????? ?? ????????? "0", ????? ????????? "Lucida Console") invoke SelectObject,ebp,eax ;??????? ????????? ?????? (?????) ??? ???????? ????????? ???? (ebp) invoke wglUseFontBitmapsA,ebp,ebx,256,ebx ;??????????? ??????? ?? 0-?? ?? 256-?? ? ?????? ??????'?? invoke glTexImage2D,GL_TEXTURE_2D,ebx,3,matrixTextureSizeX,matrixTextureSizeY,ebx,GL_RGB,GL_UNSIGNED_BYTE,textureBlank ;???????? matrixTextureSizeXxmatrixTextureSizeYx24bpp ???????? ?? ?????? textureBlank (???????) invoke glTexParameteri,GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR ;????????? ?????? ???????? ??? ?????????? (linear) invoke glTexParameteri,GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR ;????????? ?????? ???????? ??? ?????????? (linear) invoke glEnable,GL_TEXTURE_2D ;??????? ??????????????? invoke glHint,GL_PERSPECTIVE_CORRECTION_HINT,GL_NICEST ;??????? ????? ?????????? ????????????? ?????????????? (?????????) mov edi,matrixStrokes ;?????????????? ????????? "?????" "???????" mov ecx,matrixMaxStrokes ;?????????? ???????? ? "??????" mov [currentOfsX],ebx ;??????? ??????? ???????? ?????????? "?" .matrixGenerate: ;?????????????? "???????" fld dword [currentOfsX] ;???????? ??????? ???????? ?????????? "?" fadd dword [ofsDelta] ;?? ???????? ofsDelta fstp dword [currentOfsX] ;??????? ??? ??????? cmp dword [currentOfsX],matrixTextureSizeXDouble jna .notXOf ;???? ????? ?? ???????? ???????? mov [currentOfsX],ebx .notXOf: ;?? ??????? mov eax,[currentOfsX] stosd ;??????? ??? ? ?????? ????????? "?????" "???????" cdq ;??????? edx ??? ??????? add eax,edi rol eax,cl ;?????????? ?????? div [screenHeight] ;????? ?? ?????? ?????? push edx fild dword [esp] fstp dword [esp] pop eax ;??????????? ? ???????????? ?????? (? ?????) stosd ;?????????? ????? ?????????? "Y" add ax,dx xor al,ah ;? ????????? ????????? ?????? "??????" stosb ;??????? ? ??? ???? loop .matrixGenerate ;???-?-?-?????? ("? ???????, ?????? ????, ? ???????") .draw: ;???????? ???? invoke GetTickCount ;???????? ??????? ???????? ???????? ?????? ?????? Windows (??? ?????????????) cmp eax,[msec] ;??????? ??? ? ??????????? ????????? jz .draw ;???? ??? ?? ?????????? ?? ???? mov [msec],eax ;???? ???????? ?????????? ???????? ??? invoke glClear,GL_COLOR_BUFFER_BIT ;??????? ????? ?????? invoke glDisable,GL_BLEND ;???????? ?????-?????????? invoke glDisable,GL_TEXTURE_2D ;???????? ??????????????? invoke glMatrixMode,GL_PROJECTION ;??????? ??? ?????????????? ??????? ????????????? ???????? invoke glLoadIdentity ;??????? ?? glcall glOrtho,0.0,screenWidthDouble,screenHeightDouble,0.0,-1.0,1.0 ;??????? ?? ?? ??????? ????????????? ???????? invoke glMatrixMode,GL_MODELVIEW ;??????? ??? ?????????????? ??????? ??????????? invoke glLoadIdentity ;??????? ?? mov esi,matrixStrokes ;?????????? "?????" "???????" inc [currentChar] ;???????? ??????? ????????? ???????? ??????? "??????" .matrixShow: ;????????? "???????" mov [currentColor],ebx ;??????? ???????? ??????? ?????????? ????? ???????? mov edi,matrixMaxCharsInStroke ;?????????? ???????? ? ?????? cmp [currentChar],charChangeFrequency ;??????? ??????? ????????? ???????? ??????? "??????" ? ???????? ??? ????????? jna .notCharChange ;???? ?? ?????? inc byte [esi+4+4] .notCharChange: ;????? ??????? ????????? ?????? "??????" .matrixShowStroke: ;????????? ????????? "??????" "???????" fld [currentColor] ;???????? ???? ???????? ??????? fadd [colorDelta] ;?? colorDelta fstp [currentColor] ;??????? ??????? invoke glColor3f,ebx,[currentColor],ebx ;????????? ??? cmp edi,1 jnz .notLast ;???? ??? ??? ????????? ?????? (??????, ??? ??? ???? ??????? ? ???????? ???????) invoke glColor3f,0.4,1.0,0.7 ;1.0,0.0,0.0-??? ???????? ????? ??? "??????" ? "???????" ???????? ;1.0,1.5,1.7-?????? ? ????? ;1.0,0.0,1.0-????? ?????????? .notLast: ;????????? ???? ?????????? ??????? (????? ?????) invoke glRasterPos2fv,esi ;????????? ??????? ??????????? ?????? (???????) fld dword [esi+4] ;???????? ?????????? "X" (??? ??????????? ?????????? ???????) fadd dword [ofsDelta] ;?? ofsDelta fstp dword [esi+4] ;??????? ??????? inc byte [esi+4+4] ;???????? ??????? ?????? "??????" cmp byte [esi+4+4],0ffh jb .charOverflow ;???? ?? ?????? 0ffh mov byte [esi+4+4],21h .charOverflow: ;?? ??????? ? ???? 21h (??? ??????? "!") xor eax,eax ;??????? eax mov al,[esi+4+4] ;? al ??????? ?????? ? "??????" invoke glCallList,eax ;????????? ??? dec edi jnz .matrixShowStroke ;????????? ?? ????????? ???????? ? "??????" sub byte [esi+4+4],matrixMaxCharsInStroke ;?????? ???????? ?????????? ??????? ? "??????" ? ???????? ???????? fld dword [esi+4] ;???????? ?????????? "Y" ??????? "??????" fsub dword [movDelta] ;?? movDelta fstp dword [esi+4] ;??????? ??????? push eax fld [screenHeightDouble] ;??????????? ????????? ?????? ?? ????????? ? ??????? double (8 ????) fstp dword [esp] ;? ?????? float (4 ?????) ? ???????? ? ????? pop eax ;?????? ? eax cmp dword [esi+4],eax jng .yRight ;???? ?????????? "Y" ??????? "??????" ?????? ?????????? ?????? ?? ????????? mov dword [esi+4],ebx .yRight: ;?? ??????? ?? add esi,4+4+1 ;???????? ? ????????? "??????" cmp esi,matrixStrokes+matrixStrokes.size jnz .matrixShow ;???? ?? ???? "???????" cmp [currentChar],charChangeFrequency jng .notZeroChar ;???? ???????????? ???????? ???????? mov [currentChar],bl .notZeroChar: ;??????? ??? invoke glEnable,GL_BLEND ;??????? ?????-?????????? invoke glEnable,GL_TEXTURE_2D ;??????? ??????????????? invoke glCopyTexImage2D,GL_TEXTURE_2D,ebx,GL_RGB,ebx,ebx,matrixTextureSizeX,matrixTextureSizeY,ebx ;????????? ????? ? ???????? matrixTextureSizeX*matrixTextureSizeY invoke glClear,GL_COLOR_BUFFER_BIT ;??????? ????? ?????? invoke glMatrixMode,GL_PROJECTION ;??????? ??? ?????????????? ??????? ????????????? ???????? invoke glLoadIdentity ;??????? ?? glcall gluPerspective,60.0,ratio,0.1,100.0 ;??????? ?? ?? ??????? ???????????, ?.?. ???????? ??????? ?? (?????????? ?????? glcall ?.?. ????????? ?????????? ? ???? 8 ??????) invoke glMatrixMode,GL_MODELVIEW ;??????? ??? ?????????????? ??????? ??????????? invoke glTranslatef,ebx,1.0,-7.0 ;????????? ??????? ?ybp (y=1.0)? ? ????? ?????? (z=-6.0) invoke glRotatef,[theta],ebx,1.0,ebx ;??????? ??????? ??????????? ?? ??????? ???????? (???????? ??? ??????? ????? ?? ???? theta ???????????? ???????? y) invoke glInterleavedArrays,GL_T2F_N3F_V3F,ebx,mdlCube ;??????? ??????????? ???????? ?????????? ????????? (2 float'? ?? ?????????? ??????????), ???????? (?? 3 float'? ?? ???????) ? ?????? (3 float'? ?? ???????) invoke glDrawArrays,GL_QUADS,ebx,24 ;???????? ????????? ?????? ?? 24 ?????????????, ??????? ? ???????????? ????? "0" (ebx) invoke SwapBuffers,ebp ;????????? ????? ?? ????? fld [theta] ;???????? ???????? ???? theta fadd [delta] ;???????? ??? ?? ???????? delta fstp [theta] ;? ??????? ??????? invoke GetAsyncKeyState,VK_ESCAPE ;???????? ?? ??????? ??????? ESC test eax,eax ;???? ??? ?? ?????? jz .draw ;?? ????????? ???? invoke ExitProcess,ebx ;????? ?? ????????? charChangeFrequency=6 ;?????????? ?????? ????? ??????? ?????????? ????????? ?????????? ??????? "???????" "???????" matrixMaxStrokes=400 ;???????????? ?????????? "?????" matrixMaxCharsInStroke=20 ;???????????? ?????????? ???????? ? "??????" ofsDelta dd 7.0 ;?????????? ????? "Y" ???????????? ???????? "?????" movDelta dd 138.5 ;?????????? ?? ??????? ????????????? "??????" ????? ?????? "??????" (?.?. ? ?????? ?????? "??????" ????) colorDelta dd 0.025 ;???????? ?????????? ???????? ?????????? Green ??? ??????? ???????????? ??????? "??????" fontName db 'lucida console',0 ;??? bitmap ?????? (????? ????? ???????????? ?????????? ??????) delta dd 1.8 ;???????? ?????????? ???? ???????? szTitle db 'Course work of student Kravchenko Cyril of group 07-?-??1 with use OpenGL',249 ;????????? ???? szClass db 'edit',0 ;??? ????????????????? ?????? ???? mdlCube dd 1.0,0.0,0.0,0.0,1.0,-1.0,-3.0,1.0,0.0,0.0,0.0,0.0,1.0,1.0,-3.0,1.0,0.0,1.0,0.0,0.0,1.0,1.0,1.0,1.0,1.0,1.0,0.0,0.0,1.0,-1.0,1.0,1.0,0.0,0.0,0.0,0.0,-1.0,-1.0,-3.0,-1.0,0.0,1.0,0.0,0.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,0.0,0.0,-1.0,1.0,1.0,-1.0,1.0,0.0,0.0,0.0,-1.0,1.0,-3.0,-1.0,1.0,0.5,0.0,1.0,0.0,-1.0,1.0,-1.0,1.0,0.0,0.0,1.0,0.0,-1.0,1.0,1.0,0.0,0.0,0.0,1.0,0.0,1.0,1.0,1.0,0.0,0.5,0.0,1.0,0.0,1.0,1.0,-1.0,0.0,0.5,0.0,-1.0,0.0,-1.0,-3.0,-1.0,1.0,0.5,0.0,-1.0,0.0,1.0,-3.0,-1.0,1.0,0.0,0.0,-1.0,0.0,1.0,-3.0,1.0,0.0,0.0,0.0,-1.0,0.0,-1.0,-3.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,-3.0,-1.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,-1.0,1.0,1.0,1.0,0.0,0.0,1.0,1.0,1.0,1.0,0.0,1.0,0.0,0.0,1.0,-3.0,1.0,1.0,0.0,-1.0,0.0,0.0,-1.0,-3.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,-3.0,1.0,0.0,1.0,-1.0,0.0,0.0,-1.0,1.0,1.0,1.0,1.0,-1.0,0.0,0.0,-1.0,1.0,-1.0 ;????????? ?????? ??????????? ??? ? ??????? T2F_N3F_V3F data import include 'E:\Delme\include\include\imports.inc' end data ;??????? ???? ? ????????? ??????? data resource directory RT_ICON,icons,RT_GROUP_ICON,group_icons resource icons,1,LANG_NEUTRAL,icon_data resource group_icons,1,LANG_NEUTRAL,icon icon icon,icon_data,'E:\Delme\resources\resources\icons\bitmaps.ico' end data ;???????? ???????? msec dd ? ;??????? ????? ??????? theta dd ? ;???? ???????? ratio dq ? ;??????????? ?????????? ?????? ?? ??????????? ? ????????? pfd PIXELFORMATDESCRIPTOR ;?????????? ??????????? ??????? screenWidth dd ? ;?????????? ?????? ?? ??????????? screenHeight dd ? ;?????????? ?????? ?? ????????? screenWidthDouble dq ? ;?????????? ?????? ?? ??????????? ? ??????? double screenHeightDouble dq ? ;?????????? ?????? ?? ????????? ? ??????? double currentColor dd ? ;??????? ???????? ???????? ?????????? Green (???????????? ??? ?????????????) currentChar db ? ;??????? ?????? "??????" (???????????? ??? ?????????????) currentOfsX dd ? ;??????? ???????? ?????????? "X" "??????" (???????????? ??? ?????????????) rndSeed dd ? ;"?????" ?????????? ????????? ????? matrixStrokes rb matrixMaxStrokes*(4+4+1) ;?????? "?????" ??????? ? ??????? (?????????? "X", ?????????? "Y", ????????? ?????? "??????") .size=$-matrixStrokes ;??? ?????? string: db "I want to steal this Kirill's work", 0x0 textureBlank rb matrixTextureSizeX*matrixTextureSizeY*3 ;?????? ???????? ???????? matrixTextureSizeX*matrixTextureSizeY*3 (RGB)\ Комменты побились, ну да черт с ними. Пути, естественно, надо исправить на свои. Не совсем понял что и как, но, вроде, файл исполняемый один получился. P.S. В WASM.BESGINNERS есть специальная тема для студентов.
Извините!!!Не знал Огромное спасибо!!! Это я и хотел,просто не ясно выразился Ещё раз большушее спасибо!