Giáo trình Hình thành phân mạch ứng dụng điều chế thiết bị bán dẫn chứa các mạch logic điện tử (Phần 9)
Bạn đang xem tài liệu "Giáo trình Hình thành phân mạch ứng dụng điều chế thiết bị bán dẫn chứa các mạch logic điện tử (Phần 9)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
giao_trinh_hinh_thanh_phan_mach_ung_dung_dieu_che_thiet_bi_b.pdf
Nội dung text: Giáo trình Hình thành phân mạch ứng dụng điều chế thiết bị bán dẫn chứa các mạch logic điện tử (Phần 9)
- LUÂÄN VĂN TỐT NGHIỆP 87 } else flushall(); } if(lpEvent->Msg==1) { if(lpEvent->Posx>=Cx1&&lpEvent->Posx Posy>=Cy1&&lpEvent->Posy Posx>=Ox1&&lpEvent->Posx Posy>=Oy1&&lpEvent->Posy #include #include #include #include #include #include #if !defined __SEND__ #define __SEND__ class SEND { private: char OutFile[100]; public: char *CatFile(char St_add[],char End_add[],char InFile[]); int Out(); int DeleteFile();//se del OutFile }; #endif extern int Esc(); XIII. MODULE SEND.CPP #include "screen.h" #include "send.hpp" #define data 0x378 #define sta 0x379 #define ctr 0x37a char *SEND::CatFile(char St_add[],char End_add[],char InFile[]) { char KyTu_Hex[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E ','F','a','b','c','d','e','f'}; int Gtri_Dec[]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,10,11,12,13,14,15}; unsigned int i,DemSpace;
- LUÂÄN VĂN TỐT NGHIỆP 88 unsigned int Value1=0,Value2=0; char FindPos,FindValue; int Thoigian=0; FILE *f,*f1; char t,t1,t2,t3,t4; // char St_add[]="0000 Hex",End_add[]="000F Hex"; int end_line; strcpy(OutFile,InFile); i=strlen(OutFile); do { OutFile[i]='\0'; }while(OutFile[ i]!='.'); strcat(OutFile,"tmp");//dat ten cho file se tao ra for (FindPos=3;FindPos>=0;FindPos ) for(FindValue=0;FindValue =0;FindPos ) for(FindValue=0;FindValue =2)//la ma lenh hoac da ket thuc mot dong lenh { fwrite(&t1,1,1,f1); fwrite(&t2,1,1,f1);
- LUÂÄN VĂN TỐT NGHIỆP 89 t1=t; } if(DemSpace==1) { t3=t; fread(&t4,1,1,f); Value1++; fwrite(&t3,1,1,f1); fwrite(&t4,1,1,f1); fwrite(&t1,1,1,f1); fwrite(&t2,1,1,f1); DemSpace=0; do { fread(&t,1,1,f); if(t==' ') DemSpace++; }while((t=='\''||t==' ')&&DemSpace 2) { end_line=1; } }while(end_line==0); }while(Value1<=Value2); fcloseall(); return OutFile; } // int SEND::Out() { int result,Temp; FILE *f; char value; int n,dem=0; int Stop=0; char KyTu_Hex[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E ','F','a','b','c','d','e','f'}; int Gtri_Dec[]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,10,11,12,13,14,15}; if ( (f = fopen(OutFile,"rt")) == NULL) { OutError("Cannot open input file."); return dem; } while(!feof(f)) { do { result=inportb(sta); result=result & 0x80; Stop=Esc(); }while(result !=0x80&&Stop!=1);//doc busy cho toi khi !busy = 1 if(Stop==1) return -1; n=fread(&value,1,1,f);
- LUÂÄN VĂN TỐT NGHIỆP 90 if(n==0) return dem; for(int z=0;z #if !defined __TEXTBOX__ #define __TEXTBOX__ class TEXTBOX { private: int l,t,r,b;
- LUÂÄN VĂN TỐT NGHIỆP 91 int Color,Color1; char S[100],S1[100]; char Dri[100],Path_var[100],Name[100],TenFile[100],SubFile[100]; int chiso; public: TEXTBOX() {S[0]='\0';}//S1="Duong dan";} void InitTextBox(int x1,int y1,int x2,int y2,int color,int color1,char s[]); void Path(); void PressTextBox(); void OutTextBox(); int Left(){return l;} int Top(){return t;} int Right(){return r;} int Bottom(){return b;} void DelChar(int length);//,int xoa);//de xoa ky tu khi gap phim del tai texbox void InsertChar(char c); void GetS(char s[]){strcpy(s,S);}; void GetS_in(char s[]){strcpy(S,s);} int DuongDan(char s[]); void Get_path(char s[]){strcpy(s,Path_var);}; void Get_name(); }; #endif XV.MODULE TEXTBOX.CPP #include #include #include #include #include #include #include #include "textbox.hpp" #include "mouse.h" // void TEXTBOX::InitTextBox(int x1,int y1,int x2,int y2,int color,int color1,char s[]) { char buffer[MAXPATH]; l=x1;t=y1;r=x2;b=y2; Color=color; Color1=color1; strcpy(S1,s); getcwd(buffer, MAXPATH); strcpy(S,buffer); strcat(S,"\\"); } // void TEXTBOX::OutTextBox() { setfillstyle(SOLID_FILL,Color); bar(l,t,r,b); setcolor(WHITE); line(l,b,r,b); line(r,t,r,b); setcolor(BLACK); line(l,t,r,t); line(l,t,l,b);
- LUÂÄN VĂN TỐT NGHIỆP 92 setcolor(WHITE); if(Color==WHITE) setcolor(BLACK); outtextxy(l,t+(b-t-textheight(S))/2-b+t-3,S1); outtextxy(l+5,t+(b-t-textheight(S))/2,S); } // /* void TEXTBOX::PressTextBox() { setcolor(BLACK); line(l,t,r,t); line(l,t,l,b); setcolor(WHITE); line(l,b,r,b); line(r,t,r,b); } */ // void TEXTBOX::Path()//lay duong dan nhap vao vao bien S cua TEXTBOX { char a; int C1=Color1;//C1 la mau cua text trong textbox o che do nhap ten file setcolor(C1); outtextxy(l+5,t+(b-t-textheight(S))/2,S); chiso=0; MouseText(l+textwidth(S)+4,t+(b- t+textheight(S))/2,Color,C1);//,S);//gia dau nhac chuot char stemp[128]; strcpy(stemp,S); while((a=getch())!=13)//&&a!=27)//kiem tra phim Enter { switch(a)//kiem tra ky tu nhap vao { case 0:switch(a=getch()) { case 71://home MouseText(l+6,t+(b-t+textheight(S))/2,Color,C1);//,S); chiso=-strlen(S); break; case 72:break; case 73:break; case 75://left arrow int f=textwidth(S); int xt=l+6+f+( chiso)*8; int yt=t+(b-t+textheight(S))/2; if(xt<l+6) xt=l+6+f+((++chiso))*8; MouseText(xt,yt,Color,C1);//,S);//so 8 la be ngang 1 ky tu break; case 77://right arrow if(chiso==0)break; f=textwidth(S); MouseText(l+f+6+((++chiso))*8,t+(b- t+textheight(S))/2,Color,C1);//,S);//so 8 la be ngang 1 ky tu break; case 79://end f=textwidth(S); MouseText(l+f+6,t+(b-t+textheight(S))/2,Color,C1);//,S); chiso=0; break;
- LUÂÄN VĂN TỐT NGHIỆP 93 case 80: case 81: case 82:break; case 83://del setcolor(GREEN); outtextxy(l+5,t+(b-t-textheight(S))/2,S); DelChar(strlen(S));//,chiso); f=textwidth(S); setcolor(YELLOW); outtextxy(l+5,t+(b-t-textheight(S))/2,S); MouseText(l+f+6+chiso*8,t+(b- t+textheight(S))/2,Color,C1);//,S);//so 8 la be ngang 1 ky tu break; }break; case 8://backspace setcolor(Color); outtextxy(l+5,t+(b-t-textheight(S))/2,S); chiso ; DelChar(strlen(S)); setcolor(C1); outtextxy(l+5,t+(b-t-textheight(S))/2,S); MouseText(l+textwidth(S)+6+chiso*8,t+(b- t+textheight(S))/2,Color,C1);//,S); break; case 27://Esc strcpy(S,stemp);return; default: if(a>=32&&a (r-l))break; setcolor(GREEN); outtextxy(l+5,t+(b-t-textheight(S))/2,S); InsertChar(a); setcolor(C1); outtextxy(l+5,t+(b-t-textheight(S))/2,S); MouseText(l+textwidth(S)+6+chiso*8,t+(b- t+textheight(S))/2,Color,C1);//,S);//so 8 la be ngang 1 ky tu } } MouseText(l+textwidth(S)+6,t+(b- t+textheight(S))/2,Color,C1);//,S);//truong hop phim khong co nhiem vu nao dac biet }; if (S[0]=='\0') strcpy(S,stemp); } // void TEXTBOX::DelChar(int length)//xoa ky tu tai vi tri con tro { int vitri=length+chiso; for(int i=vitri;i length+chiso;i )
- LUÂÄN VĂN TỐT NGHIỆP 94 S[i]=S[i-1]; S[length+1]='\0'; S[i]=c; } // int TEXTBOX::DuongDan(char s[]) { int l=strlen(s),dem,dr; char s1[200]="",s2[200]=""; dem=l-1; if(s[1]==':') switch(toupper(s[0])) { case 'A':dr=1;break; case 'B':dr=2;break; case 'C':dr=3;break; case 'D':dr=4;break; case 'E':dr=5;break; } else dr=_getdrive(); for(int i=l-1;i>0;i ) { if(s[i]=='\\') { dem=i+1; i=0; } else dem=0; } strcat(s2,&s[dem]); if(dem!=0) dem-=1; strncpy(s1,s,dem); strcpy(Path_var,s1); strcpy(Name,s2); return dr; } // void TEXTBOX::Get_name() { int n=strlen(Name); int phan_ten=1; for(int i=0;i i;j ) Name[j]=Name[j-1]; Name[j]='1'; Name[n+1]='\0'; phan_ten=0; } if(i==n) { Name[i]='1'; Name[i+1]='\0'; } } S[0]='\0'; strcat(S,Path_var); strcat(S,"\\"); strcat(S,Name); }
- LUÂÄN VĂN TỐT NGHIỆP 95 C. SỬ DỤNG CHƯƠNG TRÌNH DOWNLOAD. Để sử dụng chương trình DowLoad, trước tiên phải về màn hình Dos (vì chương trình được viết trong môi trương Dos, không quản lý được các chương trình điều khiển thiết bị sẳn có trong máy, thoát về Dos để tránh những xung đột chương trình). Gọi tên Demo.exe, lúc đó màn hình sẽ hiện lên như sau: Để chọn file bằng cách gõ phím, click chuột vào ô Open File. Nút pulldown Ô nhập text Nếu nhắp nút pulldown thì sẽ chọn file theo kiểu click chuột. (hình sau). Chọn ổ đĩa, chọn loại file, chọn tên file và click OK để chọn file.
- LUÂÄN VĂN TỐT NGHIỆP 96 Sau khi chọn xong file thì trong bảng “Free memory request” xuất hiện các địa chỉ đầu cuối, và dung lượng bộ nhớ sẽ sử dụng. Sau đó click Send để gởi dữ liệu đi. Khi quá trình truyền file kết thúc thì xuất hiện thông báo “Task is complete.”