//dia.h #include #include #include #include #include #include typedef struct file { char name[10]; } file; void *screen_ptr; file getfile(); int getInt(); void getScreen(int x,int y,int w,int h) { int size = imagesize(x,y,x+w,y+h); screen_ptr = malloc(size); getimage(x,y,x+w,y+h,screen_ptr); } void restoreScreen(int x,int y) { putimage(x,y,screen_ptr,0); free(screen_ptr); } file getfile() { char array[10]; int count=0; int h=30,w=225; int x=(getmaxx()-w)/2; int y=(getmaxy()-h)/2; file f; getScreen(x,y,w,h); setcolor(BLUE); rectangle(x,y,x+w,y+h); setfillstyle(1,0); bar(x+1,y+1,x+w-1,y+h-1); setcolor(RED); outtextxy(x+10,y+10,"Enter File Name:-"); setcolor(BROWN); int curx=x+15+textwidth("Enter File Name:-"); int cury=y+10; char cstr[2]; cstr[1]='\0'; line(curx+1,cury-1,curx+1,cury+7); while(1) { char c=getch(); if (c==13) break; if (c==27) { array[0]='\0';break;} if (c==32) continue; if (c==8) { if (count>0) { setcolor(0); line(curx+1,cury-1,curx+1,cury+7); cstr[0]=array[count-1]; curx-=textwidth(cstr); outtextxy(curx,cury,cstr); count--; setcolor(BROWN); line(curx+1,cury-1,curx+1,cury+7); } } else if (count<8) { setcolor(0); line(curx+1,cury-1,curx+1,cury+7); setcolor(BROWN); cstr[0]=c; outtextxy(curx,cury,cstr); curx+=textwidth(cstr); line(curx+1,cury-1,curx+1,cury+7); array[count]=c; count++; } } array[count]='\0'; restoreScreen(x,y); strcpy(f.name,array); return(f); } int getInt() { char array[10]; int count=0; int h=30,w=250; int x=(getmaxx()-w)/2; int y=(getmaxy()-h)/2; getScreen(x,y,w,h); setcolor(BLUE); rectangle(x,y,x+w,y+h); setfillstyle(1,0); bar(x+1,y+1,x+w-1,y+h-1); setcolor(RED); outtextxy(x+10,y+10,"Enter Number of Inputs:-"); setcolor(BROWN); int curx=x+15+textwidth("Enter Number of Inputs:-"); int cury=y+10; char cstr[2]; cstr[1]='\0'; line(curx+1,cury-1,curx+1,cury+7); while(1) { char c=getch(); if (c==13) break; if (c==27) { array[0]='\0';break;} if (c==32) continue; if ((c<'0')||(c>'9')) continue; if (c==8) { if (count>0) { setcolor(0); line(curx+1,cury-1,curx+1,cury+7); cstr[0]=array[count-1]; curx-=textwidth(cstr); outtextxy(curx,cury,cstr); count--; setcolor(BROWN); line(curx+1,cury-1,curx+1,cury+7); } } else if (count<4) { setcolor(0); line(curx+1,cury-1,curx+1,cury+7); setcolor(BROWN); cstr[0]=c; outtextxy(curx,cury,cstr); curx+=textwidth(cstr); line(curx+1,cury-1,curx+1,cury+7); array[count]=c; count++; } } array[count]='\0'; restoreScreen(x,y); return(atoi(array)); } void dia(char str[]) { int h=textheight(str)+20; int w=textwidth(str)+20; int x=(getmaxx()-w)/2; int y=(getmaxy()-h)/2; getScreen(x,y,w,h); setcolor(BLUE); rectangle(x,y,x+w,y+h); setfillstyle(1,0); bar(x+1,y+1,x+w-1,y+h-1); setcolor(RED); outtextxy(x+10,y+10,str); getch(); restoreScreen(x,y); }