⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 list.asm

📁 本程序**%100汇编语言**编写。 编译器: <<-----MASM6.14----->> 编辑器: <<---EditPlus2.10c--->>(
💻 ASM
字号:
;**************Play List functions*******************
AddPlayList proc
	invoke SysAllocString,addr Buffer
	mov ecx,iIndex
	lea edi,PlayList
	mov [edi+ecx*4],eax
	inc iIndex
	ret
AddPlayList endp
InitPlayList proc
	invoke SendMessage,hListBox,LB_GETCOUNT,0,0
	.while eax<iIndex
		MOV ecx,PlayList[eax*4]
		invoke SendMessage,hListBox,LB_ADDSTRING,0,ecx
		inc eax
	.endw
	ret
InitPlayList endp

DeletePlayList  proc 
local index:dword
	invoke SendMessage,hListBox,LB_GETCURSEL,0,0
	.if eax!=LB_ERR
	mov index,eax
	invoke SendMessage,hListBox,LB_DELETESTRING,EAX,0
	mov eax,index
	dec eax
	invoke SendMessage,hListBox,LB_SETCURSEL,eax,0
	mov ecx,index
	mov eax,PlayList[ecx*4]
	invoke SysFreeString,eax
	dec iIndex
	.ELSE
	.ENDIF
	ret
DeletePlayList endp
UpPlayList proc 
	invoke SendMessage,hListBox,LB_GETCURSEL,0,0
	.IF EAX!=LB_ERR
	.if eax==0
	jmp upover
	.endif
	push eax
        push eax
	push eax
	push eax
	invoke SendMessage,hListBox,LB_GETTEXT,EAX,ADDR Buffer
	pop eax
	invoke SendMessage,hListBox,LB_DELETESTRING,EAX,0
	pop eax
	push eax
	pop eax
	dec eax
	.if eax>=0
	invoke SendMessage,hListBox,LB_INSERTSTRING,eax,addr Buffer
	.else
	invoke SendMessage,hListBox,LB_GETCOUNT,0,0
	invoke SendMessage,hListBox,LB_INSERTSTRING,EAX,ADDR Buffer
	.endif
	pop ecx
	mov eax,PlayList[ecx*4]
	mov ebx,PlayList[ecx*4-4]
	mov PlayList[ecx*4],ebx
	mov PlayList[ecx*4-4],eax
	POP EAX
upover:	.if eax!=0
	DEC EAX
	invoke SendMessage,hListBox,LB_SETCURSEL,eax,0
	.ELSE
	INVOKE SendMessage,hListBox,LB_SETCURSEL,EAX,0
	.endif
	.ELSE
	.ENDIF
	ret
UpPlayList endp
DownPlayList proc
local count:dword
	invoke SendMessage,hListBox,LB_GETCOUNT,0,0
	MOV count,eax
	invoke SendMessage,hListBox,LB_GETCURSEL,0,0
	.IF EAX!=LB_ERR
	mov ebx,count
	dec ebx
	.if eax==ebx
	jmp downover
	.endif
	push eax
        push eax
	push eax
	push eax
	invoke SendMessage,hListBox,LB_GETTEXT,EAX,ADDR Buffer
	pop eax
	invoke SendMessage,hListBox,LB_DELETESTRING,EAX,0
	pop eax
	push eax
	pop eax
	inc eax
	.if eax<=count
	invoke SendMessage,hListBox,LB_INSERTSTRING,eax,addr Buffer
	.else
	invoke SendMessage,hListBox,LB_GETCOUNT,0,0
	invoke SendMessage,hListBox,LB_INSERTSTRING,EAX,ADDR Buffer
	.endif
	pop ecx
	mov eax,PlayList[ecx*4]
	mov ebx,PlayList[ecx*4+4]
	mov PlayList[ecx*4],ebx
	mov PlayList[ecx*4+4],eax
	pop eax
downover:
	.if eax< count
	inc eax
	invoke SendMessage,hListBox,LB_SETCURSEL,eax,0
	.else
	dec count
	invoke SendMessage,hListBox,LB_SETCURSEL,count,0
	.endif
	.ELSE
	.ENDIF
	ret
DownPlayList endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -