Notepad

Code Id 43
Date Updated 11/7/2010
Title Notepad  
Description
Simple Note pad application 
                                  
Codes Snippet
/*Title: Notepad*/
/*This is simple Note pad application*/

#include
#include
#include   // for various functions of strings like gets or puts
#include   // for files
#include
#include
#include
void starting();
void typing();
void openfile(char *);
void newfile(char *);
void print(char i[],int x,int y);

char ch ;
char s[20];
char xs[20];
char ys[20];

void main()
{
        clrscr();
        textmode(BW40);
        print(" MY NOTEPAD ",3,14);
        print(" Presented",6,14);
        print(" By ",7,17);
        print(" Zahid Ashfaq",8,13);

        textmode(BW80);
        starting();
        typing();
        getch();
}

 void starting()
 {   
         textcolor(1);
     textbackground(WHITE);

        clrscr();
    for(int i=0 ;i<45;i++)
    {
                if(i==0||i==44)
                        cout<<"||";
                else if(i==4)
                        cout<<" ctrl+O(Open file)";
                else if(i==24)
                        cout<<" ctrl+n(New file)";
                else
                        cout<<"=";
        }
        gotoxy(80,24);  
        cout<<endl;
        for( i=0 ;i<37;i++)
        {
                if(i==0||i==47)
                        cout<<"||";
        else if(i==4)
            cout<<" ctrl+s(save file)";
                else if(i==16)
                        cout<<" ctrl+k(Help)";
                else if(i==26)
                        cout<<"ctrl+q(Quit)";
                else
                        cout<<"=";
        }
}


void typing()
{  
        int i=0;
    char *p=new char[2000];
        step1 :  int row=2 ,col=1;
        while(ch!=19)
        {
                gotoxy(col,row);
                step2:  if(col==79)
                                {
                                        col=1;row++;
                                }
                                else if (row==24)
                                        goto step1;
                                int a;
                                ch=getch();
                                if(ch == 0)
                                ch = getch();
                                a=ch;  // To convert character to its ascii code
                                switch(a)
                                {
                                        case 13 : 
                                                row=row++;col=1;      // case for press enter for next line
                                                gotoxy(col,row);
                                                ch='n';
                                                break;
                                        
                                        case 8 :
                                                if(col==1)           // case for backspace
                                                {
                                                        row--;col=78;
                                                }
                                                else
                                                {
                                                        col--;
                                                        cout<<"  ";
                                                        i--;
                                                }
                                                continue;
                                        
                                        case 9 :    
                                                col=col+8;           // case for tab function
                                                if(col>79)
                                                {
                                                        row++;col=col-79;
                                                }
                                                continue;
        
                                        case 72 : 
                                                row--;              //upper arrow key
                                                continue;

                                        case 77 : 
                                                col++; 
                                                continue;     //right arrow key

                                        case 75 : 
                                                col--; 
                                                continue;    //left arrow key

                                        case 80 :                     //down arrow key
                                                row++;
                                                continue;

                                        case 14 :   
                                                clrscr();       //to creat new file ctrl+n
                                                cout<<"Enter File`s Path ";
                                                gets(s);
                                                newfile(s);
                                                starting();
                                                break;

                                        case 15 :     
                                                clrscr();   //to open existing file  ctrl+o
                                                cout<<"Enter file`s path to be open :" ;
                                                gets(xs);
                                                starting();
                                                openfile(xs);
                                                continue;
        
                                        case 11 :     
                                                clrscr();
                                                gotoxy(20,3);
                                                cout<<"~`~`~`~`~  HELP PORTION  ~`~`~`~`~";
                                                gotoxy(20,4);
                                                cout<<"Following Are the Keys Used in My-Note PAD : ";
                                                int za=10;
                                                for(int i=0;i<46 ;i++ )
                                                {
                                                        gotoxy(za,5);
                                                        cout<<"=";za++;}
                                                        za=6;
                                                        for(i=0;i<15;i++)
                                                        {
                                                                gotoxy(10,za);
                                                                cout<<"|"<<endl;
                                                                za++;
                                                        }
                                                        za=10;
                                                        for( i=0;i<46 ;i++ )
                                                        {
                                                                gotoxy(za,21);
                                                                cout<<"=";
                                                                za++;
                                                        }
                                                        za=6;
                                                        for(i=0;i<15;i++)
                                                        {
                                                                gotoxy(56,za);
                                                                cout<<"|"<<endl;
                                                                za++;
                                                        }
                                                        gotoxy(13,6);
                                                        cout<<" 1-To Open File Press  ( ctrl + o ) ";
                                                        gotoxy(13,8);
                                                        cout<<" 2-To create New File Press(ctrl+n) " ;
                                                        gotoxy(13,10);
                                                        cout<<" 3-MOve Arrow keys (up,down,right,left)" ;
                                                        gotoxy(13,12);
                                                        cout<<" 4-Back Space ";
                                                        gotoxy(13,14);
                                                        cout<<" 5-Save File(ctrl+s)";
                                                        gotoxy(13,16);
                                                        cout<<" 6-Enter For new line ";
                                                        gotoxy(13,18);
                                                        cout<<" 7-Enter ctrl+q(Quit)";

                                                        gotoxy(13,20);
                                                        cout<<"Press any key to Go back " ;

                                                        getch();
                                                        clrscr();
                                                        starting();
                                                        continue;
                                        case 17 :       
                                                        clrscr();
                                                        gotoxy(24,6);
                                                        cout<<"Thank You For using PIcs-soft Word ";
                                                        cout<<endl;
                                                        gotoxy(24,8);
                                                        cout<<"Have A NIce Time ";
                                                        getch();
                                                        exit(0);
                                }
                                cout<<ch;
                                p[i]=ch;
                                col++; 
                                i++;

                                p[i]='';
                        }
                        clrscr();
                        cout<<"enter path where you want to save the file ";
                        gets(ys);  
                        int j=0;
                        ofstream f1(ys,ios::out);
                        while(p[j]!='')
                        {
                                f1.write((char*)&p[j],sizeof(p[j]));
                                j++;
                        }
                        f1.close();
                        delete [] p;
                        exit(0);
}

void newfile(char *s)
{
   ofstream file(s,ios::out);
   file.close();
}

void openfile(char *xs)
{ 
        char ch;  int col=3,row=2;
        gotoxy(col,row);
        ifstream file(xs,ios::in);
        while( file.read((char*)&ch,sizeof(ch)))
         cout<<ch;
        file.close();
}


void print(char i[],int x,int y)
{
        char far* ptr=(char far*) 0xB8000000+(160*x)+(2*y) ;
        for(int a=0; i[a]!=''; a++)
        {
                *ptr=i[a];
                *(ptr+1)=16;
                ptr=ptr+2;
                delay(250);
        }
        ptr=ptr+2;
}




Comments are closed.