intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Giáo trình hình thành quy trình điều khiển thiết bị bán dẫn chứa các mạch logic điện tử p7

Chia sẻ: Sdfasf Dsgfds | Ngày: | Loại File: PDF | Số trang:10

64
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo tài liệu 'giáo trình hình thành quy trình điều khiển thiết bị bán dẫn chứa các mạch logic điện tử p7', kỹ thuật - công nghệ, điện - điện tử phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: Giáo trình hình thành quy trình điều khiển thiết bị bán dẫn chứa các mạch logic điện tử p7

  1. . 62 LUAÂÄN VAÊN TOÁT NGHIEÄP for(FindValue=0;FindValueMsg==1) { for(int i=0;i=lpEvent->Posx&&But[i].Bottom()>=lpEvent->Posy) { HideMouse(); But[i].PressButton(); delay(100); But[i].OutButton(); if(i==1) { if(OutError("Do you want to quit ?")==0) return -1; closegraph(); exit(1); } ShowMouse();
  2. . 63 LUAÂÄN VAÊN TOÁT NGHIEÄP return i; } } return -1; } //--------------------------------------------------------- int TestPressTexbox(int x,LPEVENT lpEvent,char layra[],unsigned *attribp) { *attribp=0; if(lpEvent->Msg==1) { for(int i=0;i=lpEvent->Posx&&Box[i].Bottom()>=lpEvent->Posy) { HideMouse();//giau chuot de khong bi vet lem mau o vi tri chuot char LastName[100]; Box[i].GetS(LastName); OutMessage("Enter a file name. Press Enter to finish, Esc to ignore."); Box[i].Path();//lay Path vao bien S cua TEXTBOX Box[i].OutTextBox(); Box[i].GetS(layra);//lay ra text da nhap vao //tao chuan cho chuoi Path if(layra[strlen(layra)-1]=='>')//gat bo dau \> sau thu muc nhung van giu lai doi voi o dia if(layra[strlen(layra)-2]=='\\') if(layra[strlen(layra)-3]==':')//dang a:\> layra[strlen(layra)-1]='\0';//ra a:\ else //dang a:\fname\> layra[strlen(layra)-2]='\0';//ra dang a:\fname else layra[strlen(layra)-1]='\0';//bo dau > if(layra[strlen(layra)-1]=='\\')//gat bo dau \ sau thu muc nhung van giu lai doi voi o dia if(layra[strlen(layra)-2]!=':')//dang a:\fname\ layra[strlen(layra)-1]='\0'; if(layra[strlen(layra)-1]==':') if(strlen(layra)==2)//dang a: strcat(layra,"\\");//ra a:\ int NotExist=_dos_getfileattr(layra, attribp); int m=strlen(layra)-1; while(layra[m]!='\\')//dem so ky tu thuoc ve phan Path m--; for(int n=0;n='a'&&layra[n]
  3. . 64 LUAÂÄN VAÊN TOÁT NGHIEÄP if(layra[1]==':'&&layra[0]!=LastName[0]) setdisk(toupper(layra[0])-'A'); chdir(layra);//vao them mot cap thu muc if(layra[strlen(layra)-1]!='\\') strcat(layra,"\\"); Box[0].GetS_in(layra); Box[0].OutTextBox(); OutMessage("Click mouse to chose action"); return 0; } if (NotExist == 0) { return 0; } else { OutMessage("File does not exist."); Box[0].GetS_in(LastName); Box[0].OutTextBox(); return 1; } }//end if Open } } return -1; } //--------------------------------------------------------- int TestPressList(LIST L,LPEVENT lpEvent,char s[],unsigned *attrib,char *typ) { int k=0; if(lpEvent->Msg==1) if(L.Left()Posx&&L.Top()Posy&&L.Right()>=lpEvent->Posx&&L.Bottom()>=lpEvent->Posy) { OutMessage("Open File Name"); delay(100);//neu khong thi khong the putimage, khong thoat khoi bang list duoc k=L.Press(s,&Box[0],attrib,DiskName,&DName,typ); } return k; } //--------------------------------------------------------- II.CLASS BUTTON.HPP #if !defined __BUTTON__ #define __BUTTON__ class BUTTON { private: int l,t,r,b;//toa do box int Color; char S[100]; public: void InitButton(int x1,int y1,int x2,int y2,int color,char s[]); void OutButton(); void PressButton(); int Left() {return l;} int Right() {return r;} int Top() {return t;} int Bottom() {return b;} }; #endif
  4. . 65 LUAÂÄN VAÊN TOÁT NGHIEÄP III.MODULE BUTTON.CPP #include #include #include "button.hpp" //--------------------------------------------------------- void BUTTON::InitButton(int x1,int y1,int x2,int y2,int color,char s[]) { l=x1; t=y1; r=x2; b=y2; Color=color; strcpy(S,s); } //--------------------------------------------------------- void BUTTON::OutButton() { setfillstyle(SOLID_FILL,Color); bar(l,t,r,b); setcolor(WHITE); line(l,t,r,t); line(l,t,l,b); setcolor(BLACK); line(r,t,r,b); line(l,b,r,b); setcolor(BLUE); int x=l+(r-l-textwidth(S))/2,y=t+(b-t-textheight(S))/2; outtextxy(x,y,S); } //--------------------------------------------------------- void BUTTON::PressButton() { setcolor(BLACK); line(l,t,r,t); line(l,t,l,b); setcolor(WHITE); line(r,t,r,b); line(l,b,r,b); } //--------------------------------------------------------- IV. CLASS DISKLIST.HPP #include "textbox.hpp" #include "mouse.h" #if !defined __DISKLIST__ #define __DISLIST__ extern char Disk(char *s); extern int ChosenDisk(char *s,/*TEXTBOX *Box,*/char PreDisk,char CurDisk); extern LPEVENT CheckChooseDisk(char *DiskName,char *DName,LPEVENT lpEvent,int x,int y); extern char *FileType(TEXTBOX *b); #endif V.MODULE DISKLIST.CPP #include #include #include #include #include #include
  5. . 66 LUAÂÄN VAÊN TOÁT NGHIEÄP #include #include // #include "disklist.hpp" char Disk(char *s)//kiem tra co bao nhieu o dia trong may, luu ten cac o dia vao chuoi s, tra ve ten o dia hien hanh { int save,disk, disks; int equip_check; char c[4]; s[0]='\0'; save = getdisk(); equip_check = biosequip(); equip_check >>= 6; equip_check = (equip_check & 3) + 1;//dem so o dia mem for (disk = 0;disk < 26;++disk) { setdisk(disk); if (disk == getdisk()) { sprintf(c,"%c",disk +'A'); strcat(s,c); } } setdisk(save); if(equip_check==1&&s[1]=='B')//neu chi co ot o dia mem for(int i=1;i
  6. . 67 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];
  7. . LUAÂÄN VAÊN TOÁT NGHIEÄP 68 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);
  8. . 69 LUAÂÄN VAÊN TOÁT NGHIEÄP 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); do { 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 do bang ngoai //600 x 300 la kich thuoc bang ngoai int Kiemtra=0;//bien de kiem tra truong hop chon OK truoc khi chon file LPEVENT lpEvent;//kiem tra bang thu muc void far *buf;//con tro chi vung luu tru man hinh
  9. . 70 LUAÂÄN VAÊN TOÁT NGHIEÄP 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 do 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 do 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";
  10. . 71 LUAÂÄN VAÊN TOÁT NGHIEÄP 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 do 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
9=>0