printf 5d,15d,prompt1
printf 7d,15d,prompt2
call put_buffer ;从键盘接收数据(buffer1)
move_file_pointer 0,0,2 ;以读写的方式移动文件指针到文件尾 write_file 30,buffer1 ;写文件 close_file ;关闭文件 clear_screen 1,1,23d,78d ;清屏 win 0,1eh,1,1,23d,78d win 0,7Dh,6d,6d,8d,60d printf 7d,15d,prompt5 pop dx pop cx pop bx pop ax ret insert endp
;**********************************************把键盘输入的姓名,电话号码存入到buffer1中
put_buffer proc near push ax push bx
pos_curse 00h,5d,22d
getin buffer1,15 ;把键盘输入的15个字符存入到buffer1中 (姓名)
;---------------------------------------------电话号码
pos_curse 00h,7d,25d ;把光标设置在第5行 getin buffer2,15 ;把键盘输入的15个字符存入buffer中 mov bx,15 mov cx,15
16
continue0:
mov al,buffer2[bx-15] mov buffer1[bx],al inc bx loop continue0 ;--------------------------- pop bx pop ax ret put_buffer endp
;********************************************显示日程表 query proc near
clear_screen 1,1,23d,78d ;清屏 win 0,1eh,1,1,23d,78d printf 5d,15d,prompt9 printf 6d,15d,prompt16 printf 7d,15d,prompt10 printf 8d,15d,prompt16 printf 9d,15d,prompt11 printf 10d,15d,prompt16 printf 11d,15d,prompt12 printf 12d,15d,prompt16 printf 13d,15d,prompt13 printf 14d,15d,prompt16 printf 15d,15d,prompt14 printf 16d,15d,prompt16 printf 17d,15d,prompt15 printf 18d,15d,prompt16 ret
17
query endp
;********************************************修改记录 modify proc near ;修改文件 push ax push bx push cx push dx
clear_screen 1,1,23d,78d ;清屏 win 0,1eh,1,1,23d,78d printf 5d,15d,prompt1 printf 7d,15d,prompt2
open_file fname ;以读写的方式打开文件 mov bx,ax
call put_buffer ;修改的数据读入到buffer1中 read:
read_file 30,buffer2 ;读文件
cmp ax,0 jz fail2
;----------------------------------比较前15个字符是否相同 lea si,buffer2 lea di,buffer1 mov cx,15 c5:
mov al,byte ptr[si] cmp al,byte ptr[di] jnz read inc si
18
inc di loop c5 jmp success2 fail2:
clear_screen 1,1,23d,78d ;清屏 win 0,1eh,1,1,23d,78d win 0,7Dh,6d,6d,8d,60d printf 7d,15d,prompt8 jmp f2 success2:
;--------------------------移动文件指针 move_file_pointer 0ffffh,-30,1
write_file 30,buffer1 ;把buffer1中的内容写入到文件中 clear_screen 1,1,23d,78d ;清屏 win 0,1eh,1,1,23d,78d win 0,7Dh,6d,6d,8d,60d printf 7d,15d,prompt7 f2:
close_file ;关闭文件 pop dx pop cx pop bx pop ax ret modify endp
;*************************************************显示记录列表
19
list proc near push ax push bx push cx push dx
clear_screen 1,1,23d,78d ;清屏 win 0,1eh,1,1,23d,78d printf 1d,20d,mess11
open_file fname ;以读写的方式打开文件 mov bx,ax mov row,3 again:
read_file 30,buffer1 ;读文件 cmp ax,0 jz p
show_message buffer1 ;把buffer中的内容按照一定的格式显示出来 inc row jmp again p:
close_file ;关闭文件
pop dx pop cx pop bx pop ax ret list endp
20