buffer1 db 30 dup(?) buffer2 db 30 dup(?) handle dw ? row db ? x db ? data ends
;-----------------------------------------------------堆栈段的定义 stack segment para stack 'stack' db 64 dup(0) stack ends
;-------------------------------------------------------代码段 code segment main proc far
assume cs:code,ds:data,es:data start:
mov ax,data mov ds,ax
win 0,7Dh,0,0,24d,79d ;定义窗口背景 win 0,1eh,1,1,23d,78d
printf 0,5,menu1 ;显示菜单 printf 0,15,menu2 printf 0,25,menu3 printf 0,35,menu4 printf 0,45,menu5 printf 24,6d,mass_1
win 0,7Dh,2,3,21,76 ;显示屏幕中间的信息 printf 05d,15d,mess1
printf 06d,5d,prompt18
11
printf 07d,25d,mess2
printf 10d,5d,prompt18 printf 13d,15d,mess3 printf 15d,15d,mess4 printf 17d,15d,mess5
pos_curse 0,50,100 ;隐藏光标 ;------------------------------------------选择菜单 select:
getch ;键盘输入一个字符并不回显 cmp al,3bh ;判断是否为F1键 jnz select call menu_show main endp
;********************************************* menu_show proc near ;菜单操作 Insert_menu:
win 0,7Dh,0,43,0,51 printf 0,45,menu5 win 0,7Dh,0,13,0,21 printf 0,15,menu2 win 0,2eh,0,4,0,12 printf 0,5,menu1 getch cmp al,0dh jnz a1 call insert a1:
cmp al,4dh jnz Insert_menu
12
Query_menu:
win 0,7Dh,0,4,0,12 printf 0,5,menu1 win 0,7Dh,0,23,0,31 printf 0,25,menu3 win 0,2eh,0,13,0,21 printf 0,15,menu2 getch cmp al,0dh jnz a2 call query a2:
cmp al,4dh jnz b1 jmp List_menu b1:
cmp al,4bh jnz Query_menu jmp Insert_menu List_menu:
win 0,7Dh,0,13,0,21 printf 0,14,menu2 win 0,7Dh,0,33,0,41 printf 0,35,menu4 win 0,2eh,0,23,0,31 printf 0,25,menu3 getch cmp al,0dh jnz a3
13
call list a3:
cmp al,4dh jnz b2
jmp Modify_menu b2:
cmp al,4bh jnz List_menu jmp Query_menu Modify_menu:
win 0,7Dh,0,23,0,31 printf 0,25,menu3 win 0,7Dh,0,43,0,51 printf 0,45,menu5 win 0,2eh,0,33,0,41 printf 0,35,menu4 getch cmp al,0dh jnz a4 call modify a4:
cmp al,4dh jnz b3 jmp Exit_menu b3:
cmp al,4bh jnz Modify_menu jmp List_menu Exit_menu:
14
win 0,7Dh,0,33,0,41 printf 0,35,menu4 win 0,2eh,0,43,0,51 printf 0,45,menu5 getch cmp al,0dh jnz a5 call quit a5:
cmp al,4dh jnz b4
jmp Insert_menu b4:
cmp al,4bh jnz Exit_menu jmp Modify_menu menu_show endp
;************************************************插入记录 insert proc near push ax push bx push cx push dx
open_file fname ;打开文件 mov bx,ax
clear_screen 1,1,23d,78d ;清屏 win 0,1eh,1,1,23d,78d
15