LUAÂÄN VAÊN TOÁT NGHIEÄ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<3);//con la lenh hoac dia
chi hay da cham dut mot lenh
if(DemSpace==2)
t1=t;
}
if(DemSpace>2)
{
end_line=1;
}
}while(end_line==0);
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);
LUAÂÄN VAÊN TOÁT NGHIEÄP
90
if(n==0)
return dem;
for(int z=0;z<22;z++)//doi ky tu ra gia tri Dec de goi di
if(value==KyTu_Hex[z])//nible cao
{
Temp=Gtri_Dec[z]*16;
z=22;
}
fread(&value,1,1,f);
for(z=0;z<22;z++)//nible thap
if(value==KyTu_Hex[z])
{
Temp=Gtri_Dec[z]+Temp;
z=22;
}
outportb(data,Temp);//pow(2,i));//xuat du lieu ra thanh ghi du
lieu
outportb(ctr,0x00);// cho strobe = 1 de bao cho phan thu biet da
goi du lieu ra thanh ghi du lieu
dem++;
return 1;
}
return 0;
}
XIV.CLASS TEXTBOX.HPP
#include <string.h>
#if !defined __TEXTBOX__
#define __TEXTBOX__
class TEXTBOX
{
private:
int l,t,r,b;
LUAÂÄN VAÊN TOÁT NGHIEÄ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;}
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);
LUAÂÄN VAÊN TOÁT NGHIEÄ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);
}
{
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;
LUAÂÄN VAÊN TOÁT NGHIEÄP
93
if((strlen(S)+2)*8>(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-1;i++)
S[i]=S[i+1];
if(chiso<0)
{
S[length-1]='\0';
chiso++;
}
}
//
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<=n&&phan_ten;i++)
{
if(Name[i]=='.'&&i<n)
{
for(int j=n;j>i;j )
Name[j]=Name[j-1];
Name[j]='1';
Name[n+1]='\0';
phan_ten=0;
}
Nút pulldown
Ô nhập text
LUÂÄN VĂN TỐT NGHIỆP
96Sau 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.”