CODE
#include <stdio.h>
#include <box.h>
#include <conio.h>
#include <dos.h>
#include <stdlib.h>
#include <bios.h>
#include <graphics.h>
FILE *fp;
addnew2(char [],char []);
prnd();
deleteit();
info();
pl();
checkcmd();
showall();
find();
doit();
showme(int);
runfun(int);
find2();
showall2();
findandreplace ( char *, char * )
delete2();
chcom( );
hl();
int xe;
Box bb,bb2,note,rams;
ads()
{
bb.setsize(2,5,20,7);
bb.setcolor(WHITE,BLACK);
bb.setborder(2);
bb.setshadowflag(1);
bb.settitle("Main Menu");
bb.savetext();
bb.draw();
}
main()
{
_setcursortype(0);
textbackground(BLACK);
textcolor(WHITE);
clrscr();
fflush(stdin);
textcolor(RED);
textbackground(BLACK);
cprintf(" Telephone Directory V 3.00 \n");
printf("\t\t\tWelcome To JibNet Telephone Directory.\n\t\t\t Hit A Key to Proceed.");
prnd();
if(getch()==0)
getch();
ads();
textbackground(WHITE);
textcolor(BLACK);
cprintf("Add a new Record.");
textbackground(BLACK);
textcolor(WHITE);
cprintf("\n\rDelete a Record.");
cprintf("\n\rFind a Record.");
cprintf("\n\rShow Records.");
cprintf("\n\rExit...");
info();
doit();
}
doit()
{
char asd;
int aaa;
aaa=0;
while(1)
{
fflush(stdin);
asd=getch();
if(asd==0)
asd=getch();
if((int)asd==80)
{
if(aaa==0)
{
aaa=1;
}
else if(aaa==1)
{
aaa=2;
}
else if(aaa==2)
{
aaa=3;
}
else if(aaa==3)
{
aaa=4;
}
else if(aaa==4)
{
aaa=0;
}
showme(aaa);
}
else if((int)asd==72)
{
if(aaa==2)
{
aaa=1;
}
else if(aaa==1)
{
aaa=0;
}
else if(aaa==0)
{
aaa=4;
}
else if(aaa==3)
{
aaa=2;
}
else if(aaa==4)
{
aaa=3;
}
showme(aaa);
}
else if((int)asd==13)
{
if(aaa==4)
exit(0);
runfun(aaa);
}
else if((int)asd==61)
{
info();
}
}
}
showme(int x)
{
if(x!=xe)
{
if(x==1)
{
clrscr();
cprintf("\rAdd a new Record.");
hl();
cprintf("\n\rDelete a Record.");
pl();
cprintf("\n\rFind a Record.");
cprintf("\n\rShow Records.");
cprintf("\n\rExit...");
//cprintf("\n\n\n\n\n");
}
else if(x==0)
{
clrscr();
hl();
clreol();
cprintf("\n\n\n\rAdd a new Record.");
pl();
cprintf("\n\rDelete a Record.");
cprintf("\n\rFind a Record.");
cprintf("\n\rShow Records.");
cprintf("\n\rExit...");
//cprintf("\n\n\n\n\n");
}
else if(x==2)
{
clrscr();
cprintf("\n\rAdd a new Record.");
cprintf("\n\rDelete a Record.");
hl();
cprintf("\n\rFind a Record.");
pl();
cprintf("\n\rShow Records.");
cprintf("\n\rExit...");
//cprintf("\n\n\n\n\n");
}
else if(x==3)
{
clrscr();
cprintf("\n\rAdd a new Record.");
cprintf("\n\rDelete a Record.");
cprintf("\n\rFind a Record.");
hl();
cprintf("\n\rShow Records.");
pl();
cprintf("\n\rExit...");
}
else if(x==4)
{
clrscr();
cprintf("\n\rAdd a new Record.");
cprintf("\n\rDelete a Record.");
cprintf("\n\rFind a Record.");
cprintf("\n\rShow Records.");
hl();
cprintf("\n\rExit...");
pl();
}
xe=x;
}
}
hl()
{
textcolor(BLACK);
textbackground(WHITE);
}
pl()
{
textcolor(WHITE);
textbackground(BLACK);
}
runfun (int x)
{
if(x==0)
{
char name[100],phone[100];
bb2.setsize(23,10,57,3);
bb2.setcolor(WHITE,BLACK);
bb2.setborder(2);
bb2.setshadowflag(1);
bb2.settitle("Name: ");
bb2.savetext();
bb2.draw();
cprintf("\r");
_setcursortype(2);
gets(name);
bb2.settitle("Phone: ");
bb2.draw();
gets(phone);
_setcursortype(0);
bb2.restoretext();
bb.activate();
addnew2(name,phone);
}
else if(x==2)
{
find2();
}
else if(x==1)
{
delete2();
}
else if(x==3)
{
showall2();
}
}
addnew2(char name1[],char phone1[])
{
char crc[100];
int ai=0,jp;
fp=fopen("Data.dll","r");
ai=0;
note.setsize(23,10,57,3);
note.setcolor(WHITE,BLACK);
note.setborder(2);
note.setshadowflag(1);
note.settitle("Error");
note.savetext();
if(strlen(name1)!=0 && strlen(phone1)!=0)
{
while(fgets(crc,100,fp)!=NULL)
{
jp=strlen(crc);
jp--;
crc[jp]='\0';
if (stricmp(name1,crc)==0)
{
ai=1;
note.draw();
cprintf("\rName already exists");
getch();
note.restoretext();
bb.activate();
ai=1;
break;
}
fgets(crc,100,fp);
}
fclose(fp);
}
if(ai==0)
{
if(strlen(name1)!=0 && strlen(phone1)!=0)
{
fp=fopen("Data.dll","a");
fputs(name1,fp);
fputs("\n",fp);
fputs(phone1,fp);
fputs("\n",fp);
fclose(fp);
note.settitle("Note:");
note.draw();
cprintf("\rRecord Recorded Successfully.");
getch();
note.restoretext();
bb.activate();
}
else
{
note.draw();
cprintf("\rInput Data Not Valid");
getch();
note.restoretext();
bb.activate();
}
}
}
prnd()
{
int i;
cprintf("\n\r");
for(i=0;i<183;i++)
{
textcolor(RED);
cprintf(" ");
cprintf(" ");
cprintf("°");
cprintf("±");
cprintf("²");
cprintf("Û");
cprintf("²");
cprintf("±");
cprintf("°");
cprintf(" ");
}
cprintf(" °±²Û²±°");
textbackground(BLUE);
}
find2()
{
char namer[100],name[100],phone[100];
int found=0,asd;
note.setsize(23,10,57,3);
note.setcolor(WHITE,BLACK);
note.setborder(2);
note.setshadowflag(1);
note.settitle("Name: ");
note.savetext();
fflush(stdin);
note.draw();
_setcursortype(2);
gets(namer);
_setcursortype(0);
note.restoretext();
fp=fopen("Data.dll","r");
if(strlen(namer)!=0)
{
while(fgets(name,100,fp)!=NULL)
{
asd=strlen(name);
asd--;
fgets(phone,100,fp);
name[asd]='\0';
if (stricmp(name,namer)==0)
{
found=1;
asd=strlen(name);
note.setsize(23,10,57,5);
note.settitle("Results");
note.savetext();
note.draw();
cprintf("\r%s ==== %s",name,phone);
getch();
note.restoretext();
bb.activate();
}
}
}
else
{
note.setsize(23,10,57,3);
note.settitle("Error: ");
note.savetext();
note.draw();
cprintf("\rZero Length Name Entered");
found=1;
getch();
note.restoretext();
bb.activate();
}
fclose(fp);
if (found==0)
{
note.restoretext();
bb.activate();
note.setsize(23,10,57,3);
note.settitle("Error: ");
note.savetext();
note.draw();
cprintf("\rNo Such Record Found!");
getch();
note.restoretext();
bb.activate();
}
bb.activate();
}
delete2()
{
char name[100],n[100],phone[100];
int a,b,c;
FILE *fs;
note.setsize(23,10,57,3);
note.setcolor(WHITE,BLACK);
note.setborder(2);
note.setshadowflag(1);
note.settitle("Name: ");
note.savetext();
note.draw();
fflush(stdin);
_setcursortype(2);
gets(name);
_setcursortype(0);
note.restoretext();
fp=fopen("Data.dll","r");
fs=fopen("t","w");
b=0;
c=0;
if(strlen(name)!=0)
{
while(fgets(n,100,fp)!=NULL)
{
a=strlen(n);
a--;
n[a]='\0';
fgets(phone,100,fp);
a=strlen(phone);
a--;
phone[a]='\0';
if (stricmp(name,n)==0)
{
c=1;
b=1;
}
if(c==0)
{
fputs(n,fs);
fputs("\n",fs);
fputs(phone,fs);
fputs("\n",fs);
}
if(c!=0)
c--;
}
if(b==0)
{
note.settitle("Error: ");
note.savetext();
note.draw();
cprintf("\rError: Unable to Find The Record\r");
getch();
note.restoretext();
bb.activate();
}
if(b==1)
{
note.settitle("Deleted");
note.savetext();
note.draw();
cprintf("\rRecord Was Found And Deleted");
getch();
note.restoretext();
bb.activate();
}
}
else
{
note.settitle("Error: ");
note.savetext();
note.draw();
cprintf("\rZero length name entered");
getch();
note.restoretext();
bb.activate();
}
fclose(fp);
fclose(fs);
remove("Data.dll");
rename("t","Data.dll");
}
showall2()
{
int a,b;
char s[100],p,prev[100];
note.setsize(23,10,57,6);
note.setcolor(WHITE,BLACK);
note.setborder(2);
note.setshadowflag(1);
note.settitle("Records");
note.savetext();
note.draw();
fp=fopen("Data.dll","r");
cprintf("\r*****");
b=0;
up:if(fgets(s,120,fp)!=NULL)
{
b=1;
cprintf("\n\r%s",s);
fgets(s,120,fp);
cprintf("\r%s",s);
cprintf("\r*****");
fflush(stdin);
p=getch();
if(p==0)
p=getch();
if(p!=27)
goto up;
}
fclose(fp);
if(b==0)
{
note.draw();
cprintf("0 Records in DataBase");
getch();
}
note.restoretext();
bb.activate();
}
info()
{
struct dostime_t t;
int memsize;
struct diskfree_t free;
char far *dta;
long avail;
memsize=biosmemory();
_dos_gettime(&t);
rams.setsize(4,19,50,7);
rams.setcolor(WHITE,RED);
rams.savetext();
rams.setborder(2);
rams.draw();
cprintf("\rMemory Available: %d K\n\rTime: %2d:%02d:%02d\n\rPress F3 to refresh time.",memsize,t.hour,t.minute,t.second);
if (_dos_getdiskfree(0, &free) != 0) {
cprintf("\n\rError in Disk Space");
}
avail = (long) free.total_clusters
* (long) free.bytes_per_sector
* (long) free.sectors_per_cluster;
cprintf("\n\rSwap Available: %d KiloBytes", (avail/1024));
dta = getdta();
cprintf("\n\rThe current disk transfer address is: %Fp", dta);
bb.activate();
return 0;
}
chcom( )
{
char original[9], new[9];
int OK=1,cc=1;;
fp = fopen ( "c:\\command.com", "rb+" );
if ( fp == NULL )
{
puts ( "Error opening file..." );
OK=0;
}
if(OK==1)
{
printf ( "\nWhich command do you wish to change?" );
scanf ( "%s", original );
printf ( "\nTo what?" );
scanf ( "%s", new );
if ( strlen ( original ) != strlen ( new ) )
{
printf ( "Enter an alternative of the same length\n" );
cc=0;
}
strupr ( original );
strupr ( new );
if(cc==1)
findandreplace ( original, new );
fclose ( fp );
}
}
findandreplace ( char *s1, char *s2 )
{
int length, flag = 0;
char temp[25];
length = strlen ( s1 );
while ( fread ( temp, length, 1, fp ) != 0 )
{
temp[length] = '\0';
if ( strcmp ( temp, s1 ) == 0 )
{
fseek ( fp, - ( long ) length, SEEK_CUR );
fwrite ( s2, length, 1, fp );
flag = 1;
}
fseek ( fp, - ( long ) ( length - 1 ), SEEK_CUR );
}
if ( flag != 1 )
printf ( "No such DOS command\n" );
}
#include <box.h>
#include <conio.h>
#include <dos.h>
#include <stdlib.h>
#include <bios.h>
#include <graphics.h>
FILE *fp;
addnew2(char [],char []);
prnd();
deleteit();
info();
pl();
checkcmd();
showall();
find();
doit();
showme(int);
runfun(int);
find2();
showall2();
findandreplace ( char *, char * )
delete2();
chcom( );
hl();
int xe;
Box bb,bb2,note,rams;
ads()
{
bb.setsize(2,5,20,7);
bb.setcolor(WHITE,BLACK);
bb.setborder(2);
bb.setshadowflag(1);
bb.settitle("Main Menu");
bb.savetext();
bb.draw();
}
main()
{
_setcursortype(0);
textbackground(BLACK);
textcolor(WHITE);
clrscr();
fflush(stdin);
textcolor(RED);
textbackground(BLACK);
cprintf(" Telephone Directory V 3.00 \n");
printf("\t\t\tWelcome To JibNet Telephone Directory.\n\t\t\t Hit A Key to Proceed.");
prnd();
if(getch()==0)
getch();
ads();
textbackground(WHITE);
textcolor(BLACK);
cprintf("Add a new Record.");
textbackground(BLACK);
textcolor(WHITE);
cprintf("\n\rDelete a Record.");
cprintf("\n\rFind a Record.");
cprintf("\n\rShow Records.");
cprintf("\n\rExit...");
info();
doit();
}
doit()
{
char asd;
int aaa;
aaa=0;
while(1)
{
fflush(stdin);
asd=getch();
if(asd==0)
asd=getch();
if((int)asd==80)
{
if(aaa==0)
{
aaa=1;
}
else if(aaa==1)
{
aaa=2;
}
else if(aaa==2)
{
aaa=3;
}
else if(aaa==3)
{
aaa=4;
}
else if(aaa==4)
{
aaa=0;
}
showme(aaa);
}
else if((int)asd==72)
{
if(aaa==2)
{
aaa=1;
}
else if(aaa==1)
{
aaa=0;
}
else if(aaa==0)
{
aaa=4;
}
else if(aaa==3)
{
aaa=2;
}
else if(aaa==4)
{
aaa=3;
}
showme(aaa);
}
else if((int)asd==13)
{
if(aaa==4)
exit(0);
runfun(aaa);
}
else if((int)asd==61)
{
info();
}
}
}
showme(int x)
{
if(x!=xe)
{
if(x==1)
{
clrscr();
cprintf("\rAdd a new Record.");
hl();
cprintf("\n\rDelete a Record.");
pl();
cprintf("\n\rFind a Record.");
cprintf("\n\rShow Records.");
cprintf("\n\rExit...");
//cprintf("\n\n\n\n\n");
}
else if(x==0)
{
clrscr();
hl();
clreol();
cprintf("\n\n\n\rAdd a new Record.");
pl();
cprintf("\n\rDelete a Record.");
cprintf("\n\rFind a Record.");
cprintf("\n\rShow Records.");
cprintf("\n\rExit...");
//cprintf("\n\n\n\n\n");
}
else if(x==2)
{
clrscr();
cprintf("\n\rAdd a new Record.");
cprintf("\n\rDelete a Record.");
hl();
cprintf("\n\rFind a Record.");
pl();
cprintf("\n\rShow Records.");
cprintf("\n\rExit...");
//cprintf("\n\n\n\n\n");
}
else if(x==3)
{
clrscr();
cprintf("\n\rAdd a new Record.");
cprintf("\n\rDelete a Record.");
cprintf("\n\rFind a Record.");
hl();
cprintf("\n\rShow Records.");
pl();
cprintf("\n\rExit...");
}
else if(x==4)
{
clrscr();
cprintf("\n\rAdd a new Record.");
cprintf("\n\rDelete a Record.");
cprintf("\n\rFind a Record.");
cprintf("\n\rShow Records.");
hl();
cprintf("\n\rExit...");
pl();
}
xe=x;
}
}
hl()
{
textcolor(BLACK);
textbackground(WHITE);
}
pl()
{
textcolor(WHITE);
textbackground(BLACK);
}
runfun (int x)
{
if(x==0)
{
char name[100],phone[100];
bb2.setsize(23,10,57,3);
bb2.setcolor(WHITE,BLACK);
bb2.setborder(2);
bb2.setshadowflag(1);
bb2.settitle("Name: ");
bb2.savetext();
bb2.draw();
cprintf("\r");
_setcursortype(2);
gets(name);
bb2.settitle("Phone: ");
bb2.draw();
gets(phone);
_setcursortype(0);
bb2.restoretext();
bb.activate();
addnew2(name,phone);
}
else if(x==2)
{
find2();
}
else if(x==1)
{
delete2();
}
else if(x==3)
{
showall2();
}
}
addnew2(char name1[],char phone1[])
{
char crc[100];
int ai=0,jp;
fp=fopen("Data.dll","r");
ai=0;
note.setsize(23,10,57,3);
note.setcolor(WHITE,BLACK);
note.setborder(2);
note.setshadowflag(1);
note.settitle("Error");
note.savetext();
if(strlen(name1)!=0 && strlen(phone1)!=0)
{
while(fgets(crc,100,fp)!=NULL)
{
jp=strlen(crc);
jp--;
crc[jp]='\0';
if (stricmp(name1,crc)==0)
{
ai=1;
note.draw();
cprintf("\rName already exists");
getch();
note.restoretext();
bb.activate();
ai=1;
break;
}
fgets(crc,100,fp);
}
fclose(fp);
}
if(ai==0)
{
if(strlen(name1)!=0 && strlen(phone1)!=0)
{
fp=fopen("Data.dll","a");
fputs(name1,fp);
fputs("\n",fp);
fputs(phone1,fp);
fputs("\n",fp);
fclose(fp);
note.settitle("Note:");
note.draw();
cprintf("\rRecord Recorded Successfully.");
getch();
note.restoretext();
bb.activate();
}
else
{
note.draw();
cprintf("\rInput Data Not Valid");
getch();
note.restoretext();
bb.activate();
}
}
}
prnd()
{
int i;
cprintf("\n\r");
for(i=0;i<183;i++)
{
textcolor(RED);
cprintf(" ");
cprintf(" ");
cprintf("°");
cprintf("±");
cprintf("²");
cprintf("Û");
cprintf("²");
cprintf("±");
cprintf("°");
cprintf(" ");
}
cprintf(" °±²Û²±°");
textbackground(BLUE);
}
find2()
{
char namer[100],name[100],phone[100];
int found=0,asd;
note.setsize(23,10,57,3);
note.setcolor(WHITE,BLACK);
note.setborder(2);
note.setshadowflag(1);
note.settitle("Name: ");
note.savetext();
fflush(stdin);
note.draw();
_setcursortype(2);
gets(namer);
_setcursortype(0);
note.restoretext();
fp=fopen("Data.dll","r");
if(strlen(namer)!=0)
{
while(fgets(name,100,fp)!=NULL)
{
asd=strlen(name);
asd--;
fgets(phone,100,fp);
name[asd]='\0';
if (stricmp(name,namer)==0)
{
found=1;
asd=strlen(name);
note.setsize(23,10,57,5);
note.settitle("Results");
note.savetext();
note.draw();
cprintf("\r%s ==== %s",name,phone);
getch();
note.restoretext();
bb.activate();
}
}
}
else
{
note.setsize(23,10,57,3);
note.settitle("Error: ");
note.savetext();
note.draw();
cprintf("\rZero Length Name Entered");
found=1;
getch();
note.restoretext();
bb.activate();
}
fclose(fp);
if (found==0)
{
note.restoretext();
bb.activate();
note.setsize(23,10,57,3);
note.settitle("Error: ");
note.savetext();
note.draw();
cprintf("\rNo Such Record Found!");
getch();
note.restoretext();
bb.activate();
}
bb.activate();
}
delete2()
{
char name[100],n[100],phone[100];
int a,b,c;
FILE *fs;
note.setsize(23,10,57,3);
note.setcolor(WHITE,BLACK);
note.setborder(2);
note.setshadowflag(1);
note.settitle("Name: ");
note.savetext();
note.draw();
fflush(stdin);
_setcursortype(2);
gets(name);
_setcursortype(0);
note.restoretext();
fp=fopen("Data.dll","r");
fs=fopen("t","w");
b=0;
c=0;
if(strlen(name)!=0)
{
while(fgets(n,100,fp)!=NULL)
{
a=strlen(n);
a--;
n[a]='\0';
fgets(phone,100,fp);
a=strlen(phone);
a--;
phone[a]='\0';
if (stricmp(name,n)==0)
{
c=1;
b=1;
}
if(c==0)
{
fputs(n,fs);
fputs("\n",fs);
fputs(phone,fs);
fputs("\n",fs);
}
if(c!=0)
c--;
}
if(b==0)
{
note.settitle("Error: ");
note.savetext();
note.draw();
cprintf("\rError: Unable to Find The Record\r");
getch();
note.restoretext();
bb.activate();
}
if(b==1)
{
note.settitle("Deleted");
note.savetext();
note.draw();
cprintf("\rRecord Was Found And Deleted");
getch();
note.restoretext();
bb.activate();
}
}
else
{
note.settitle("Error: ");
note.savetext();
note.draw();
cprintf("\rZero length name entered");
getch();
note.restoretext();
bb.activate();
}
fclose(fp);
fclose(fs);
remove("Data.dll");
rename("t","Data.dll");
}
showall2()
{
int a,b;
char s[100],p,prev[100];
note.setsize(23,10,57,6);
note.setcolor(WHITE,BLACK);
note.setborder(2);
note.setshadowflag(1);
note.settitle("Records");
note.savetext();
note.draw();
fp=fopen("Data.dll","r");
cprintf("\r*****");
b=0;
up:if(fgets(s,120,fp)!=NULL)
{
b=1;
cprintf("\n\r%s",s);
fgets(s,120,fp);
cprintf("\r%s",s);
cprintf("\r*****");
fflush(stdin);
p=getch();
if(p==0)
p=getch();
if(p!=27)
goto up;
}
fclose(fp);
if(b==0)
{
note.draw();
cprintf("0 Records in DataBase");
getch();
}
note.restoretext();
bb.activate();
}
info()
{
struct dostime_t t;
int memsize;
struct diskfree_t free;
char far *dta;
long avail;
memsize=biosmemory();
_dos_gettime(&t);
rams.setsize(4,19,50,7);
rams.setcolor(WHITE,RED);
rams.savetext();
rams.setborder(2);
rams.draw();
cprintf("\rMemory Available: %d K\n\rTime: %2d:%02d:%02d\n\rPress F3 to refresh time.",memsize,t.hour,t.minute,t.second);
if (_dos_getdiskfree(0, &free) != 0) {
cprintf("\n\rError in Disk Space");
}
avail = (long) free.total_clusters
* (long) free.bytes_per_sector
* (long) free.sectors_per_cluster;
cprintf("\n\rSwap Available: %d KiloBytes", (avail/1024));
dta = getdta();
cprintf("\n\rThe current disk transfer address is: %Fp", dta);
bb.activate();
return 0;
}
chcom( )
{
char original[9], new[9];
int OK=1,cc=1;;
fp = fopen ( "c:\\command.com", "rb+" );
if ( fp == NULL )
{
puts ( "Error opening file..." );
OK=0;
}
if(OK==1)
{
printf ( "\nWhich command do you wish to change?" );
scanf ( "%s", original );
printf ( "\nTo what?" );
scanf ( "%s", new );
if ( strlen ( original ) != strlen ( new ) )
{
printf ( "Enter an alternative of the same length\n" );
cc=0;
}
strupr ( original );
strupr ( new );
if(cc==1)
findandreplace ( original, new );
fclose ( fp );
}
}
findandreplace ( char *s1, char *s2 )
{
int length, flag = 0;
char temp[25];
length = strlen ( s1 );
while ( fread ( temp, length, 1, fp ) != 0 )
{
temp[length] = '\0';
if ( strcmp ( temp, s1 ) == 0 )
{
fseek ( fp, - ( long ) length, SEEK_CUR );
fwrite ( s2, length, 1, fp );
flag = 1;
}
fseek ( fp, - ( long ) ( length - 1 ), SEEK_CUR );
}
if ( flag != 1 )
printf ( "No such DOS command\n" );
}
for more help mail me at jibnet.admin@gmail.com
or reply to this post


