Giáo trình phân tích quy trình ứng dụng điều chế thiết bị bán dẫn chứa các mạch logic điện tử p7

11 196 0
Giáo trình phân tích quy trình ứng dụng điều chế thiết bị bán dẫn chứa các mạch logic điện tử p7

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

LUAÂÄN VAÊN TOÁT NGHIEÄP if ((buf = farmalloc(size)) == NULL) { OutMessage("Error: not enough heap space in save_screen()."); getch(); closegraph(); exit(1); } else { getimage(x1,y,x,y1,buf); OutMessage("Click a drive name in the list"); } setfillstyle(SOLID_FILL,WHITE); bar(x1,y,x,y1); setcolor(BLACK); rectangle(x,y,x1,y1); setcolor(LIGHTGRAY); line(x-1,y+1,x-1,y1-1); line(x1+1,y1-1,x-1,y1-1); setcolor(BLACK); char Temp[3]; for(int i=0;i=x1+1&&LpEvent->PosxPosy>=y+7+i*14&&LpEvent->PosyMsg!=1); putimage(x1,y,buf,COPY_PUT); farfree(buf); return LpEvent; } // char *FileType(TEXTBOX *b) { char s[15]; 67 LUAÂÄN VAÊN TOÁT NGHIEÄP b->Path(); b->OutTextBox(); b->GetS(s); return s; } VI.CLASS LIST.HPP #include "textbox.hpp" #include "disklist.hpp" #if !defined LIST #define LIST class LIST { private: int l,t,r,b; int Color; public: void InitList(int x1,int y1,int x2,int y2,int Color); void Show(); int Press(char s[],TEXTBOX *Box,unsigned *attrib,char *DiskName,char *DName,char *ftype); int GetList(char s[],TEXTBOX *Box,unsigned *attrib,char *DiskName,char *DName,TEXTBOX *Box2,char *ftype); int Left(){return l;}; int Right(){return r;}; int Top(){return t;}; int Bottom(){return b;}; }; #endif VII.MODULE LIST.CPP #include #include #include #include #include #include #include #include #include #include "mouse.h" #include "list.hpp" // void LIST::InitList(int x1,int y1,int x2,int y2,int col) { Color=col; l=x1;t=y1;r=x2;b=y2; } // void LIST::Show() { setfillstyle(SOLID_FILL,Color); bar(l,t,r,b); int hor=(r-l)/3,ver=(b-t)/3; int x1=l+hor,x2=r-hor,x3=l+(r-l)/2,y1=t+ver,y2=t+ver,y3=b-ver; setcolor(WHITE); line(x1,y1,x2,y2); line(x2,y2,x3,y3); line(x1,y1,x3,y3); setfillstyle(SOLID_FILL,WHITE); floodfill(x1+(x2-x1)/2,y1+(y3-y2)/2,WHITE); 68 LUAÂÄN VAÊN TOÁT NGHIEÄP 69 setfillstyle(SOLID_FILL,Color); setcolor(BLACK); line(l,b,r,b); line(r,t,r,b); setcolor(WHITE); line(l,t,r,t); line(l,t,l,b); } // int LIST::Press(char s[],TEXTBOX *Box,unsigned *attrib,char *DiskName,char *DName,char *ftype) //tra ve 0:nhan Cancel //tra ve 1:nhan OK { TEXTBOX Box2; HideMouse(); int hor=(r-l)/3,ver=(b-t)/3; int x1=l+hor,x2=r-hor,x3=l+(r-l)/2,y1=t+ver,y2=t+ver,y3=b-ver; setcolor(BLACK); line(x1,y1,x2,y2); line(x2,y2,x3,y3); line(x1,y1,x3,y3); setfillstyle(SOLID_FILL,BLACK); floodfill(x1+(x2-x1)/2,y1+(y3-y2)/2,BLACK); setfillstyle(SOLID_FILL,Color); setcolor(WHITE);//vien cho nut bi nhan line(l,b,r,b); line(r,t,r,b); setcolor(BLACK);//vien cho nut bi nhan line(l,t,r,t); line(l,t,l,b); int k=0; *DName=Disk(DiskName); { char buffer[MAXPATH]; k=GetList(s,Box,attrib,DiskName,DName,&Box2,ftype); getcwd(buffer, MAXPATH); Box->GetS_in(buffer); Box->OutTextBox(); }while(k==2); ShowMouse(); return k;//k=0: nhan Cancel, k=1:nhan OK } // int LIST::GetList(char s[],TEXTBOX *Box,unsigned *attrib,char *DiskName,char *DName,TEXTBOX *Box2,char *ftype) { int x11=l-300,y11=b,x12=r+100,y12=b+300;//toa bang ngoai //600 x 300 la kich thuoc bang ngoai int Kiemtra=0;//bien de kiem tra truong hop chon OK truoc chon file LPEVENT lpEvent;//kiem tra bang thu muc void far *buf;//con tro chi vung luu tru man hinh LUAÂÄN VAÊN TOÁT NGHIEÄP 70 unsigned int size = imagesize(x11,y11,x12,y12); if ((buf = farmalloc(size)) == NULL) { OutMessage("Error: not enough heap space in save_screen()."); getch(); closegraph(); exit(1); } else { getimage(x11,y11,x12,y12, buf); OutMessage("Choose a file name then click OK to accept or click Cancel to ignore"); } setfillstyle(SOLID_FILL,LIGHTGRAY);//GREEN); bar(x11,y11,x12,y12);//ve bang ngoai int x21=x11+5,y21=y11+5,x22=x12-120,y22=y12-77;//75;//toa bang liet ke setfillstyle(SOLID_FILL,WHITE);//MAGENTA); bar(x21,y21,x22,y22);//ve bang liet ke int x31=x22+30,y31=y21+50,x32=x31+60,y32=y31+20;//toa nut OK int x41=x31,y41=y31+100,x42=x32,y42=y32+100; setcolor(WHITE); line(x11,y11,x12,y11); line(x11,y11,x11,y12); line(x22+2,y21-2,x22+2,y22+2);//vien cho bang liet ke line(x21-1,y22+2,x22+2,y22+2);//vien cho bang liet ke line(x31,y31,x32,y31);//vien cho nut OK line(x31,y31,x31,y32);//vien cho nut OK line(x41,y41,x42,y41);//vien nut Cancel line(x41,y41,x41,y42);//vien nut Cancel setcolor(BLACK); line(x12,y11,x12,y12); line(x11,y12,x12,y12); line(x21,y21,x22,y21);//vien cho bang liet ke line(x21,y21,x21,y22);//vien cho bang liet ke line(x32,y31,x32,y32);//vien cho nut OK line(x31,y32,x32,y32);//vien cho nut OK line(x42,y41,x42,y42);//vien nut Cancel line(x41,y42,x42,y42);//vien nut Cancel setcolor(DARKGRAY); line(x21-1,y21-1,x22+1,y21-1);//vien cho bang liet ke line(x21-1,y21-1,x21-1,y22+1);//vien cho bang liet ke setcolor(BLUE); char S3[]="OK",S4[]="Cancel"; LUAÂÄN VAÊN TOÁT NGHIEÄP 71 int x33=x31+(x32-x31-textwidth(S3))/2; int y33=y31+(y32-y31-textheight(S3))/2; outtextxy(x33,y33,S3); int x44=x41+(x42-x41-textwidth(S4))/2; int y44=y41+(y42-y41-textheight(S4))/2; outtextxy(x44,y44,S4); struct ffblk FF; struct ffblk Lis[200]; char path[100]; getcurdir(0, path); int done; int x51=x21,x52=x51+130,y51=y22+28,y52=y51+20; int x61=x21,x62=x12-5,y61=y12-25,y62=y12-5; Box2->InitTextBox(x51,y51,x52,y52,WHITE,LIGHTBLUE,"Type of file"); Box2->GetS_in(ftype); Box2->OutTextBox(); setcolor(BLACK); line(x51+1,y51+1,x52-1,y51+1); line(x51+1,y51+1,x51+1,y52-1); setcolor(LIGHTGRAY); line(x51+1,y52-1,x52-1,y52-1); line(x52-1,y51+1,x52-1,y52-1); setfillstyle(SOLID_FILL,WHITE); bar(x61,y61,x62,y62); setcolor(BLACK); line(x61,y61,x62,y61); line(x61,y61,x61,y62); line(x61+1,y61+1,x62-1,y61+1); line(x61+1,y61+1,x61+1,y62-1); setcolor(LIGHTGRAY); line(x62-1,y61+1,x62-1,y62-1); line(x61+1,y62-1,x62-1,y62-1); //DiskBox int x71=x52+30,x72=x22,y71=y51,y72=y52;//toa DiskBox char DNameTemp[4]; sprintf(DNameTemp,"%c:",*DName); TEXTBOX DiskBox; DiskBox.InitTextBox(x71,y71,x72,y72,WHITE,LIGHTBLUE,"Driver name"); DiskBox.GetS_in(DNameTemp); DiskBox.OutTextBox(); setcolor(BLACK); line(x71+1,y71+1,x72-1,y71+1); line(x71+1,y71+1,x71+1,y72-1); setcolor(LIGHTGRAY); line(x71+1,y72-1,x72-1,y72-1); line(x72-1,y71+1,x72-1,y72-1); LIST DriList;//nut nhan chon o dia int x81=x72-19,y81=y71+2,x82=x72-2,y82=y72-2; DriList.InitList(x81,y81,x82,y82,LIGHTGRAY); DriList.Show(); done=findfirst("*",&FF,FA_DIREC); Lis[0]=FF; int dem=0;//cho vong while tim file, la so files + thu muc tim duoc LUAÂÄN VAÊN TOÁT NGHIEÄP 72 if((int)Lis[0].ff_attrib!=16) dem-=1; while (!done)//nhap ten file vao mang cau truc FF { dem++; done = findnext(&FF); if(!done) Lis[dem]=FF; if((int)Lis[dem].ff_attrib!=16) dem-=1; } dem+=1; int NumDir=dem; done=findfirst(ftype,&FF,FA_RDONLY|FA_HIDDEN|FA_SYSTEM|FA_ARCH); for(int j=0;jPosxPosy>=y71&&lpEvent->Posy=x81&&lpEvent->PosxPosy>=y81&&lpEvent->PosyPosx) if((tempy1+j*14)Posy&&(tempy2+j*14)>=lpEvent>Posy) { Arrowkey: HideMouse(); setfillstyle(SOLID_FILL,WHITE);//MAGENTA); bar(oldx1,oldy1,oldx2,oldy2); setcolor(BLACK);//LIGHTGREEN); outtextxy(x21+8,oldy1+3,Lis[Dem+over].ff_name); setfillstyle(SOLID_FILL,BLUE); oldx1=tempx1, oldy1=tempy1+j*14,oldx2=tempx2,oldy2=tempy2+j*14; bar(oldx1,oldy1,oldx2,oldy2); setcolor(YELLOW); outtextxy(x21+8,oldy1+3,Lis[j+over].ff_name); _dos_getfileattr(Lis[j+over].ff_name,attrib); strcpy(s,Lis[j+over].ff_name); if(strcmp(s,".")==0) strcpy(s,"\\"); Dem=j; End: Kiemtra=1;//bao hieu co nhan vao list } if(lpEvent->Msg==1&&(j==15)&&tempx1Posx&&tempx2>=lpEvent->Posx&&(tempy1+j*14)Posy&&(tempy2+j*14)>=lpEvent->Posy) //truong hop vet tro file o cuoi bang list va nhap chuot ben duoi vet tro { lpEvent->Posx=x11; lpEvent->Posy=y11; delay(50); goto MouseDown; } if(lpEvent->Msg==1&&(j==15)&&tempx1Posx&&tempx2>=lpEvent->Posx&&(tempy1-14)Posy&&(tempy214)>=lpEvent->Posy) LUAÂÄN VAÊN TOÁT NGHIEÄP //truong hop vet tro file o dau bang list va nhap chuot ben tren vet tro { lpEvent->Posx=x11; lpEvent->Posy=y11; delay(50); goto MouseUp; } if(lpEvent->Msg==1&&x31Posx&&y31Posy&&x32>=lpEvent->Posx&&y32>=lpEvent->Posy) nutOK: { HideMouse(); putimage(x11,y11,buf,COPY_PUT); farfree(buf); if(Kiemtra!=1) strcpy(s,Lis[0].ff_name); if(strcmp(s,".")==0) { strcpy(s,"\\"); *attrib=16; } if(*attrib==16) { chdir(s); return 2; } Show(); ShowMouse(); OutMessage("Click OK to send file."); return ;//bao da co chon file } if(lpEvent->Msg==1&&x41Posx&&y41Posy&&x42>=lpEvent->Posx&&y42>=lpEvent->Posy) nutCancel: { HideMouse(); putimage(x11,y11,buf,COPY_PUT); farfree(buf); Cancel: Show(); ShowMouse(); OutMessage("Click mouse to chose action"); return 0; } } if(lpEvent->Msg==2) { delay(100); goto nutOK; } }while(1); } // VIII CLASS MOUSE.H #if !defined( MOUSE_H ) #define MOUSE_H #include 76 LUAÂÄN VAÊN TOÁT NGHIEÄP 77 #include "screen.h" #define INT_MOUSE #define #define #define #define M_LEFT M_RIGHT M_CENTER M_CHANGE 0x33 0x04 0x08 /* Keyboard coding bits -#define KEY_NULL #define ESC #define ENTER #define TAB #define INS #define DEL #define BACKSPACE 0x8 #define HOME 0xC7 #define END 0xCF #define PAGE_UP #define PAGE_DOWN 0xD1 0x01 /* set if LEFT press */ 0x02 /* set if RIGHT press */ /* set if CENTER press */ /* set if mouse status is changed */ */ 0x0 0x1B 0x0D '\t' 0xD2 0xD3 0xC9 /* Function's keys */ #define F1 #define F2 #define F3 #define F4 #define F5 #define F6 #define F7 #define F8 #define F9 #define F10 #define #define #define PLUS MINUS SPACEBAR #define SHIFT_TAB #define CTRL_C 0xBB 0xBC 0xBD 0xBE 0xBF 0xC0 0xC1 0xC2 0xC3 0xC4 0x2B 0x2D 0x20 0x8F 0x3 //struct time; typedef struct tagEVENT{ int Msg; int Posx, Posy; // toa xay bien co chuot struct time *t; } EVENT; typedef EVENT far *LPEVENT; // Khai bao cac ham toan cuc extern void SetMouseRange(LPRECT);//LPRECT: xem SCREEN.H extern int InitMouse(LPRECT); extern void ShowMouse(void); extern void HideMouse(void); extern void MouseRead(LPEVENT); extern LPEVENT GetEvent(void); extern void DeviceRelease(int); //extern void ButtonPressed(int, LPEVENT); extern void ResetEvent(LPEVENT); //extern void MoveMouse(int x,int y);//tri extern void MouseText(int x,int y,int color1, int color2);//,char s[]); //extern int GetKey(void);

Ngày đăng: 07/12/2015, 00:53

Tài liệu cùng người dùng

Tài liệu liên quan