fatimah
یک شنبه 09 بهمن 1384, 15:12 عصر
دوستان سلام . برنامه ای که اینجا نوشتم به این منظوره که :
اول صفحه نمایش رو پای کنه ، یه کادری بکشه بعد اسم و فامیل و شماره دانشجویی رو بنویسه وسط اون . بعد براش یه منوی رنگی در نظر بگیره که بتونیم روش حرکت کنیم ( یعنی وقتی جهت
نمای بالا و پایین رو می زنمیم منومون رنگی بشه و انتخاب بشه ) . بعد اگه که کلید اسکیپ رو زدیم خارج بشه ( چون نمی دونشتم کدش چیه به جاش از کیو استفاده کردم . وقتی این کلید زده شده از ما با نمایش پیغامی بالای اون کادره بنویسه که آیا می خوای خارج بشه یا نه ؟ اگه وای رو زدیم خارج و اگه ان رو زدیم اون پیغامه بره . البته با استفاده از ماکرو . من برنامه رو نوشتم . تا یه حدیش . نمی دونم چقدرش درسته چون نمی دونم ماکروم ایراد داره یا نه ؟ چون از ماکرو و نام اون ایراد میگیره . خواهشا بگین ایراداش کجاست ؟ تا فردا بیشتر وقت ندارم . اگه منوی رنگی هم نداشته باشم طوری نیست که لا اقل اونای دیگش جواب بده . این بر خلاف قوانین نیست دیگه . پس تو رو خدا یکی ایراداش رو برام درست کنه . ممنون میشم .
موفق باشین .....
datasg segment
cr equ 0dh
lf equ 0ah
msg1 db "Fatimah$"
msg2 db "D.... $"
msg3 db "99 .... $"
msg4 db " are you sure to exit ? "
empty db ' ' ;; در نظر گرفتن فضای خالی برای چاپ آن به منظور پاک کردن پیغام خروج
menu db 0dah,40 dup(0c4h),0bfh,cr,lf,0b3h,40 dup(?),0b3h,cr,lf,0b3h,40 dup(?),0b3h,cr,lf,0b3h,40 dup(?),0b3h,cr,lf,0b3h,40 dup(?),0b3h,cr,lf,0b3h,40 dup(?),0b3h,cr,lf,0b3h,40 dup(?),0b3h,cr,lf,0b3h,40 dup(?),0b3h,cr,lf,0b3h,40 dup(?),0b3h,cr,lf,0b3h,40 dup(?),0b3h,cr,lf,0c0h,40 dup(0c4h),0d9h,'$'
datasg ends
codesg segment
main proc far
assume ds:datasg,cs:codesg
mov ax,datasg
mov ds,ax
clrscr
mov ah,02h
mov dl,20
mov dh,20
int 10h
;; رسم کادر
mov ah,09h
mov dx,offset menu
int 21h
curser 20,28
prt msg1
curser 21,28
prt msg2
curser 22,28
prt msg3
mov ah,01h
int 16h
mov ah,0h
int 16h
cmp al,'q'
curser 6,28
prt msg4
mov ah,0h
int 16h
cmp al,'y'
je exit
curser 6,28
prt empty
exit:
mov ah,4ch
int 21h
main endp
codesg ends
;; کد مربوط به ماکروی پاک کردن صفحه نمایش
clrscr macro
mov ah,06h
mov al,0
mov bl,07
cx,00
mov dx,184f
int 10h
endm
;; کد مربوط به ماکروی چاپ نام ، فامیل و شماره دانشجویی
prt macro text
mov ah,09h
mov bx,offset text
int 10h
endm
;; کد مربوط به ماکروی بردن کرسر به سطر و ستون خاص
curser macro r,l
mov ah,02h
mov bh,0h
mov dl,c
mov dh,r
int 10h
endm
end main
من به این برنامه نیاز دارم . پس خواهشا ...
اول صفحه نمایش رو پای کنه ، یه کادری بکشه بعد اسم و فامیل و شماره دانشجویی رو بنویسه وسط اون . بعد براش یه منوی رنگی در نظر بگیره که بتونیم روش حرکت کنیم ( یعنی وقتی جهت
نمای بالا و پایین رو می زنمیم منومون رنگی بشه و انتخاب بشه ) . بعد اگه که کلید اسکیپ رو زدیم خارج بشه ( چون نمی دونشتم کدش چیه به جاش از کیو استفاده کردم . وقتی این کلید زده شده از ما با نمایش پیغامی بالای اون کادره بنویسه که آیا می خوای خارج بشه یا نه ؟ اگه وای رو زدیم خارج و اگه ان رو زدیم اون پیغامه بره . البته با استفاده از ماکرو . من برنامه رو نوشتم . تا یه حدیش . نمی دونم چقدرش درسته چون نمی دونم ماکروم ایراد داره یا نه ؟ چون از ماکرو و نام اون ایراد میگیره . خواهشا بگین ایراداش کجاست ؟ تا فردا بیشتر وقت ندارم . اگه منوی رنگی هم نداشته باشم طوری نیست که لا اقل اونای دیگش جواب بده . این بر خلاف قوانین نیست دیگه . پس تو رو خدا یکی ایراداش رو برام درست کنه . ممنون میشم .
موفق باشین .....
datasg segment
cr equ 0dh
lf equ 0ah
msg1 db "Fatimah$"
msg2 db "D.... $"
msg3 db "99 .... $"
msg4 db " are you sure to exit ? "
empty db ' ' ;; در نظر گرفتن فضای خالی برای چاپ آن به منظور پاک کردن پیغام خروج
menu db 0dah,40 dup(0c4h),0bfh,cr,lf,0b3h,40 dup(?),0b3h,cr,lf,0b3h,40 dup(?),0b3h,cr,lf,0b3h,40 dup(?),0b3h,cr,lf,0b3h,40 dup(?),0b3h,cr,lf,0b3h,40 dup(?),0b3h,cr,lf,0b3h,40 dup(?),0b3h,cr,lf,0b3h,40 dup(?),0b3h,cr,lf,0b3h,40 dup(?),0b3h,cr,lf,0b3h,40 dup(?),0b3h,cr,lf,0c0h,40 dup(0c4h),0d9h,'$'
datasg ends
codesg segment
main proc far
assume ds:datasg,cs:codesg
mov ax,datasg
mov ds,ax
clrscr
mov ah,02h
mov dl,20
mov dh,20
int 10h
;; رسم کادر
mov ah,09h
mov dx,offset menu
int 21h
curser 20,28
prt msg1
curser 21,28
prt msg2
curser 22,28
prt msg3
mov ah,01h
int 16h
mov ah,0h
int 16h
cmp al,'q'
curser 6,28
prt msg4
mov ah,0h
int 16h
cmp al,'y'
je exit
curser 6,28
prt empty
exit:
mov ah,4ch
int 21h
main endp
codesg ends
;; کد مربوط به ماکروی پاک کردن صفحه نمایش
clrscr macro
mov ah,06h
mov al,0
mov bl,07
cx,00
mov dx,184f
int 10h
endm
;; کد مربوط به ماکروی چاپ نام ، فامیل و شماره دانشجویی
prt macro text
mov ah,09h
mov bx,offset text
int 10h
endm
;; کد مربوط به ماکروی بردن کرسر به سطر و ستون خاص
curser macro r,l
mov ah,02h
mov bh,0h
mov dl,c
mov dh,r
int 10h
endm
end main
من به این برنامه نیاز دارم . پس خواهشا ...