C语言编程技巧汇萃

2008-02-23 05:06:14来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

/*显示警告窗口*/
void warn_message(char *s1,char *s2)
{
char buffer[2000];
gettext(30,8,76,16,buffer);
CLSXY(8,32,9,30,6);
CLSXY(4,30,8,30,6);
COLOR(15,4);
gotoxy(35,10);
DISPLAY(s1);
gotoxy(35,12);
DISPLAY(s2);
gotoxy(40,13);
DISPLAY("按任意键继续...");
getch();
puttext(30,8,76,16,buffer);
}

/*得到文档长度*/
long GetFileLength(char *file)
{
FILE *fp;
int i;
if ((fp=fopen(file,"rb"))==NULL)
{
clrscr();
printf("Can't open the file %s .",file);
return 0;
}
i=0;
while(!feof(fp))
{
i ;
fgetc(fp);
}
fclose(fp);
return (i-1);
}

/*窗口滚屏*/
void WINDOW_ROLL(int y1,int x1,int yl,int xl,int direct)
{
union REGS regs;
int x2,y2;
x1--;
y1--;
x2=x1 xl-1;
y2=y1 yl-1;
regs.h.ah=5 direct; /*ah=06h 向上滚动当前页*/
/*ah=07h 向下。。。 */
regs.h.al=1;
regs.h.bh=16*pmbj pmqj;
regs.h.ch=y1; /*左上角行*/
regs.h.cl=x1; /*列*/
regs.h.dh=y2; /*右下角行*/
regs.h.dl=x2; /*列*/
int86(16,?s,?s);
}

/*扫描键盘*/
int scan_keyboard(int *m)
{
union inkey
{
unsigned char ch[2];
int ii;
}cc;
while(!bioskey(1))
{;}
cc.ii=bioskey(0);
*m=cc.ch[1];
return cc.ch[0];
}

/*插入字符串*/
void INSERT_STRING(char *ds,char *ss,int n)
{
char s[100];
MID(ds,s,n,-1);
ds[n-1]=0;
strcat(ds,ss);
strcat(ds,s);
}
void STR_ADD_CHAR(char *s,char ch)
{
char s1[2];
s1[0]=ch;
s1[1]=0;
strcat(s,s1);
}

/*检测磁盘是否准备就绪*/
int CheckDiskReading(int n)
{
int result;
char buffer[512];
result=biosdisk(4,n,0,0,0,1,buffer);
result=result&0x02;
if (result!=0x02) return 0;
return 1;
}

/*检测磁盘是否写保护*/
int CheckDiskWriteProf(void)
{
int result;
char buffer[512];
result=biosdisk(5,0,0,0,0,1,buffer);
if (result==0x03) return 0;
return 1;
}

/*修改文档的某一行*/
int ModifyFileLine(char *filename,char *s,int n)
{
char data[20][80];
int i;
FILE *fp;
if ((fp=fopen(filename,"r"))==NULL) return 0;
i=0;
while(READ_STR(data[i],fp))
i ;
fclose(fp);
fp=fopen(filename,"w");
strcpy(data[n-1],s);
n=i-1;
for(i=0;i<=n;i )
WRITE_STR(data[i],fp);
fclose(fp);
return 1;
}

/*成批拷贝文档*/
int CopyFile(char *sfile,char *dfile,int f2d,int barlong,int height,int x,int y)
{
int Copyfile(char *sf,char *df);
int MakeNdir(char *Dir);
char filename[200][13],d[40],s[40],s1[40];
struct ffblk ffblk;
int done,i,j,l,len;
i=0;
done=findfirst(sfile,&ffblk,0);
if (!done) strcpy(filename[i],ffblk.ff_name);
while(!done)
{
done=findnext(&ffblk);
if (!done)
{
i ;
strcpy(filename[i],ffblk.ff_name);
}
}
if (f2d)
{
Copyfile(sfile,dfile);
return 1;
}
strcpy(s,sfile);
l=strlen(sfile);
for(j=l-1;j>=0;j--)
if (s[j]=='\\')
{
s[j 1]=0;
break;
}



[1] [2] 下一页

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: C/C 头文档一览

下一篇: C语言创建自己的设备(一个最最简单的例子)

热门词条
热门标签