<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8648282429773069510</id><updated>2024-09-04T14:34:00.025-07:00</updated><category term="c"/><category term="c programs"/><category term="c programs free download"/><category term="cpp"/><category term="sample c programs"/><category term="texediotr using c"/><title type='text'>my c programs</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://cpp4students.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8648282429773069510/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://cpp4students.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8648282429773069510.post-711226164633999733</id><published>2011-07-06T02:54:00.000-07:00</published><updated>2011-07-06T03:16:06.769-07:00</updated><title type='text'>what will be the facebook&#39;s awsomes product</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLRfyVaRFYe1GzDXQZz_f4_I3eBqbO0PRShJmFj-mOnNJj0g5-nRBot7mxNaWq8K7U7Nwf2lR9oKeNjrMftKlf7EMNR4C6xZZyYCKsDIYzIy-HcNnKTxJ3DQdkbBY7NWTQn8-OLqcdcd47/s1600/Facebook-Logo.png&quot;&gt;&lt;img style=&quot;float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 320px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLRfyVaRFYe1GzDXQZz_f4_I3eBqbO0PRShJmFj-mOnNJj0g5-nRBot7mxNaWq8K7U7Nwf2lR9oKeNjrMftKlf7EMNR4C6xZZyYCKsDIYzIy-HcNnKTxJ3DQdkbBY7NWTQn8-OLqcdcd47/s320/Facebook-Logo.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5626177522941971602&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 102, 255);font-size:130%;&quot; &gt;can &lt;/span&gt;&lt;span style=&quot;color: rgb(51, 102, 255);&quot;&gt;you guess what would be the facebook&#39;s awsome product....it could be the most awaiting  video chat feature.. several technology sites already made prediction that services like skype will launch today on facebook.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 102, 255);&quot;&gt;you can view the live product launching on facebook todady 6pm/gmt from facebook HQ...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 102, 255);&quot;&gt;so far more than 80000 people joined the feed to watch the moment&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://cpp4students.blogspot.com/feeds/711226164633999733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8648282429773069510/711226164633999733' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8648282429773069510/posts/default/711226164633999733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8648282429773069510/posts/default/711226164633999733'/><link rel='alternate' type='text/html' href='http://cpp4students.blogspot.com/2011/07/what-will-be-facebooks-awsomes-product.html' title='what will be the facebook&#39;s awsomes product'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLRfyVaRFYe1GzDXQZz_f4_I3eBqbO0PRShJmFj-mOnNJj0g5-nRBot7mxNaWq8K7U7Nwf2lR9oKeNjrMftKlf7EMNR4C6xZZyYCKsDIYzIy-HcNnKTxJ3DQdkbBY7NWTQn8-OLqcdcd47/s72-c/Facebook-Logo.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8648282429773069510.post-7717641033479578115</id><published>2008-08-02T23:30:00.000-07:00</published><updated>2008-08-10T02:33:19.580-07:00</updated><title type='text'></title><content type='html'>&lt;div align=&quot;center&quot;&gt;&lt;span style=&quot;font-family:lucida grande;font-size:180%;color:#ff0000;&quot;&gt;if you dont want to become mad.. &lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;center&quot;&gt;&lt;span style=&quot;font-family:lucida grande;font-size:180%;color:#ff0000;&quot;&gt;dont open the programs!!!!!&lt;/span&gt; &lt;/div&gt;&lt;div align=&quot;center&quot;&gt;&lt;/div&gt;&lt;div align=&quot;center&quot;&gt;&lt;/div&gt;&lt;div align=&quot;left&quot;&gt;&lt;/div&gt;&lt;div align=&quot;center&quot;&gt;&lt;span style=&quot;font-size:130%;color:#ff0000;&quot;&gt;&lt;strong&gt;Some intresting c programs are listed below.you can follow the steps and enjoy the world of &#39;C&#39;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;center&quot;&gt;&lt;span style=&quot;color:#ff0000;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;center&quot;&gt;&lt;span style=&quot;color:#ff0000;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;color:#ff0000;&quot;&gt;Click on th link&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;color:#ff0000;&quot;&gt;Download the source code&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;color:#ff0000;&quot;&gt;Compile and run with turbo c++ 2.0 or more&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;color:#ff0000;&quot;&gt;Enjoy the World of C&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;color:#ff0000;&quot;&gt;Please Report the bugs and modifications&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p align=&quot;left&quot;&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot;font-size:180%;&quot;&gt;&lt;span style=&quot;color:#3366ff;&quot;&gt;&lt;a href=&quot;http://mischiefprogramer.googlepages.com/TEXTEDITORPROGRAM.doc&quot;&gt;The New Text Editor&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot;font-size:180%;color:#3366ff;&quot;&gt;&lt;a href=&quot;http://mischiefprogramer.googlepages.com/SNAKEANDFROGSINAFIELD.doc&quot;&gt;The Snake Game&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot;font-size:180%;color:#3366ff;&quot;&gt;&lt;a href=&quot;http://mischiefprogramer.googlepages.com/NUMBERPUZZLEGAME.doc&quot;&gt;The number puzzle game&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot;font-size:180%;color:#3366ff;&quot;&gt;&lt;a href=&quot;http://mischiefprogramer.googlepages.com/Thenumberyouchose.doc&quot;&gt;The number you choose game&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot;font-size:180%;color:#3366ff;&quot;&gt;&lt;a href=&quot;http://mischiefprogramer.googlepages.com/MATHXPRSNEVALUATOR1.doc&quot;&gt;The mathexpression evaluter&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://cpp4students.blogspot.com/feeds/7717641033479578115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8648282429773069510/7717641033479578115' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8648282429773069510/posts/default/7717641033479578115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8648282429773069510/posts/default/7717641033479578115'/><link rel='alternate' type='text/html' href='http://cpp4students.blogspot.com/2008/08/if-you-dont-want-to-become-mad.html' title=''/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8648282429773069510.post-3290779544977470748</id><published>2008-08-02T23:18:00.001-07:00</published><updated>2008-08-02T23:18:58.089-07:00</updated><title type='text'></title><content type='html'>&lt;a href=&quot;http://mischiefprogramer.googlepages.com/MATHXPRSNEVALUATOR1.doc&quot;&gt;math expression evaluater&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://cpp4students.blogspot.com/feeds/3290779544977470748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8648282429773069510/3290779544977470748' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8648282429773069510/posts/default/3290779544977470748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8648282429773069510/posts/default/3290779544977470748'/><link rel='alternate' type='text/html' href='http://cpp4students.blogspot.com/2008/08/math-expression-evaluater.html' title=''/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8648282429773069510.post-6114198637006401137</id><published>2008-08-02T22:34:00.000-07:00</published><updated>2008-08-02T22:55:21.518-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="c"/><category scheme="http://www.blogger.com/atom/ns#" term="c programs"/><category scheme="http://www.blogger.com/atom/ns#" term="c programs free download"/><category scheme="http://www.blogger.com/atom/ns#" term="sample c programs"/><category scheme="http://www.blogger.com/atom/ns#" term="texediotr using c"/><title type='text'>new texeditor using c</title><content type='html'>&lt;textarea rows=&quot;20&quot; readonly cols=&quot;80&quot;&gt;/*&lt;br /&gt;/*&lt;br /&gt; ##########################################&lt;br /&gt; # TEXT EDITOR PROGRAM ( for TEF files) #&lt;br /&gt; # tested in Turbo C++,version 3.0 #&lt;br /&gt; ################15/2/2008#################&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#include&lt;dos.h&gt;&lt;br /&gt;#include&lt;dir.h&gt;&lt;br /&gt;#include&lt;conio.h&gt;&lt;br /&gt;#include&lt;ctype.h&gt;&lt;br /&gt;#include&lt;stdio.h&gt;&lt;br /&gt;#include&lt;stdlib.h&gt;&lt;br /&gt;#include&lt;string.h&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#define ROW 21&lt;br /&gt;#define COL 78&lt;br /&gt;#define NOCOLS 999&lt;br /&gt;#define NOLINES 9999&lt;br /&gt;#define MAXFILES 10&lt;br /&gt;#define FRAMEBG BLUE&lt;br /&gt;#define FRAMEFG GREEN&lt;br /&gt;#define SPACESTOTAB 6&lt;br /&gt;#define CX frm[fI].cX&lt;br /&gt;#define CY frm[fI].cY&lt;br /&gt;#define SC frm[fI].sC&lt;br /&gt;#define SL frm[fI].sL&lt;br /&gt;#define SX1 frm[fI].sX1&lt;br /&gt;#define SY1 frm[fI].sY1&lt;br /&gt;#define SX2 frm[fI].sX2&lt;br /&gt;#define SY2 frm[fI].sY2&lt;br /&gt;#define SELECTIONFG BLUE&lt;br /&gt;#define SELECTIONBG CYAN&lt;br /&gt;#define NOL frm[fI].noOfLines&lt;br /&gt;#define MOC frm[fI].maxOfCols&lt;br /&gt;#define LINELEN frm[fI].ln[CY].len&lt;br /&gt;#define LINEDATA frm[fI].ln[CY].data&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void Time();&lt;br /&gt;void FExit();&lt;br /&gt;void WPrevious();&lt;br /&gt;void OkDialogBox(char[],char[]);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;char fR[4][64]; /* findReplace */&lt;br /&gt;int cmdXY[]={6,15,25,35,44,55,65},mx,my,mb; /* mouse x,y and button */&lt;br /&gt;int fI,BG,FG,mouseSelecting, flag,hL; /* highlight, frame Index*/&lt;br /&gt;int NoOfFrame,CMenabl,advice=1,fileNo; /* Clear Menu enabled */&lt;br /&gt;int buffer[20][40][2],bufferX1,bufferX2,bufferY1,bufferY2;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;struct menuCommands&lt;br /&gt;{&lt;br /&gt; char cmd[13][16];&lt;br /&gt; int enabl[13], NoOfCmd;&lt;br /&gt;}mC[7]=&lt;br /&gt;{&lt;br /&gt; {&lt;br /&gt; {&lt;br /&gt; &quot; New &quot;,&lt;br /&gt; &quot; Open &quot;,&lt;br /&gt; &quot; Save &quot;,&lt;br /&gt; &quot; save As &quot;,&lt;br /&gt; &quot; Close &quot;,&lt;br /&gt; &quot;ÄÄÄÄÄÄÄÄÄÄ&quot;,&lt;br /&gt; &quot; Exit &quot;&lt;br /&gt; }, { 0, 0, 0, 0, 0, -1, 1 }, { 7 }&lt;br /&gt; },&lt;br /&gt; {&lt;br /&gt; {&lt;br /&gt; &quot; cuT &quot;,&lt;br /&gt; &quot; Copy &quot;,&lt;br /&gt; &quot; Paste &quot;,&lt;br /&gt; &quot; cLear &quot;&lt;br /&gt; }, { 0, 0, 1 }, { 4 }&lt;br /&gt; },&lt;br /&gt; {&lt;br /&gt; {&lt;br /&gt; &quot; Find &quot;,&lt;br /&gt; &quot; Next Ins&quot;,&lt;br /&gt; &quot; Replace &quot;&lt;br /&gt; }, { 0 }, { 3 }&lt;br /&gt; },&lt;br /&gt; {&lt;br /&gt; {&lt;br /&gt; &quot; Upper &quot;,&lt;br /&gt; &quot; Lower &quot;&lt;br /&gt; }, { 0 }, { 2 }&lt;br /&gt; },&lt;br /&gt; {&lt;br /&gt; {&lt;br /&gt; &quot; Single &quot;,&lt;br /&gt; &quot; Double &quot;,&lt;br /&gt; &quot; sNgl-Dbl &quot;,&lt;br /&gt; &quot; dBl-sngl &quot;&lt;br /&gt; }, { 0 }, { 4 }&lt;br /&gt; },&lt;br /&gt; {&lt;br /&gt; {&lt;br /&gt; &quot; next &quot;,&lt;br /&gt; &quot; previous &quot;,&lt;br /&gt; &quot;ÄÄÄÄÄÄÄÄÄÄ&quot;,&lt;br /&gt; }, { 0, 0, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, { 3 }&lt;br /&gt; },&lt;br /&gt; {&lt;br /&gt; {&lt;br /&gt; &quot; Controls &quot;,&lt;br /&gt; &quot; About &quot;,&lt;br /&gt; &quot; Dedicate &quot;&lt;br /&gt; }, { 1, 1, 1 }, { 3 }&lt;br /&gt; }&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;struct line&lt;br /&gt;{&lt;br /&gt; char *data;&lt;br /&gt; long len;&lt;br /&gt;} copyStr;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;struct frame&lt;br /&gt;{&lt;br /&gt; struct line *ln; /* all lines */&lt;br /&gt; char fileName[64];&lt;br /&gt; int cX, cY, /* current curser X and Y */&lt;br /&gt; sX1, sX2, sY1, sY2, /* selection parameters */&lt;br /&gt; sL, sC, /* starting line and column on the screen */&lt;br /&gt; SHP, SVP, /* scrolling horizontal and vertical pointer */&lt;br /&gt; noOfLines, maxOfCols, /* max no.of lines and columns */&lt;br /&gt; saved;&lt;br /&gt;} frm[MAXFILES];&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/******************* Mouse ********************/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void InitMouse()&lt;br /&gt;{&lt;br /&gt; union REGS r;&lt;br /&gt; r.x.ax=0x0, int86(0x33, &amp;r, &amp;r);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void SetMouse(int x, int y)&lt;br /&gt;{&lt;br /&gt; union REGS r;&lt;br /&gt; r.x.ax = 0x4, r.x.cx =x*8, r.x.dx = y*8, int86(0x33, &amp;r, &amp;r);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void ShowMouse()&lt;br /&gt;{&lt;br /&gt; union REGS r;&lt;br /&gt; r.x.ax = 0x1, int86(0x33, &amp;r, &amp;r);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void HideMouse()&lt;br /&gt;{&lt;br /&gt; union REGS r;&lt;br /&gt; r.x.ax =0x2, int86(0x33, &amp;r, &amp;r);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;int ReadMouse()&lt;br /&gt;{&lt;br /&gt; union REGS r;&lt;br /&gt; Time();&lt;br /&gt; r.x.ax=0x3, int86(0x33,&amp;r,&amp;r);&lt;br /&gt; mx=(int)r.x.cx/8, my=(int)r.x.dx/8, mb=(int)r.x.bx;&lt;br /&gt; return mb;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void Color(int fg, int bg)&lt;br /&gt;{&lt;br /&gt; if(fg!=-1)&lt;br /&gt; textcolor(FG=fg);&lt;br /&gt; if(bg!=-1)&lt;br /&gt; textbackground(BG=bg);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void Put(int x, int y, char str[])&lt;br /&gt;{&lt;br /&gt; gotoxy(x,y), HideMouse(), cprintf(str), ShowMouse();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void Time()&lt;br /&gt;{&lt;br /&gt; int x,y;&lt;br /&gt; static struct time t,tmp={61,61,0,61};&lt;br /&gt; gettime(&amp;t);&lt;br /&gt; if(t.ti_sec!=tmp.ti_sec)&lt;br /&gt; {&lt;br /&gt; x=wherex(), y=wherey();&lt;br /&gt; textcolor(RED), textbackground(GREEN);&lt;br /&gt; if(t.ti_sec%2)&lt;br /&gt; Put(73,25, &quot;:&quot;);&lt;br /&gt; else&lt;br /&gt; Put(73,25, &quot; &quot;);&lt;br /&gt; if(t.ti_min!=tmp.ti_min)&lt;br /&gt; {&lt;br /&gt; HideMouse();&lt;br /&gt; gotoxy(74,25),cprintf(&quot;%02d&quot;,t.ti_min);&lt;br /&gt; if(t.ti_hour!=tmp.ti_hour)&lt;br /&gt; {&lt;br /&gt;	gotoxy(71,25);&lt;br /&gt;	if(t.ti_hour&gt;12)&lt;br /&gt;	 cprintf(&quot;%2d&quot;,t.ti_hour-12), Put(77,25,&quot;pm&quot;);&lt;br /&gt;	else&lt;br /&gt;	 cprintf(&quot;%2d&quot;,(t.ti_hour==0)?12:t.ti_hour), Put(77,25,&quot;am&quot;);&lt;br /&gt; }&lt;br /&gt; ShowMouse();&lt;br /&gt; }&lt;br /&gt; gotoxy(x,y);&lt;br /&gt; tmp=t;&lt;br /&gt; textcolor(FG), textbackground(BG);&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void HideCurser()&lt;br /&gt;{&lt;br /&gt; gotoxy(1,1);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;int LinLen(int ix)&lt;br /&gt;{&lt;br /&gt; int i=0;&lt;br /&gt; while(frm[fI].ln[ix].data[i]!=&#39;\0&#39; &amp;&amp; frm[fI].ln[ix].data[i]!=&#39;\n&#39;)&lt;br /&gt; i++;&lt;br /&gt; return i;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void PutLine(int ln)&lt;br /&gt;{&lt;br /&gt; int i;&lt;br /&gt; char lnStr[COL+1];&lt;br /&gt; Color(FRAMEFG,FRAMEBG);&lt;br /&gt; for(i=SC;i&lt;COL+SC &amp;&amp; i&lt;LinLen(ln);i++)&lt;br /&gt; lnStr[i-SC]=frm[fI].ln[ln].data[i];&lt;br /&gt; for(;i&lt;COL+SC;i++)&lt;br /&gt; lnStr[i-SC]=&#39; &#39;;&lt;br /&gt; lnStr[COL]=&#39;\0&#39;;&lt;br /&gt; gotoxy(2,3+ln-SL);&lt;br /&gt; HideMouse(), cprintf(&quot;%s&quot;,lnStr), ShowMouse();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void LackOfMemory()&lt;br /&gt;{&lt;br /&gt; OkDialogBox(&quot;ERROR&quot;,&quot;Memory allocation failed.&quot;);&lt;br /&gt;stop:&lt;br /&gt; FExit();&lt;br /&gt; goto stop;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void InitNewFile()&lt;br /&gt;{&lt;br /&gt; fI=NoOfFrame++;&lt;br /&gt; CX= CY= SX1= SY1= SX2= SY2= SL= SC=0;&lt;br /&gt; frm[fI].saved= MOC= NOL=1;&lt;br /&gt; frm[fI].ln=(struct line *)malloc(sizeof(struct line));&lt;br /&gt; if(!frm[fI].ln)&lt;br /&gt; LackOfMemory();&lt;br /&gt; LINEDATA=(char *)malloc(sizeof(char));&lt;br /&gt; if(!LINEDATA)&lt;br /&gt; LackOfMemory();&lt;br /&gt; LINEDATA[0]=&#39;\0&#39;;&lt;br /&gt; LINELEN=1;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void DrawButton(int x,int y,char str[],int active)&lt;br /&gt;{&lt;br /&gt; int strLen=strlen(str),i;&lt;br /&gt; Color(WHITE,GREEN);&lt;br /&gt; HideMouse();&lt;br /&gt; if(active==1)&lt;br /&gt; {&lt;br /&gt; SetMouse(mx+1,my);&lt;br /&gt; Put(x+1,y,str);&lt;br /&gt; ShowMouse();&lt;br /&gt; Color(-1,RED);&lt;br /&gt; Put(x,y,&quot; &quot;);&lt;br /&gt; gotoxy(x+1,y+1);&lt;br /&gt; for(i=0;i&lt;strLen;i++)&lt;br /&gt; cprintf(&quot; &quot;);&lt;br /&gt; HideCurser();&lt;br /&gt; while(ReadMouse());&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt; {&lt;br /&gt; Put(x,y,str);&lt;br /&gt; Color(BLACK,RED);&lt;br /&gt; Put(x+strLen,y,&quot;Ü&quot;);&lt;br /&gt; gotoxy(x+1,y+1);&lt;br /&gt; for(i=0;i&lt;strLen;i++)&lt;br /&gt; cprintf(&quot;ß&quot;);&lt;br /&gt; ShowMouse();&lt;br /&gt; HideCurser();&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void GotoXY()&lt;br /&gt;{&lt;br /&gt; Color(WHITE,GREEN);&lt;br /&gt; gotoxy(4,25);&lt;br /&gt; HideMouse(), cprintf(&quot;%6d:%-5d&quot;,CY+1,CX+1), ShowMouse();&lt;br /&gt; gotoxy(CX-SC+2,CY-SL+3);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void ClearMenu()&lt;br /&gt;{&lt;br /&gt; int i,j;&lt;br /&gt; if(!CMenabl)&lt;br /&gt; return;&lt;br /&gt; HideMouse();&lt;br /&gt; for(i=bufferY1;i&lt;=bufferY2;i++)&lt;br /&gt; for(j=bufferX1;j&lt;=bufferX2;j++)&lt;br /&gt; {&lt;br /&gt; textattr(buffer[i-bufferY1][j-bufferX1][0]),&lt;br /&gt; gotoxy(j,i), cprintf(&quot;%c&quot;,buffer[i-bufferY1][j-bufferX1][1]);&lt;br /&gt; }&lt;br /&gt; ShowMouse();&lt;br /&gt; CMenabl=0;&lt;br /&gt; HideCurser();&lt;br /&gt; flag|=2;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void DrawCanvas(int x1,int y1,int x2,int y2,char title[])&lt;br /&gt;{&lt;br /&gt; int i,j;&lt;br /&gt; union REGS r;&lt;br /&gt; char *ptr,str[][10]={ {&quot;ÚÄ¿³ÀÙ&quot;}, {&quot;ÉÍ»ºÈ¼&quot;} };&lt;br /&gt; if(CMenabl)&lt;br /&gt; ClearMenu();&lt;br /&gt; HideMouse();&lt;br /&gt; for(i=y1;i&lt;=y2+1;i++)&lt;br /&gt; {&lt;br /&gt; for(j=x1;j&lt;=x2+2;j++)&lt;br /&gt; {&lt;br /&gt; gotoxy(j,i);&lt;br /&gt; r.h.ah=0x8, r.x.bx=0x0, int86(0x10,&amp;r,&amp;r);&lt;br /&gt; buffer[i-y1][j-x1][0]=r.h.ah, buffer[i-y1][j-x1][1]=r.h.al;&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; bufferX1=x1, bufferX2=x2+2, bufferY1=y1, bufferY2=y2+1;&lt;br /&gt; Color(DARKGRAY,BLACK);&lt;br /&gt; gotoxy(x1+2,y2+1);&lt;br /&gt; for(i=x1;i&lt;=x2;i++)&lt;br /&gt; cprintf(&quot;%c&quot;,buffer[y2+1-y1][i+2-x1][1]);&lt;br /&gt; for(i=y1+1;i&lt;=y2;i++)&lt;br /&gt; gotoxy(x2+1,i), cprintf(&quot;%c%c&quot;,buffer[i-y1][x2+1-x1][1], buffer[i-y1][x2+2-x1][1]);&lt;br /&gt; Color(WHITE,RED);&lt;br /&gt; ptr=(strcmp(title,&quot;&quot;)==0) ? str[0] : str[1] ;&lt;br /&gt; gotoxy(x1,y1), cprintf(&quot;%c&quot;,ptr[0]);&lt;br /&gt; for(i=x1+1;i&lt;x2;i++)&lt;br /&gt; cprintf(&quot;%c&quot;,ptr[1]);&lt;br /&gt; cprintf(&quot;%c&quot;,ptr[2]);&lt;br /&gt; for(j=y1+1;j&lt;y2;j++)&lt;br /&gt; {&lt;br /&gt; gotoxy(x1,j), cprintf(&quot;%c&quot;,ptr[3]);&lt;br /&gt; for(i=x1+1;i&lt;x2;i++)&lt;br /&gt; cprintf(&quot; &quot;);&lt;br /&gt; cprintf(&quot;%c&quot;,ptr[3]);&lt;br /&gt; }&lt;br /&gt; gotoxy(x1,y2), cprintf(&quot;%c&quot;,ptr[4]);&lt;br /&gt; for(i=x1+1;i&lt;x2;i++)&lt;br /&gt; cprintf(&quot;%c&quot;,ptr[1]);&lt;br /&gt; cprintf(&quot;%c&quot;,ptr[5]);&lt;br /&gt; if(strcmp(title,&quot;&quot;)!=0)&lt;br /&gt; {&lt;br /&gt; i=strlen(title);&lt;br /&gt; gotoxy((x2+x1-i-1)/2,y1);&lt;br /&gt; cprintf(&quot; %s &quot;,title);&lt;br /&gt; }&lt;br /&gt; ShowMouse();&lt;br /&gt; CMenabl=1;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void PutVScroll()&lt;br /&gt;{&lt;br /&gt; int i;&lt;br /&gt; Color(MAGENTA,BLUE);&lt;br /&gt; for(i=4;i&lt;=77;i++)&lt;br /&gt; Put(i,24,&quot;±&quot;);&lt;br /&gt; Color(WHITE,BLACK), Put(4+frm[fI].SVP,24,&quot; &quot;);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void PutHScroll()&lt;br /&gt;{&lt;br /&gt; int i;&lt;br /&gt; Color(MAGENTA,BLUE);&lt;br /&gt; for(i=4;i&lt;=22;i++)&lt;br /&gt; Put(80,i,&quot;±&quot;);&lt;br /&gt; Color(WHITE,BLACK), Put(80,4+frm[fI].SHP,&quot; &quot;);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;int ShiftKeyHit()&lt;br /&gt;{&lt;br /&gt; union REGS r;&lt;br /&gt; r.h.ah=0x2, int86(0x16,&amp;r,&amp;r);&lt;br /&gt; if(r.h.al&amp;2)&lt;br /&gt; return 1;&lt;br /&gt; else&lt;br /&gt; return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void SetCurser(int X,int Y)&lt;br /&gt;{&lt;br /&gt; int tmp, x=CX, y=CY;&lt;br /&gt; CY+=Y;&lt;br /&gt; if(CY&lt;0)&lt;br /&gt; CY=0;&lt;br /&gt; else if(CY&gt;=NOL)&lt;br /&gt; CY=NOL-1;&lt;br /&gt; CX+=X;&lt;br /&gt; if(CX&lt;0)&lt;br /&gt; CX=0;&lt;br /&gt; else if(CX&gt;LinLen(CY))&lt;br /&gt; CX=LinLen(CY);&lt;br /&gt; if(SC&gt;CX || CX-SC&gt;=COL)&lt;br /&gt; {&lt;br /&gt; if(SC==CX+1)&lt;br /&gt; SC=CX;&lt;br /&gt; else if(SC+COL==CX)&lt;br /&gt; SC++ ;&lt;br /&gt; else if( !(SC&lt;=CX &amp;&amp; SC+COL&gt;=CX))&lt;br /&gt; SC=(CX/COL)*COL;&lt;br /&gt; flag|=16;&lt;br /&gt; }&lt;br /&gt; if(MOC&gt;1 &amp;&amp; frm[fI].SVP!=(int)(73.*SC/(MOC-1)))&lt;br /&gt; frm[fI].SVP=73.*SC/(MOC-1), flag|=64;&lt;br /&gt; if(SL&gt;CY||CY-SL&gt;=ROW)&lt;br /&gt; {&lt;br /&gt; if(SL==CY+1||SL==CY+2)&lt;br /&gt; SL=CY;&lt;br /&gt; else if( SL+ROW==CY)&lt;br /&gt; SL++;&lt;br /&gt; else if( SL+ROW+1==CY)&lt;br /&gt; SL+=2;&lt;br /&gt; else if(!(SL&lt;=CY&amp;&amp;SL+ROW&gt;=CY))&lt;br /&gt; SL=(CY/ROW)*ROW;&lt;br /&gt; flag|=16;&lt;br /&gt; }&lt;br /&gt; if(NOL&gt;1&amp;&amp;frm[fI].SHP!=(int)18.*SL/(NOL-1))&lt;br /&gt; frm[fI].SHP=18.*SL/(NOL-1), flag|=32;&lt;br /&gt;&lt;br /&gt; if(ShiftKeyHit() || mouseSelecting)&lt;br /&gt; {&lt;br /&gt; if(x==SX2&amp;&amp;y==SY2)&lt;br /&gt; {&lt;br /&gt; if(y==CY&amp;&amp;x&gt;CX||y&gt;CY)&lt;br /&gt;	 flag|=16;&lt;br /&gt; else&lt;br /&gt;	 flag|=8;&lt;br /&gt; SX2=CX, SY2=CY;&lt;br /&gt; }&lt;br /&gt; else if(x==SX1&amp;&amp;y==SY1)&lt;br /&gt; {&lt;br /&gt; if(y==CY&amp;&amp;x&lt;CX||y&lt;CY)&lt;br /&gt;	 flag|=16;&lt;br /&gt; else&lt;br /&gt;	 flag|=8;&lt;br /&gt; SX1=CX, SY1=CY;&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt; {&lt;br /&gt; flag|=16;&lt;br /&gt; SX1=x, SX2=CX, SY1=y, SY2=CY;&lt;br /&gt; }&lt;br /&gt; if( SY1&gt;SY2 || SY1==SY2&amp;&amp;SX1&gt;SX2 )&lt;br /&gt; {&lt;br /&gt; tmp=SX1, SX1=SX2, SX2=tmp;&lt;br /&gt; tmp=SY1, SY1=SY2, SY2=tmp;&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; flag|=2;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void PutSelection()&lt;br /&gt;{&lt;br /&gt; int i,j,ln;&lt;br /&gt; char lnStr[COL+1];&lt;br /&gt; HideMouse();&lt;br /&gt; Color(SELECTIONFG,-1);&lt;br /&gt; for(ln=(SL&gt;SY1)?SL:SY1+1; ln&lt;SY2 &amp;&amp; ln&lt;SL+ROW ;ln++)&lt;br /&gt; {&lt;br /&gt; Color(-1,SELECTIONBG);&lt;br /&gt; for(i=SC; i&lt;COL+SC &amp;&amp; i&lt;LinLen(ln) ;i++)&lt;br /&gt; lnStr[i-SC]=frm[fI].ln[ln].data[i];&lt;br /&gt; lnStr[i-SC]=&#39;\0&#39;;&lt;br /&gt; gotoxy(2,3+ln-SL), cprintf(&quot;%s&quot;,lnStr);&lt;br /&gt; for(j=i; j&lt;COL+SC ;j++)&lt;br /&gt; lnStr[j-i]=&#39; &#39;;&lt;br /&gt; lnStr[j-i]=&#39;\0&#39;;&lt;br /&gt; Color(-1,FRAMEBG), cprintf(&quot;%s&quot;,lnStr);&lt;br /&gt; }&lt;br /&gt; Color(-1,SELECTIONBG);&lt;br /&gt; if(SL&lt;=SY1&amp;&amp;SY1&lt;SL+ROW)&lt;br /&gt; {&lt;br /&gt; j=(SX1&gt;SC)?SX1:SC;&lt;br /&gt; for(i=j; ((SY1==SY2)?i&lt;SX2:1) &amp;&amp; i&lt;LinLen(SY1) &amp;&amp; i&lt;SC+COL ;i++)&lt;br /&gt; lnStr[i-j]=frm[fI].ln[SY1].data[i];&lt;br /&gt; lnStr[i-j]=&#39;\0&#39;;&lt;br /&gt; if( SC&lt;=SX1 &amp;&amp; SX1&lt;SC+COL )&lt;br /&gt; gotoxy(SX1+2-SC,SY1+3-SL);&lt;br /&gt; else&lt;br /&gt; gotoxy(2,SY1+3-SL);&lt;br /&gt; cprintf(&quot;%s&quot;,lnStr);&lt;br /&gt; }&lt;br /&gt; if(SL&lt;=SY2&amp;&amp;SY2&lt;SL+ROW&amp;&amp;SY1!=SY2)&lt;br /&gt; {&lt;br /&gt; for(i=SC;i&lt;LinLen(SY2)&amp;&amp;i&lt;SC+COL&amp;&amp;i&lt;SX2;i++)&lt;br /&gt; lnStr[i-SC]=frm[fI].ln[SY2].data[i];&lt;br /&gt; lnStr[i-SC]=&#39;\0&#39;;&lt;br /&gt; gotoxy(2,SY2+3-SL), cprintf(&quot;%s&quot;,lnStr);&lt;br /&gt; }&lt;br /&gt; ShowMouse();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void PutData()&lt;br /&gt;{&lt;br /&gt; int i,j;&lt;br /&gt; char lnstr[COL+1];&lt;br /&gt; for(i=SL; i&lt;NOL &amp;&amp; i&lt;SL+ROW ;i++)&lt;br /&gt; if(i&lt;=SY1||SY2&lt;=i)&lt;br /&gt; PutLine(i);&lt;br /&gt; for(j=0;j&lt;COL;j++)&lt;br /&gt; lnstr[j]=&#39; &#39;;&lt;br /&gt; lnstr[j]=&#39;\0&#39;;&lt;br /&gt; HideMouse();&lt;br /&gt; for(;i&lt;SL+ROW;i++)&lt;br /&gt; gotoxy(2,i+3-SL), cprintf(&quot;%s&quot;,lnstr);&lt;br /&gt; ShowMouse();&lt;br /&gt; PutSelection();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void Scroll()&lt;br /&gt;{&lt;br /&gt; int i,SOx=CX,SOy=CY;&lt;br /&gt; while(1)&lt;br /&gt; {&lt;br /&gt; if( mx==79 &amp;&amp; NOL&gt;1 )&lt;br /&gt; {&lt;br /&gt; if( my==2 &amp;&amp; SL!=0 )&lt;br /&gt; {&lt;br /&gt;	SL--;&lt;br /&gt;	if(frm[fI].SHP!=(int)18.*SL/(NOL-1))&lt;br /&gt;	 frm[fI].SHP= 18.*SL/(NOL-1);&lt;br /&gt; }&lt;br /&gt; else if( my==22 &amp;&amp; SL!=NOL-1 )&lt;br /&gt; {&lt;br /&gt;	 SL++;&lt;br /&gt;	 if(frm[fI].SHP!=(int)18.*SL/(NOL-1))&lt;br /&gt;	 frm[fI].SHP= 18.*SL/(NOL-1);&lt;br /&gt; }&lt;br /&gt; else if( 2&lt;my&amp;&amp;my&lt;22 )&lt;br /&gt;	SL= (NOL-1)*(my-3)/18., frm[fI].SHP= (my-3);&lt;br /&gt; else&lt;br /&gt;	break;&lt;br /&gt; PutHScroll(), PutData();&lt;br /&gt; }&lt;br /&gt; else if( my==23 &amp;&amp; MOC&gt;1 )&lt;br /&gt; {&lt;br /&gt; if( mx==2 &amp;&amp; SC!=0 )&lt;br /&gt; {&lt;br /&gt;	SC--;&lt;br /&gt;	if(frm[fI].SVP!=(int)73.*SC/(MOC-1))&lt;br /&gt;	 frm[fI].SVP= 73.*SC/(MOC-1);&lt;br /&gt; }&lt;br /&gt; else if( mx==77 &amp;&amp; MOC&gt;SC )&lt;br /&gt; {&lt;br /&gt;	SC++;&lt;br /&gt;	if(frm[fI].SVP!=(int)73.*SC/(MOC-1))&lt;br /&gt;	 frm[fI].SVP= 73.*SC/(MOC-1);&lt;br /&gt; }&lt;br /&gt; else if( 2&lt;mx&amp;&amp;mx&lt;77 )&lt;br /&gt;	SC= (mx-3)/73.*(MOC-1), frm[fI].SVP= (mx-3);&lt;br /&gt; else&lt;br /&gt;	break;&lt;br /&gt; PutVScroll(), PutData();&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt; break;&lt;br /&gt; if( SC&lt;=CX &amp;&amp; SC+COL&gt;CX &amp;&amp; SL&lt;=CY &amp;&amp; SL+ROW&gt;CY )&lt;br /&gt; GotoXY();&lt;br /&gt; else&lt;br /&gt; HideCurser();&lt;br /&gt; delay(99);&lt;br /&gt; while(1)&lt;br /&gt; {&lt;br /&gt; if(ReadMouse())&lt;br /&gt; {&lt;br /&gt;	if(mb==1)&lt;br /&gt;	 break;&lt;br /&gt;	else&lt;br /&gt;	{&lt;br /&gt;	 CX=SOx,CY=SOy, flag|=32|64;&lt;br /&gt;	 SetCurser(0,0);&lt;br /&gt;	 return;&lt;br /&gt;	}&lt;br /&gt; }&lt;br /&gt; if(kbhit())&lt;br /&gt; {&lt;br /&gt;	CX=SOx,CY=SOy, flag|=32|64;&lt;br /&gt;	SetCurser(0,0);&lt;br /&gt;	return;&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void DisplayData()&lt;br /&gt;{&lt;br /&gt; if(flag&amp;16)&lt;br /&gt; PutData();&lt;br /&gt; if(flag&amp;32)&lt;br /&gt; PutHScroll();&lt;br /&gt; if(flag&amp;64)&lt;br /&gt; PutVScroll();&lt;br /&gt; if(flag&amp;4)&lt;br /&gt; PutLine(CY);&lt;br /&gt; if(flag&amp;8)&lt;br /&gt; PutSelection();&lt;br /&gt; GotoXY();&lt;br /&gt; flag=0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void SetFrame()&lt;br /&gt;{&lt;br /&gt; int i,len;&lt;br /&gt; if(NoOfFrame==0)&lt;br /&gt; {&lt;br /&gt; Color(BLACK,LIGHTGRAY);&lt;br /&gt; gotoxy(1,2);&lt;br /&gt; HideMouse();&lt;br /&gt; for(i=0;i&lt;80*23;i++)&lt;br /&gt; cputs(&quot;°&quot;);&lt;br /&gt; Color(GREEN,GREEN);&lt;br /&gt; Put(6,25,&quot; &quot;);&lt;br /&gt; ShowMouse();&lt;br /&gt; HideCurser();&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt; {&lt;br /&gt; Color(WHITE,BLUE);&lt;br /&gt; HideMouse();&lt;br /&gt; for(i=3;i&lt;=23;i++)&lt;br /&gt; Put(1,i,&quot;º&quot;);&lt;br /&gt; Put(1,2,&quot;ÉÍ[X]&quot;);&lt;br /&gt; len=strlen(frm[fI].fileName);&lt;br /&gt; for(i=6;i&lt;(40-len/2-1);i++)&lt;br /&gt; cprintf(&quot;Í&quot;);&lt;br /&gt; cprintf(&quot; %s &quot;,frm[fI].fileName);&lt;br /&gt; for(i+=len+2;i&lt;=79;i++)&lt;br /&gt; cprintf(&quot;Í&quot;);&lt;br /&gt; cprintf(&quot;»&quot;);&lt;br /&gt; Put(1,24,&quot;ÈÍ&quot;);&lt;br /&gt; Put(79,24,&quot;Í¼&quot;);&lt;br /&gt; Color(BLUE,MAGENTA);&lt;br /&gt; gotoxy(3,24), cprintf(&quot; &quot;);&lt;br /&gt; for(i=4;i&lt;=77;i++)&lt;br /&gt; cprintf(&quot;±&quot;);&lt;br /&gt; cprintf(&quot;%c&quot;,26);&lt;br /&gt; gotoxy(80,3), cprintf(&quot; &quot;);&lt;br /&gt; for(i=4;i&lt;=22;i++)&lt;br /&gt; gotoxy(80,i), cprintf(&quot;±&quot;);&lt;br /&gt; gotoxy(80,23), cprintf(&quot; &quot;);&lt;br /&gt; ShowMouse();&lt;br /&gt; flag|=64|32|16;&lt;br /&gt; SetCurser(0,0);&lt;br /&gt; DisplayData();&lt;br /&gt; }&lt;br /&gt; CMenabl=0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void HGetOk(int bY)&lt;br /&gt;{&lt;br /&gt; char ch;&lt;br /&gt; DrawButton(37,bY,&quot; Ok &quot;,0);&lt;br /&gt; HideCurser();&lt;br /&gt; while(1)&lt;br /&gt; {&lt;br /&gt; if(kbhit())&lt;br /&gt; {&lt;br /&gt; ch=getch();&lt;br /&gt; if(ch==27||ch==&#39;\r&#39;||ch==&#39;o&#39;||ch==&#39;O&#39;)&lt;br /&gt;	return;&lt;br /&gt; }&lt;br /&gt; if(ReadMouse()==1)&lt;br /&gt; {&lt;br /&gt; if( my==bY-1 &amp;&amp; 35&lt;mx&amp;&amp;mx&lt;44 )&lt;br /&gt; {&lt;br /&gt;	DrawButton(37,bY,&quot; Ok &quot;,1);&lt;br /&gt;	if( my==bY-1 &amp;&amp; 36&lt;mx&amp;&amp;mx&lt;45 )&lt;br /&gt;	 return;&lt;br /&gt;	DrawButton(37,bY,&quot; Ok &quot;,0);&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void OkDialogBox(char title[],char msg[])&lt;br /&gt;{&lt;br /&gt; DrawCanvas(39-strlen(msg)/2,10,43+strlen(msg)/2,16,title);&lt;br /&gt; Put(41-strlen(msg)/2,12,msg);&lt;br /&gt; HGetOk(14);&lt;br /&gt; ClearMenu();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void AddChar(char ch)&lt;br /&gt;{&lt;br /&gt; int i,j,k,l;&lt;br /&gt; if( LINELEN+(CY+1==NOL)&gt;NOCOLS &amp;&amp; ch!=&#39;\r&#39; )&lt;br /&gt; {&lt;br /&gt; OkDialogBox(&quot;ERROR&quot;,&quot;Line,too long,truncted&quot;);&lt;br /&gt; if(CX&lt;NOCOLS/2)&lt;br /&gt; AddChar(&#39;\r&#39;), CY--, CX=LinLen(CY);&lt;br /&gt; else&lt;br /&gt; AddChar(&#39;\r&#39;);&lt;br /&gt; AddChar(ch);&lt;br /&gt; return;&lt;br /&gt; }&lt;br /&gt; LINELEN+=1;&lt;br /&gt; if(SX1||SX2||SY2||SY1)&lt;br /&gt; SX1= SY1= SX2= SY2=0, flag|=16;&lt;br /&gt; if(LINELEN&gt;MOC)&lt;br /&gt; MOC=LINELEN;&lt;br /&gt; LINEDATA=(char *)realloc(LINEDATA,sizeof(char)*LINELEN);&lt;br /&gt; if(!LINEDATA)&lt;br /&gt; LackOfMemory();&lt;br /&gt; for(i=strlen(LINEDATA);i&gt;=CX;i--)&lt;br /&gt; LINEDATA[i+1]=LINEDATA[i];&lt;br /&gt; if(ch==&#39;\r&#39;)&lt;br /&gt; LINEDATA[i+1]=&#39;\n&#39;, flag|=16;&lt;br /&gt; else&lt;br /&gt; LINEDATA[i+1]=ch, flag|=4;&lt;br /&gt; CX++;&lt;br /&gt; if(ch==&#39;\r&#39;)&lt;br /&gt; {&lt;br /&gt; NOL+=1;&lt;br /&gt; if(NOL&gt;=NOLINES)&lt;br /&gt; LackOfMemory();&lt;br /&gt; frm[fI].ln=(struct line*)realloc(frm[fI].ln,NOL*sizeof(struct line));&lt;br /&gt; if(!frm[fI].ln)&lt;br /&gt; LackOfMemory();&lt;br /&gt; CY++;&lt;br /&gt; for(i=NOL-1;i&gt;CY;i--)&lt;br /&gt; frm[fI].ln[i]=frm[fI].ln[i-1];&lt;br /&gt; LINEDATA=(char *)malloc(sizeof(char));&lt;br /&gt; if(!LINEDATA)&lt;br /&gt; LackOfMemory();&lt;br /&gt; LINEDATA[0]=&#39;\0&#39;, LINELEN=1;&lt;br /&gt; l=k=CX;&lt;br /&gt; CX=0;&lt;br /&gt; for(;frm[fI].ln[CY-1].data[k]!=&#39;\0&#39;;k++)&lt;br /&gt; AddChar(frm[fI].ln[CY-1].data[k]);&lt;br /&gt; CX=0;&lt;br /&gt; frm[fI].ln[CY-1].data[l]=&#39;\0&#39;;&lt;br /&gt; frm[fI].ln[CY-1].len=l+1;&lt;br /&gt; frm[fI].ln[CY-1].data=(char *)realloc(frm[fI].ln[CY-1].data,l+1);&lt;br /&gt; for(MOC=1,i=0;i&lt;NOL;i++)&lt;br /&gt; if(frm[fI].ln[i].len&gt;MOC)&lt;br /&gt;	MOC=LinLen(i);&lt;br /&gt; }&lt;br /&gt; frm[fI].saved=0;&lt;br /&gt; SetCurser(0,0);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void DelChar()&lt;br /&gt;{&lt;br /&gt; int i,tmp;&lt;br /&gt; if( CY==NOL-1 &amp;&amp; LINEDATA[CX]==&#39;\0&#39; )&lt;br /&gt; return;&lt;br /&gt; if(LINEDATA[CX]==&#39;\n&#39;&amp;&amp;LINELEN+frm[fI].ln[CY+1].len+(CY==NOL-2)&gt;NOCOLS+3)&lt;br /&gt; {&lt;br /&gt; OkDialogBox(&quot;ERROR&quot;,&quot;The line is too long&quot;);&lt;br /&gt; return;&lt;br /&gt; }&lt;br /&gt; if(SX1||SX2||SY2||SY1)&lt;br /&gt; SX1= SY1= SX2= SY2=0, flag|=16;&lt;br /&gt; if(LINEDATA[CX]==&#39;\n&#39;)&lt;br /&gt; {&lt;br /&gt; tmp=CX;&lt;br /&gt; for(i=0; i&lt;LinLen(CY+1);i++)&lt;br /&gt; AddChar(frm[fI].ln[CY+1].data[i]);&lt;br /&gt; free(frm[fI].ln[CY+1].data);&lt;br /&gt; for(i=CY+2;i&lt;NOL;i++)&lt;br /&gt; frm[fI].ln[i-1]=frm[fI].ln[i];&lt;br /&gt; NOL--;&lt;br /&gt; frm[fI].ln=(struct line*)realloc(frm[fI].ln,NOL*sizeof(struct line));&lt;br /&gt; if(!frm[fI].ln)&lt;br /&gt; LackOfMemory();&lt;br /&gt; CX=tmp;&lt;br /&gt; flag|=16;&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt; {&lt;br /&gt; for(i=CX;i&lt;strlen(LINEDATA);i++)&lt;br /&gt; LINEDATA[i]=LINEDATA[i+1];&lt;br /&gt; LINELEN-=1;&lt;br /&gt; LINEDATA=(char *)realloc(LINEDATA,LINELEN*sizeof(char));&lt;br /&gt; if(!LINEDATA)&lt;br /&gt; LackOfMemory();&lt;br /&gt; flag|=4;&lt;br /&gt; }&lt;br /&gt; if(LINELEN+1==MOC)&lt;br /&gt; {&lt;br /&gt; MOC=LINELEN;&lt;br /&gt; for(i=0;i&lt;NOL;i++)&lt;br /&gt; if(frm[fI].ln[i].len&gt;MOC)&lt;br /&gt; {&lt;br /&gt;	MOC++;&lt;br /&gt;	break;&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; SetCurser(0,0);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void AddBksp()&lt;br /&gt;{&lt;br /&gt; if(CY==0&amp;&amp;CX==0)&lt;br /&gt; return;&lt;br /&gt; if(CX==0&amp;&amp;LINELEN+frm[fI].ln[CY-1].len+(CY==NOL-1)&gt;NOCOLS+3)&lt;br /&gt; {&lt;br /&gt; OkDialogBox(&quot;ERROR&quot;,&quot;The line is too long&quot;);&lt;br /&gt; return;&lt;br /&gt; }&lt;br /&gt; if(CX==0)&lt;br /&gt; CY--, CX=LinLen(CY);&lt;br /&gt; else&lt;br /&gt; CX--;&lt;br /&gt; DelChar();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;int get(int ix) /* index */&lt;br /&gt;{&lt;br /&gt; int i;&lt;br /&gt; char ch;&lt;br /&gt; int lcx[]={0,0,0,0}, lsc[]={0,0,0,0}; /* last curser x, y. */&lt;br /&gt; int lcy[]={12,10,12,12}, lmy[]={13,13,13,13}; /* last mouse x, y. */&lt;br /&gt; DrawButton(32,lmy[ix]+1,&quot; Ok &quot;,0);&lt;br /&gt; DrawButton(42,lmy[ix]+1,&quot; Cancel &quot;,0);&lt;br /&gt; gotoxy(37+lcx[ix],lcy[ix]);&lt;br /&gt; while(1)&lt;br /&gt; {&lt;br /&gt; if(kbhit())&lt;br /&gt; {&lt;br /&gt; ch=getch();&lt;br /&gt; if( ch==0 )&lt;br /&gt; {&lt;br /&gt;	ch=getch();&lt;br /&gt;	switch(ch)&lt;br /&gt;	{&lt;br /&gt;	 case 83:&lt;br /&gt;		 if(lcx[ix]!=strlen(fR[ix]))&lt;br /&gt;		 for(i=lcx[ix];i&lt;strlen(fR[ix]);i++)&lt;br /&gt;			fR[ix][i]=fR[ix][i+1];		 break;&lt;br /&gt;	 case 77:&lt;br /&gt;		 if(lcx[ix]!=strlen(fR[ix]))&lt;br /&gt;		 lcx[ix]++;		 break;&lt;br /&gt;	 case 75:&lt;br /&gt;		 if(lcx[ix]!=0)&lt;br /&gt;		 lcx[ix]--;		 break;&lt;br /&gt;	 case 71: lcx[ix]=0;		 break;&lt;br /&gt;	 case 79: lcx[ix]=strlen(fR[ix]);		 break;&lt;br /&gt;	}&lt;br /&gt; }&lt;br /&gt; else if(ch==27)&lt;br /&gt;	return 0;&lt;br /&gt; else if(ch==&#39;\t&#39;)&lt;br /&gt; {&lt;br /&gt;	if( ix==1 )&lt;br /&gt;	 ix=2;&lt;br /&gt;	else if( ix==2 )&lt;br /&gt;	 ix=1;&lt;br /&gt; }&lt;br /&gt; else if(ch==&#39;\r&#39;)&lt;br /&gt; {&lt;br /&gt;	if(ix!=1&amp;&amp;ix!=2&amp;&amp;fR[ix][0]!=0)&lt;br /&gt;	 return 1;&lt;br /&gt;	else if( ix==1 || ix==2 )&lt;br /&gt;	{&lt;br /&gt;	 if(fR[1][0]!=0)&lt;br /&gt;	 return 1;&lt;br /&gt;	 else&lt;br /&gt;	 ix=1;&lt;br /&gt;	}&lt;br /&gt; }&lt;br /&gt; else if( ch==8 &amp;&amp; lcx[ix]!=0 )&lt;br /&gt; {&lt;br /&gt;	for(i=--lcx[ix];i&lt;strlen(fR[ix]);i++)&lt;br /&gt;	 fR[ix][i]=fR[ix][i+1];&lt;br /&gt; }&lt;br /&gt; else if(strlen(fR[ix])&lt;59&amp;&amp; &#39; &#39;&lt;=ch&amp;&amp;ch&lt;=&#39;~&#39; )&lt;br /&gt; {&lt;br /&gt;	for(i=strlen(fR[ix]);i&gt;=lcx[ix];i--)&lt;br /&gt;	 fR[ix][i+1]=fR[ix][i];&lt;br /&gt;	fR[ix][lcx[ix]++]=ch;&lt;br /&gt; }&lt;br /&gt; Color(WHITE,BLUE);&lt;br /&gt; gotoxy(37,lcy[ix]);&lt;br /&gt; if(lcx[ix]-lsc[ix]&gt;15||lcx[ix]&lt;lsc[ix])&lt;br /&gt;	lsc[ix]=(lcx[ix]/15-1)*15+lcx[ix]%15;&lt;br /&gt; if(lsc[ix]&lt;0)&lt;br /&gt;	lsc[ix]=0;&lt;br /&gt; HideMouse();&lt;br /&gt; for(i=lsc[ix];fR[ix][i]!=&#39;\0&#39;&amp;&amp;i&lt;lsc[ix]+16;i++)&lt;br /&gt;	cprintf(&quot;%c&quot;,fR[ix][i]);&lt;br /&gt; for(;i&lt;lsc[ix]+16;i++)&lt;br /&gt;	cprintf(&quot; &quot;);&lt;br /&gt; ShowMouse();&lt;br /&gt; gotoxy(37+lcx[ix]-lsc[ix],lcy[ix]);&lt;br /&gt; }&lt;br /&gt; if(ReadMouse()==1)&lt;br /&gt; {&lt;br /&gt; if( my==lmy[ix] &amp;&amp; 30&lt;mx&amp;&amp;mx&lt;39 )&lt;br /&gt; {&lt;br /&gt;	DrawButton(32,lmy[ix]+1,&quot; Ok &quot;,1);&lt;br /&gt;	if( my==lmy[ix] &amp;&amp; 31&lt;mx&amp;&amp;mx&lt;40 )&lt;br /&gt;	{&lt;br /&gt;	 if((ix==0||ix==3)&amp;&amp;fR[ix][0]!=0)&lt;br /&gt;	 return 1;&lt;br /&gt;	 else if(ix==1||ix==2)&lt;br /&gt;	 {&lt;br /&gt;	 if(fR[1][0]!=0)&lt;br /&gt;	 return 1;&lt;br /&gt;	 else&lt;br /&gt;	 ix=1;&lt;br /&gt;	 }&lt;br /&gt;	}&lt;br /&gt;	DrawButton(32,lmy[ix]+1,&quot; Ok &quot;,0);&lt;br /&gt;	gotoxy(37+lcx[ix]-lsc[ix],lcy[ix]);&lt;br /&gt; }&lt;br /&gt; else if(my==lmy[ix]&amp;&amp;mx&gt;40&amp;&amp;mx&lt;49)&lt;br /&gt; {&lt;br /&gt;	DrawButton(42,lmy[ix]+1,&quot; Cancel &quot;,1);&lt;br /&gt;	if(my==lmy[ix]&amp;&amp;mx&gt;41&amp;&amp;mx&lt;50)&lt;br /&gt;	 return 0;&lt;br /&gt;	DrawButton(42,lmy[ix]+1,&quot; Cancel &quot;,0);&lt;br /&gt;	gotoxy(37+lcx[ix]-lsc[ix],lcy[ix]);&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/******************* File *******************/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void FNew()&lt;br /&gt;{&lt;br /&gt; ClearMenu();&lt;br /&gt; InitNewFile();&lt;br /&gt; sprintf(frm[fI].fileName,&quot;File:%02d&quot;,fileNo++);&lt;br /&gt; SetFrame();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void FileName(char *file,char *path)&lt;br /&gt;{&lt;br /&gt; fnsplit(path,NULL,NULL,file,NULL);&lt;br /&gt; file[8]=&#39;\0&#39;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void FOpen(char *file)&lt;br /&gt;{&lt;br /&gt; char ch;&lt;br /&gt; FILE *fp;&lt;br /&gt; int i,validFile=1,lines=1,cols=1;&lt;br /&gt; if(!strcmp(file,&quot;&quot;))&lt;br /&gt; {&lt;br /&gt; strcpy(fR[3],&quot;&quot;);&lt;br /&gt; DrawCanvas(26,10,55,16,&quot;Open&quot;);&lt;br /&gt; Color(WHITE,RED);&lt;br /&gt; Put(29,12,&quot;File&quot;);&lt;br /&gt; Color(-1,BLUE);&lt;br /&gt; Put(37,12,&quot; &quot;);&lt;br /&gt; if(get(3)==0)&lt;br /&gt; {&lt;br /&gt; ClearMenu();&lt;br /&gt; return;&lt;br /&gt; }&lt;br /&gt; ClearMenu();&lt;br /&gt; strcat(fR[3],&quot;.tef&quot;);&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt; strcpy(fR[3],file);&lt;br /&gt; fp=fopen(fR[3],&quot;r&quot;);&lt;br /&gt; if(!fp)&lt;br /&gt; {&lt;br /&gt; OkDialogBox(&quot;ERROR&quot;,&quot;File Could not be opened&quot;);&lt;br /&gt; return;&lt;br /&gt; }&lt;br /&gt; while(validFile)&lt;br /&gt; {&lt;br /&gt; ch=fgetc(fp);&lt;br /&gt; if(ch==EOF)&lt;br /&gt; break;&lt;br /&gt; if(ch==&#39;\n&#39;)&lt;br /&gt; {&lt;br /&gt; lines++;&lt;br /&gt; if(lines&gt;NOLINES)&lt;br /&gt;	validFile=0;&lt;br /&gt; else&lt;br /&gt;	cols=1;&lt;br /&gt; }&lt;br /&gt; else if( &#39; &#39;&lt;=ch&amp;&amp;ch&lt;=&#39;~&#39; || &#39;³&#39;&lt;=ch&amp;&amp;ch&lt;=&#39;Ú&#39; )&lt;br /&gt; {&lt;br /&gt; if(cols&gt;NOCOLS)&lt;br /&gt;	validFile=0;&lt;br /&gt; else&lt;br /&gt;	cols++;&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt; validFile=0;&lt;br /&gt; }&lt;br /&gt; if(!validFile)&lt;br /&gt; {&lt;br /&gt; fclose(fp);&lt;br /&gt; OkDialogBox(&quot;ERROR&quot;,&quot;Invalid *.tef file&quot;);&lt;br /&gt; return;&lt;br /&gt; }&lt;br /&gt; rewind(fp);&lt;br /&gt; InitNewFile();&lt;br /&gt; strcpy(frm[fI].fileName,fR[3]);&lt;br /&gt; while(1)&lt;br /&gt; {&lt;br /&gt; ch=fgetc(fp);&lt;br /&gt; frm[fI].saved=1;&lt;br /&gt; if(ch==EOF)&lt;br /&gt; break;&lt;br /&gt; else if(ch==&#39;\n&#39;)&lt;br /&gt; AddChar(&#39;\r&#39;);&lt;br /&gt; else&lt;br /&gt; AddChar(ch);&lt;br /&gt; }&lt;br /&gt; fclose(fp);&lt;br /&gt; frm[fI].saved=1;&lt;br /&gt; SetCurser(-CX,-CY);&lt;br /&gt; SetFrame();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;int FSave(int as)&lt;br /&gt;{&lt;br /&gt; char ch;&lt;br /&gt; int i,j;&lt;br /&gt; FILE *fp;&lt;br /&gt; ClearMenu();&lt;br /&gt; if(as==1)&lt;br /&gt; {&lt;br /&gt; strcpy(fR[3],&quot;&quot;);&lt;br /&gt; DrawCanvas(26,10,55,16,&quot;Save As&quot;);&lt;br /&gt; Color(WHITE,RED);&lt;br /&gt; Put(29,12,&quot;File&quot;);&lt;br /&gt; Color(-1,BLUE);&lt;br /&gt; Put(37,12,&quot; &quot;);&lt;br /&gt; if(get(3)==0)&lt;br /&gt; {&lt;br /&gt; ClearMenu();&lt;br /&gt; return 0;&lt;br /&gt; }&lt;br /&gt; ClearMenu();&lt;br /&gt; strcat(fR[3],&quot;.tef&quot;);&lt;br /&gt; fp=fopen(fR[3],&quot;r&quot;);&lt;br /&gt; if(fp)&lt;br /&gt; {&lt;br /&gt; fclose(fp);&lt;br /&gt; DrawCanvas(26,10,55,16,&quot;ERROR&quot;);&lt;br /&gt; Put(29,12,&quot;Overwrite the file ?&quot;);&lt;br /&gt; DrawButton(32,14,&quot; Ok &quot;,0);&lt;br /&gt; DrawButton(42,14,&quot; Cancel &quot;,0);&lt;br /&gt; HideCurser();&lt;br /&gt; while(1)&lt;br /&gt; {&lt;br /&gt;	if(kbhit())&lt;br /&gt;	{&lt;br /&gt;	 ch=getch();&lt;br /&gt;	 if(ch==27)&lt;br /&gt;	 {&lt;br /&gt;	 ClearMenu();&lt;br /&gt;	 return 0;&lt;br /&gt;	 }&lt;br /&gt;	 else if(ch==&#39;\r&#39;)&lt;br /&gt;	 break;&lt;br /&gt;	}&lt;br /&gt;	if(ReadMouse()==1 &amp;&amp; my==13)&lt;br /&gt;	{&lt;br /&gt;	 if( 30&lt;mx&amp;&amp;mx&lt;39 )&lt;br /&gt;	 {&lt;br /&gt;	 DrawButton(32,14,&quot; Ok &quot;,1);&lt;br /&gt;	 if( my==13 &amp;&amp; 31&lt;mx&amp;&amp;mx&lt;40 )&lt;br /&gt;	 break;&lt;br /&gt;	 DrawButton(32,14,&quot; Ok &quot;,0);&lt;br /&gt;	 }&lt;br /&gt;	 else if( 40&lt;mx&amp;&amp;mx&lt;49 )&lt;br /&gt;	 {&lt;br /&gt;	 DrawButton(42,14,&quot; Cancel &quot;,1);&lt;br /&gt;	 if( my==13 &amp;&amp; mx&gt;41&amp;&amp;mx&lt;50 )&lt;br /&gt;	 {&lt;br /&gt;	 ClearMenu();&lt;br /&gt;	 return 0;&lt;br /&gt;	 }&lt;br /&gt;	 DrawButton(42,14,&quot; Cancel &quot;,0);&lt;br /&gt;	 }&lt;br /&gt;	}&lt;br /&gt; }&lt;br /&gt; ClearMenu();&lt;br /&gt; }&lt;br /&gt; fclose(fp);&lt;br /&gt; strcpy(frm[fI].fileName,fR[3]);&lt;br /&gt; }&lt;br /&gt; fp=fopen(frm[fI].fileName,&quot;w&quot;);&lt;br /&gt; if(!fp)&lt;br /&gt; {&lt;br /&gt; OkDialogBox(&quot;ERROR&quot;,&quot;Saving Failed&quot;);&lt;br /&gt; return 0;&lt;br /&gt; }&lt;br /&gt; for(i=0;i&lt;NOL;i++)&lt;br /&gt; for(j=0;j&lt;strlen(frm[fI].ln[i].data);j++)&lt;br /&gt;	fputc(frm[fI].ln[i].data[j],fp);&lt;br /&gt; fclose(fp);&lt;br /&gt; frm[fI].saved=1;&lt;br /&gt; SetFrame();&lt;br /&gt; return 1;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;int FClose()&lt;br /&gt;{&lt;br /&gt; int i;&lt;br /&gt; char tmpfn[MAXFILE],ch;&lt;br /&gt; ClearMenu();&lt;br /&gt; if(!frm[fI].saved)&lt;br /&gt; {&lt;br /&gt; DrawCanvas(24,10,57,16,&quot;Save&quot;);&lt;br /&gt; Color(WHITE,RED);&lt;br /&gt; FileName(tmpfn,frm[fI].fileName);&lt;br /&gt; gotoxy(28,12), cprintf(&quot;%s not saved. save ?&quot;,tmpfn);&lt;br /&gt; DrawButton(27,14,&quot; Yes &quot;,0);&lt;br /&gt; DrawButton(37,14,&quot; No &quot;,0);&lt;br /&gt; DrawButton(47,14,&quot; Cancel &quot;,0);&lt;br /&gt; while(1)&lt;br /&gt; {&lt;br /&gt; if(kbhit())&lt;br /&gt; {&lt;br /&gt;	ch=getch();&lt;br /&gt;	if( ch==&#39;\r&#39; || ch==&#39;y&#39;||ch==&#39;Y&#39; )&lt;br /&gt;	{&lt;br /&gt;	 if(strncmp(frm[fI].fileName,&quot;File:&quot;,5)==0)&lt;br /&gt;	 {&lt;br /&gt;	 if(FSave(1)==0)&lt;br /&gt;	 return 0;&lt;br /&gt;	 }&lt;br /&gt;	 else&lt;br /&gt;	 FSave(0);&lt;br /&gt;	 break;&lt;br /&gt;	}&lt;br /&gt;	else if(ch==&#39;n&#39;||ch==&#39;N&#39;)&lt;br /&gt;	 break;&lt;br /&gt;	else if( ch==27 || ch==&#39;c&#39;||ch==&#39;C&#39; )&lt;br /&gt;	{&lt;br /&gt;	 ClearMenu();&lt;br /&gt;	 return 0;&lt;br /&gt;	}&lt;br /&gt; }&lt;br /&gt; if(ReadMouse()==1&amp;&amp;my==13)&lt;br /&gt; {&lt;br /&gt;	if(25&lt;mx&amp;&amp;mx&lt;34)&lt;br /&gt;	{&lt;br /&gt;	 DrawButton(27,14,&quot; Yes &quot;,1);&lt;br /&gt;	 if( my==13 &amp;&amp; 26&lt;mx&amp;&amp;mx&lt;35 )&lt;br /&gt;	 {&lt;br /&gt;	 if(strncmp(frm[fI].fileName,&quot;File:&quot;,5)==0)&lt;br /&gt;	 {&lt;br /&gt;	 if(FSave(1)==0)&lt;br /&gt;		return 0;&lt;br /&gt;	 }&lt;br /&gt;	 else&lt;br /&gt;	 FSave(0);&lt;br /&gt;	 break;&lt;br /&gt;	 }&lt;br /&gt;	 DrawButton(27,14,&quot; Yes &quot;,0);&lt;br /&gt;	}&lt;br /&gt;	else if(35&lt;mx&amp;&amp;mx&lt;44)&lt;br /&gt;	{&lt;br /&gt;	 DrawButton(37,14,&quot; No &quot;,1);&lt;br /&gt;	 if( my==13 &amp;&amp; 36&lt;mx&amp;&amp;mx&lt;45 )&lt;br /&gt;	 break;&lt;br /&gt;	 DrawButton(37,14,&quot; No &quot;,0);&lt;br /&gt;	}&lt;br /&gt;	else if(45&lt;mx&amp;&amp;mx&lt;54)&lt;br /&gt;	{&lt;br /&gt;	 DrawButton(47,14,&quot; Cancel &quot;,1);&lt;br /&gt;	 if( my==13 &amp;&amp; 46&lt;mx&amp;&amp;mx&lt;54 )&lt;br /&gt;	 {&lt;br /&gt;	 ClearMenu();&lt;br /&gt;	 return 0;&lt;br /&gt;	 }&lt;br /&gt;	 DrawButton(47,14,&quot; Cancel &quot;,0);&lt;br /&gt;	}&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; ClearMenu();&lt;br /&gt; for(i=0;i&lt;NOL;i++)&lt;br /&gt; free(frm[fI].ln[i].data);&lt;br /&gt; free(frm[fI].ln), NoOfFrame--;&lt;br /&gt; for(i=fI;i&lt;NoOfFrame;i++)&lt;br /&gt; frm[i]=frm[i+1];&lt;br /&gt; fI--;&lt;br /&gt; SetFrame();&lt;br /&gt; return 1;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void FExit()&lt;br /&gt;{&lt;br /&gt; int i;&lt;br /&gt; ClearMenu();&lt;br /&gt; while(NoOfFrame)&lt;br /&gt; if(!FClose())&lt;br /&gt; return;&lt;br /&gt; free(copyStr.data);&lt;br /&gt; exit(0);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/******************** Edit ********************/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void ECopy()&lt;br /&gt;{&lt;br /&gt; int i,j,k=0;&lt;br /&gt; if(SX1==SX2&amp;&amp;SY1==SY2)&lt;br /&gt; return;&lt;br /&gt; copyStr.len=1;&lt;br /&gt; copyStr.data=(char*)realloc(copyStr.data,copyStr.len);&lt;br /&gt; if(!copyStr.data)&lt;br /&gt; LackOfMemory();&lt;br /&gt; for(i=SY1;i&lt;=SY2;i++)&lt;br /&gt; {&lt;br /&gt; for(j=0;frm[fI].ln[i].data[j]!=&#39;\0&#39;;j++)&lt;br /&gt; {&lt;br /&gt; if(i==SY1&amp;&amp;j==0)&lt;br /&gt;	j=SX1;&lt;br /&gt; if(i==SY2&amp;&amp;j==SX2)&lt;br /&gt;	break;&lt;br /&gt; copyStr.data[k++]=(frm[fI].ln[i].data[j]==&#39;\n&#39;)?&#39;\r&#39;:frm[fI].ln[i].data[j];&lt;br /&gt; copyStr.data=(char*)realloc(copyStr.data,++copyStr.len);&lt;br /&gt; if(!copyStr.data)&lt;br /&gt;	LackOfMemory();&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; copyStr.data[k]=&#39;\0&#39;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void EClear()&lt;br /&gt;{&lt;br /&gt; int i,j,l;&lt;br /&gt; int sX1=SX1, sY1=SY1, sX2=SX2, sY2=SY2;&lt;br /&gt; if( SX1==SX2 &amp;&amp; SY1==SY2 )&lt;br /&gt; return;&lt;br /&gt; CY=sY1, CX=sX1;;&lt;br /&gt; if(sY1==sY2)&lt;br /&gt; {&lt;br /&gt; for(i=sX1;i&lt;sX2;i++)&lt;br /&gt; DelChar();&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt; {&lt;br /&gt; while(LINEDATA[sX1]!=&#39;\n&#39;)&lt;br /&gt; DelChar();&lt;br /&gt; for(i=sY1+1;i&lt;sY2;i++)&lt;br /&gt; {&lt;br /&gt; CY++;&lt;br /&gt; for(CX=0;LINEDATA[0]!=&#39;\n&#39;;)&lt;br /&gt;	DelChar();&lt;br /&gt; }&lt;br /&gt; CY++;&lt;br /&gt; for(i=0;i&lt;sX2;i++)&lt;br /&gt; DelChar();&lt;br /&gt; CY=sY1, CX=LinLen(CY);&lt;br /&gt; for(i=sY1;i&lt;sY2;i++)&lt;br /&gt; DelChar();&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void ECut()&lt;br /&gt;{&lt;br /&gt; ECopy();&lt;br /&gt; EClear();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void EPaste()&lt;br /&gt;{&lt;br /&gt; int i;&lt;br /&gt; for(i=0;copyStr.data[i]!=&#39;\0&#39;;i++)&lt;br /&gt; AddChar(copyStr.data[i]);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/******************** Search ********************/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;int SFindALG(char find[],int sx,int sy)&lt;br /&gt;{&lt;br /&gt; int i,j,k;&lt;br /&gt; for(i=sy;i&lt;NOL;i++)&lt;br /&gt; {&lt;br /&gt; for(j=0;frm[fI].ln[i].data[j]!=&#39;\0&#39;;j++)&lt;br /&gt; {&lt;br /&gt; if(i==sy&amp;&amp;j==0)&lt;br /&gt;	j=sx;&lt;br /&gt; if(tolower(frm[fI].ln[i].data[j])==tolower(find[0])&amp;&amp;(j==0||!isalpha(frm[fI].ln[i].data[j-1])))&lt;br /&gt; {&lt;br /&gt;	for(k=1;find[k]!=&#39;\0&#39;;k++)&lt;br /&gt;	 if(tolower(frm[fI].ln[i].data[j+k])!=tolower(find[k]))&lt;br /&gt;	 break;&lt;br /&gt;	if(find[k]==&#39;\0&#39;&amp;&amp;!isalpha(frm[fI].ln[i].data[j+k]))&lt;br /&gt;	{&lt;br /&gt;	 SX1=j, SX2=j+k, SY1=SY2=i;&lt;br /&gt;	 return 1;&lt;br /&gt;	}&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void SFind()&lt;br /&gt;{&lt;br /&gt; strcpy(fR[0],&quot;&quot;);&lt;br /&gt; DrawCanvas(26,10,55,16,&quot;Find&quot;);&lt;br /&gt; Color(WHITE,RED);&lt;br /&gt; Put(29,12,&quot;Word&quot;);&lt;br /&gt; Color(-1,BLUE);&lt;br /&gt; Put(37,12,&quot; &quot;);&lt;br /&gt; if(get(0)==0)&lt;br /&gt; {&lt;br /&gt; ClearMenu();&lt;br /&gt; return;&lt;br /&gt; }&lt;br /&gt; ClearMenu();&lt;br /&gt; if(SFindALG(fR[0],0,0))&lt;br /&gt; {&lt;br /&gt; SetCurser(SX2-CX,SY2-CY);&lt;br /&gt; flag|=16;&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt; OkDialogBox(&quot;Not Found&quot;,&quot;The word not found&quot;);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void SNext()&lt;br /&gt;{&lt;br /&gt; ClearMenu();&lt;br /&gt; if(!strcmp(fR[0],&quot;&quot;))&lt;br /&gt; return;&lt;br /&gt; if(SFindALG(fR[0],CX,CY))&lt;br /&gt; {&lt;br /&gt; SetCurser(SX2-CX,SY2-CY);&lt;br /&gt; flag|=16;&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt; OkDialogBox(&quot;Not Found&quot;,&quot;The word not found&quot;);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void SReplace()&lt;br /&gt;{&lt;br /&gt; char *tmp;&lt;br /&gt; DrawCanvas(26,8,55,17,&quot;Replace&quot;);&lt;br /&gt; strcpy(fR[1],&quot;&quot;), strcpy(fR[2],&quot;&quot;);&lt;br /&gt; Color(WHITE,RED);&lt;br /&gt; Put(29,10,&quot;Word :&quot;), Put(29,12,&quot;Replace:&quot;);&lt;br /&gt; Color(-1,BLUE);&lt;br /&gt; Put(37,10,&quot; &quot;), Put(37,12,&quot; &quot;);&lt;br /&gt; Color(BLACK,RED);&lt;br /&gt; Put(29,16,&quot; [Tab to change fields.]&quot;);&lt;br /&gt; if(get(1)==0)&lt;br /&gt; {&lt;br /&gt; ClearMenu();&lt;br /&gt; return;&lt;br /&gt; }&lt;br /&gt; ClearMenu();&lt;br /&gt; tmp=(char*)malloc(sizeof(char)*copyStr.len);&lt;br /&gt; strcpy(tmp,copyStr.data), strcpy(copyStr.data,fR[2]);&lt;br /&gt; if(SFindALG(fR[1],0,0))&lt;br /&gt; {&lt;br /&gt; while(1)&lt;br /&gt; {&lt;br /&gt; EClear(), EPaste();&lt;br /&gt; if(!SFindALG(fR[1],SX2,SY2))&lt;br /&gt;	break;&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt; OkDialogBox(&quot;Not Found&quot;,&quot;The word not found&quot;);&lt;br /&gt; strcpy(copyStr.data,tmp), free(tmp);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/******************** Case ********************/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void CUpperLower(int upper)&lt;br /&gt;{&lt;br /&gt; int i,j;&lt;br /&gt; for(i=SY1;i&lt;=SY2;i++)&lt;br /&gt; {&lt;br /&gt; if(i==SY1)&lt;br /&gt; j=SX1;&lt;br /&gt; else&lt;br /&gt; j=0;&lt;br /&gt; for(;j&lt;LinLen(i);j++)&lt;br /&gt; {&lt;br /&gt; if(i==SY2&amp;&amp;j==SX2)&lt;br /&gt;	break;&lt;br /&gt; frm[fI].ln[i].data[j]=(upper)?toupper(frm[fI].ln[i].data[j]):tolower(frm[fI].ln[i].data[j]);&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; frm[fI].saved=0;&lt;br /&gt; flag|=8;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/******************* Table *******************/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void TSDW(int index)&lt;br /&gt;{&lt;br /&gt; char ch;&lt;br /&gt; int i,j,hL=10;&lt;br /&gt; char *title[]={&quot;Single&quot;, &quot;Double&quot;, &quot;SnglDbl&quot;, &quot;DblSngl&quot;};&lt;br /&gt; char *icon[]={&quot;ÚÂ¿ÃÅ´ÀÁÙ³Ä&quot;,&quot;ÉË»ÌÎ¹ÈÊ¼ºÍ&quot;,&quot;ÖÒ·Ç×¶ÓÐ½ºÄ&quot;,&quot;ÕÑ¸ÆØµÔÏ¾³Í&quot;};&lt;br /&gt; DrawCanvas(28,7,52,19,title[index]);&lt;br /&gt; DrawButton(31,17,&quot; Ok &quot;,0), DrawButton(42,17,&quot; Cancel &quot;,0);&lt;br /&gt; Color(WHITE,BLUE);&lt;br /&gt; HideMouse();&lt;br /&gt; for(i=0;i&lt;=2;i++)&lt;br /&gt; {&lt;br /&gt; gotoxy(33,10+i*2);&lt;br /&gt; for(j=0;j&lt;=14;j++)&lt;br /&gt; cprintf(&quot; &quot;);&lt;br /&gt; }&lt;br /&gt; for(i=0;i&lt;11;i++)&lt;br /&gt; gotoxy(33+i%3*5,9+i/3*2), cprintf(&quot; %c &quot;,icon[index][i]);&lt;br /&gt; Color(-1,MAGENTA);&lt;br /&gt; gotoxy(34+hL%3*5,9+hL/3*2), cprintf(&quot; %c &quot;,icon[index][hL]);&lt;br /&gt; ShowMouse();&lt;br /&gt; HideCurser();&lt;br /&gt; while(1)&lt;br /&gt; {&lt;br /&gt; if(kbhit())&lt;br /&gt; {&lt;br /&gt; ch=getch();&lt;br /&gt; if(ch==0)&lt;br /&gt; {&lt;br /&gt;	ch=getch();&lt;br /&gt;	Color(-1,BLUE);&lt;br /&gt;	HideMouse();&lt;br /&gt;	gotoxy(34+hL%3*5,9+hL/3*2), cprintf(&quot; %c &quot;,icon[index][hL]);&lt;br /&gt;	switch(ch)&lt;br /&gt;	{&lt;br /&gt;	 case 72: if( hL/3!=0 ) hL-=3; break;&lt;br /&gt;	 case 75: if( hL%3!=0 ) hL-=1; break;&lt;br /&gt;	 case 77: if( hL%3!=2 &amp;&amp; hL!=10 ) hL+=1; break;&lt;br /&gt;	 case 80: if( hL/3!=3 &amp;&amp; hL!=8 ) hL+=3; break;&lt;br /&gt;	}&lt;br /&gt;	Color(-1,MAGENTA);&lt;br /&gt;	gotoxy( 34+hL%3*5, 9+hL/3*2 ), cprintf(&quot; %c &quot;,icon[index][hL]);&lt;br /&gt;	ShowMouse();&lt;br /&gt;	HideCurser();&lt;br /&gt; }&lt;br /&gt; else if( ch==&#39;\r&#39; || ch==&#39;o&#39;|| ch==&#39;O&#39; )&lt;br /&gt; {&lt;br /&gt;	AddChar(icon[index][hL]);&lt;br /&gt;	goto end;&lt;br /&gt; }&lt;br /&gt; else if( ch==27 || ch==&#39;c&#39; || ch==&#39;C&#39; )&lt;br /&gt;	goto end;&lt;br /&gt; }&lt;br /&gt; if(ReadMouse()==1)&lt;br /&gt; {&lt;br /&gt; if( 7&lt;my&amp;&amp;my&lt;15 &amp;&amp; 32&lt;mx&amp;&amp;mx&lt;46 )&lt;br /&gt; {&lt;br /&gt;	if( ( my!=14 || mx&lt;43 ) &amp;&amp; (mx-33)%5&lt;3 &amp;&amp; (my-8)%2&lt;1 )&lt;br /&gt;	{&lt;br /&gt;	 Color(-1,BLUE);&lt;br /&gt;	 gotoxy(34+hL%3*5,9+hL/3*2);&lt;br /&gt;	 HideMouse();&lt;br /&gt;	 cprintf(&quot; %c &quot;,icon[index][hL]);&lt;br /&gt;	 hL=(my-8)/2*3+(mx-33)/5;&lt;br /&gt;	 Color(-1,GREEN);&lt;br /&gt;	 gotoxy(34+hL%3*5,9+hL/3*2), cprintf(&quot; %c &quot;,icon[index][hL]);&lt;br /&gt;	 ShowMouse();&lt;br /&gt;	 HideCurser();&lt;br /&gt;	 while(ReadMouse());&lt;br /&gt;	 if( 7&lt;my&amp;&amp;my&lt;15 &amp;&amp; 32&lt;mx&amp;&amp;mx&lt;46 &amp;&amp; (my!=14||mx&lt;43) )&lt;br /&gt;	 if( (mx-33)%5&lt;3 &amp;&amp; (my-8)%2&lt;1 &amp;&amp; hL==(my-8)/2*3+(mx-33)/5 )&lt;br /&gt;	 {&lt;br /&gt;	 AddChar(icon[index][hL]);&lt;br /&gt;	 goto end;&lt;br /&gt;	 }&lt;br /&gt;	 Color(WHITE,MAGENTA), gotoxy( 34+hL%3*5, 9+hL/3*2 );&lt;br /&gt;	 HideMouse(), cprintf(&quot; %c &quot;,icon[index][hL]), ShowMouse();&lt;br /&gt;	 HideCurser();&lt;br /&gt;	}&lt;br /&gt; }&lt;br /&gt; else if(my==16)&lt;br /&gt; {&lt;br /&gt;	if(29&lt;mx&amp;&amp;mx&lt;38)&lt;br /&gt;	{&lt;br /&gt;	 DrawButton(31,17,&quot; Ok &quot;,1);&lt;br /&gt;	 if( my==16 &amp;&amp; 30&lt;mx&amp;&amp;mx&lt;37 )&lt;br /&gt;	 {&lt;br /&gt;	 AddChar(icon[index][hL]);&lt;br /&gt;	 goto end;&lt;br /&gt;	 }&lt;br /&gt;	 DrawButton(31,17,&quot; Ok &quot;,0);&lt;br /&gt;	}&lt;br /&gt;	else if(40&lt;mx&amp;&amp;mx&lt;49)&lt;br /&gt;	{&lt;br /&gt;	 DrawButton(42,17,&quot; Cancel &quot;,1);&lt;br /&gt;	 if( my==16 &amp;&amp; 41&lt;mx&amp;&amp;mx&lt;50 )&lt;br /&gt;	 goto end;&lt;br /&gt;	 DrawButton(42,17,&quot; Cancel &quot;,0);&lt;br /&gt;	}&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt;end: ClearMenu();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/******************* Window *******************/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void WListAll(int frmIndex)&lt;br /&gt;{&lt;br /&gt; int i;&lt;br /&gt; struct frame tmp=frm[frmIndex];&lt;br /&gt; ClearMenu();&lt;br /&gt; for(i=frmIndex;i&lt;NoOfFrame-1;i++)&lt;br /&gt; frm[i]=frm[i+1];&lt;br /&gt; for(;i&gt;fI+1;i--)&lt;br /&gt; frm[i]=frm[i-1];&lt;br /&gt; frm[i]=tmp;&lt;br /&gt; fI=i;&lt;br /&gt; SetFrame();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/******************* Help *******************/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void HAbout()&lt;br /&gt;{&lt;br /&gt; DrawCanvas(28,8,53,18,&quot;About&quot;);&lt;br /&gt; Color(WHITE,RED);&lt;br /&gt; Put(34,10,&quot; Text Editor&quot;);&lt;br /&gt; Put(34,11,&quot; vertion 1.0&quot;);&lt;br /&gt; Put(34,12,&quot; By&quot;);&lt;br /&gt; Put(34,13,&quot;Yassar,&quot;);&lt;br /&gt; Put(34,14,&quot; MCA student.&quot;);&lt;br /&gt; HGetOk(16);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void HControls()&lt;br /&gt;{&lt;br /&gt; DrawCanvas(25,4,56,21,&quot;Controls&quot;);&lt;br /&gt; Color(YELLOW,RED);&lt;br /&gt; Put(27, 6,&quot;EDIT KEYS&quot;);&lt;br /&gt; Put(27,12,&quot;CURSER KEYS&quot;);&lt;br /&gt; Put(27,15,&quot;SELECTION METHODS&quot;);&lt;br /&gt; Color(WHITE,-1);&lt;br /&gt; Put(29, 7,&quot;Shift+Del [Cut]&quot;);&lt;br /&gt; Put(29, 8,&quot;Ctrl+Ins [Copy]&quot;);&lt;br /&gt; Put(29, 9,&quot;Shift+Ins [Paste]&quot;);&lt;br /&gt; Put(29,10,&quot;Ctrl+Del [Clear]&quot;);&lt;br /&gt; Put(29,11,&quot;Bksp,Del,Tab,Enter.&quot;);&lt;br /&gt; Put(29,13,&quot;Arrow keys,Home,End,PgUp,&quot;);&lt;br /&gt; Put(29,14,&quot;PgDn,Ctrl+PgUp,ctrl+PgDn.&quot;);&lt;br /&gt; Put(29,16,&quot;Shift+curser keys,&quot;);&lt;br /&gt; Put(29,17,&quot;Ctrl+mouse click,dragging.&quot;);&lt;br /&gt; HGetOk(19);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void HDedication()&lt;br /&gt;{&lt;br /&gt; DrawCanvas(26,9,55,18,&quot;Dedicate To&quot;);&lt;br /&gt; Color(WHITE,RED);&lt;br /&gt; Put(27,11,&quot; RAJKUMAR sir.&quot;);&lt;br /&gt; Put(27,12,&quot; ^^^^^^^^^^^^^&quot;);&lt;br /&gt; Put(29,13,&quot;He helps me to understand&quot;);&lt;br /&gt; Put(29,14,&quot;the power of C.&quot;);&lt;br /&gt; HGetOk(16);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void DrawCmd(int pos)&lt;br /&gt;{&lt;br /&gt; int i;&lt;br /&gt; for(i=0;i&lt;mC[pos].NoOfCmd;i++)&lt;br /&gt; {&lt;br /&gt; if(!mC[pos].enabl[i])&lt;br /&gt; Color(BLACK,RED);&lt;br /&gt; else if(i==hL)&lt;br /&gt; Color(WHITE,GREEN);&lt;br /&gt; else&lt;br /&gt; Color(WHITE,RED);&lt;br /&gt; Put(cmdXY[pos],3+i,mC[pos].cmd[i]);&lt;br /&gt; }&lt;br /&gt; HideCurser();&lt;br /&gt; while(ReadMouse());&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void HighlightCmd(int pos)&lt;br /&gt;{&lt;br /&gt; int i;&lt;br /&gt; char ch;&lt;br /&gt; ch=getch();&lt;br /&gt; if(hL==-1)&lt;br /&gt; return;&lt;br /&gt; Color(WHITE,RED), Put(cmdXY[pos],3+hL,mC[pos].cmd[hL]);&lt;br /&gt; if(ch==72)&lt;br /&gt; {&lt;br /&gt; for(i=hL-1;i&gt;=0;i--)&lt;br /&gt; if(mC[pos].enabl[i]==1)&lt;br /&gt; {&lt;br /&gt;	hL=i;&lt;br /&gt;	break;&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; else if(ch==80)&lt;br /&gt; {&lt;br /&gt; for(i=hL+1;i&lt;mC[pos].NoOfCmd;i++)&lt;br /&gt; if(mC[pos].enabl[i]==1)&lt;br /&gt; {&lt;br /&gt;	hL=i;&lt;br /&gt;	break;&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; Color(-1,GREEN), Put(cmdXY[pos],3+hL,mC[pos].cmd[hL]);&lt;br /&gt; HideCurser();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/******************** Menu ********************/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void File()&lt;br /&gt;{&lt;br /&gt; char ch;&lt;br /&gt; DrawCanvas(4,2,17,10,&quot;&quot;);&lt;br /&gt; hL=6;&lt;br /&gt; if(NoOfFrame==0)&lt;br /&gt; mC[0].enabl[3]= mC[0].enabl[4]=0;&lt;br /&gt; else&lt;br /&gt; mC[0].enabl[3]=mC[0].enabl[4]=1, hL=3;&lt;br /&gt; if( NoOfFrame &amp;&amp; strncmp(frm[fI].fileName,&quot;File:&quot;,5) &amp;&amp; frm[fI].saved==0 )&lt;br /&gt; mC[0].enabl[2]=1, hL=2;&lt;br /&gt; else&lt;br /&gt; mC[0].enabl[2]=0;&lt;br /&gt; if(NoOfFrame==MAXFILES)&lt;br /&gt; mC[0].enabl[0]= mC[0].enabl[1]=0;&lt;br /&gt; else&lt;br /&gt; mC[0].enabl[0]= mC[0].enabl[1]=1, hL=0;&lt;br /&gt; DrawCmd(0);&lt;br /&gt; while(1)&lt;br /&gt; {&lt;br /&gt; if(kbhit())&lt;br /&gt; {&lt;br /&gt; if((ch=getch())==27)&lt;br /&gt;	goto end;&lt;br /&gt; else if(ch==&#39;\r&#39;)&lt;br /&gt; {&lt;br /&gt;	switch(hL)&lt;br /&gt;	{&lt;br /&gt;	 case 0: FNew(); goto end;&lt;br /&gt;	 case 1: FOpen(&quot;&quot;); goto end;&lt;br /&gt;	 case 2: FSave(0); goto end;&lt;br /&gt;	 case 3: FSave(1); goto end;&lt;br /&gt;	 case 4: FClose(); goto end;&lt;br /&gt;	 case 6: FExit(); goto end;&lt;br /&gt;	}&lt;br /&gt; }&lt;br /&gt; else if(ch==0)&lt;br /&gt;	HighlightCmd(0);&lt;br /&gt; else&lt;br /&gt; {&lt;br /&gt;	switch(ch)&lt;br /&gt;	{&lt;br /&gt;	 case &#39;n&#39;:&lt;br /&gt;	 case &#39;N&#39;: if(mC[0].enabl[0]) FNew(); goto end;&lt;br /&gt;	 case &#39;o&#39;:&lt;br /&gt;	 case &#39;O&#39;: if(mC[0].enabl[1]) FOpen(&quot;&quot;); goto end;&lt;br /&gt;	 case &#39;s&#39;:&lt;br /&gt;	 case &#39;S&#39;: if(mC[0].enabl[2]) FSave(0); goto end;&lt;br /&gt;	 case &#39;a&#39;:&lt;br /&gt;	 case &#39;A&#39;: if(mC[0].enabl[3]) FSave(1); goto end;&lt;br /&gt;	 case &#39;c&#39;:&lt;br /&gt;	 case &#39;C&#39;: if(mC[0].enabl[4]) FClose(); goto end;&lt;br /&gt;	 case &#39;e&#39;:&lt;br /&gt;	 case &#39;E&#39;: if(mC[0].enabl[6]) FExit(); goto end;&lt;br /&gt;	 default : goto end;&lt;br /&gt;	}&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; if(ReadMouse()==1)&lt;br /&gt; {&lt;br /&gt; if( 2&lt;mx&amp;&amp;mx&lt;17 &amp;&amp; 0&lt;my&amp;&amp;my&lt;10 )&lt;br /&gt;	 while(ReadMouse());&lt;br /&gt; if( 4&lt;mx&amp;&amp;mx&lt;15 )&lt;br /&gt; {&lt;br /&gt;	switch(my)&lt;br /&gt;	{&lt;br /&gt;	 case 2 : if(mC[0].enabl[0]) FNew(); goto end;&lt;br /&gt;	 case 3 : if(mC[0].enabl[1]) FOpen(&quot;&quot;); goto end;&lt;br /&gt;	 case 4 : if(mC[0].enabl[2]) FSave(0); goto end;&lt;br /&gt;	 case 5 : if(mC[0].enabl[3]) FSave(1); goto end;&lt;br /&gt;	 case 6 : if(mC[0].enabl[4]) FClose(); goto end;&lt;br /&gt;	 case 8 : if(mC[0].enabl[6]) FExit(); goto end;&lt;br /&gt;	 default: goto end;&lt;br /&gt;	}&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt;	goto end;&lt;br /&gt; }&lt;br /&gt; if(mb==2)&lt;br /&gt; goto end;&lt;br /&gt; }&lt;br /&gt;end: ClearMenu();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void Edit()&lt;br /&gt;{&lt;br /&gt; char ch;&lt;br /&gt; DrawCanvas(13,2,26,7,&quot;&quot;);&lt;br /&gt; hL=-1;&lt;br /&gt; if(NoOfFrame==0)&lt;br /&gt; mC[1].enabl[2]=0;&lt;br /&gt; else&lt;br /&gt; mC[1].enabl[2]=1, hL=2;&lt;br /&gt; if( NoOfFrame==0 || SX1==SX2&amp;&amp;SY1==SY2 )&lt;br /&gt; mC[1].enabl[0]= mC[1].enabl[1]= mC[1].enabl[3]=0;&lt;br /&gt; else&lt;br /&gt; mC[1].enabl[0]= mC[1].enabl[1]= mC[1].enabl[3]=1, hL=0;&lt;br /&gt; DrawCmd(1);&lt;br /&gt; while(1)&lt;br /&gt; {&lt;br /&gt; if(kbhit())&lt;br /&gt; {&lt;br /&gt; if((ch=getch())==27)&lt;br /&gt;	goto end;&lt;br /&gt; else if(ch==0)&lt;br /&gt;	HighlightCmd(1);&lt;br /&gt; else if(ch==&#39;\r&#39;)&lt;br /&gt; {&lt;br /&gt;	switch(hL)&lt;br /&gt;	{&lt;br /&gt;	 case 0 : ECut(); goto end;&lt;br /&gt;	 case 1 : ECopy(); goto end;&lt;br /&gt;	 case 2 : EPaste(); goto end;&lt;br /&gt;	 case 3 : EClear(); goto end;&lt;br /&gt;	 default: goto end;&lt;br /&gt;	}&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt; {&lt;br /&gt;	switch(ch)&lt;br /&gt;	{&lt;br /&gt;	 case &#39;t&#39;:&lt;br /&gt;	 case &#39;T&#39;: if(mC[1].enabl[0]) ECut(); goto end;&lt;br /&gt;	 case &#39;c&#39;:&lt;br /&gt;	 case &#39;C&#39;: if(mC[1].enabl[1]) ECopy(); goto end;&lt;br /&gt;	 case &#39;p&#39;:&lt;br /&gt;	 case &#39;P&#39;: if(mC[1].enabl[2]) EPaste(); goto end;&lt;br /&gt;	 case &#39;l&#39;:&lt;br /&gt;	 case &#39;L&#39;: if(mC[1].enabl[3]) EClear(); goto end;&lt;br /&gt;	 default : goto end;&lt;br /&gt;	}&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; if(ReadMouse()==1)&lt;br /&gt; {&lt;br /&gt; if( 11&lt;mx&amp;&amp;mx&lt;26 &amp;&amp; 0&lt;my&amp;&amp;my&lt;7 )&lt;br /&gt;	while(ReadMouse());&lt;br /&gt; if( 13&lt;mx&amp;&amp;mx&lt;24 )&lt;br /&gt; {&lt;br /&gt;	switch(my)&lt;br /&gt;	{&lt;br /&gt;	 case 2 : if(mC[1].enabl[0]) ECut(); goto end;&lt;br /&gt;	 case 3 : if(mC[1].enabl[1]) ECopy(); goto end;&lt;br /&gt;	 case 4 : if(mC[1].enabl[2]) EPaste(); goto end;&lt;br /&gt;	 case 5 : if(mC[1].enabl[3]) EClear(); goto end;&lt;br /&gt;	 default: goto end;&lt;br /&gt;	}&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt;	goto end;&lt;br /&gt; }&lt;br /&gt; if(mb==2)&lt;br /&gt; goto end;&lt;br /&gt; }&lt;br /&gt;end: ClearMenu();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void Search()&lt;br /&gt;{&lt;br /&gt; char ch;&lt;br /&gt; DrawCanvas(23,2,36,6,&quot;&quot;);&lt;br /&gt; if(NoOfFrame&gt;0)&lt;br /&gt; mC[2].enabl[0]=mC[2].enabl[2]=1, hL=0;&lt;br /&gt; else&lt;br /&gt; mC[2].enabl[0]=mC[2].enabl[2]=0, hL=-1;&lt;br /&gt; if(NoOfFrame&gt;0 &amp;&amp; fR[0][0]!=&#39;\0&#39;)&lt;br /&gt; mC[2].enabl[1]=1;&lt;br /&gt; else&lt;br /&gt; mC[2].enabl[1]=0;&lt;br /&gt; DrawCmd(2);&lt;br /&gt; while(1)&lt;br /&gt; {&lt;br /&gt; if(kbhit())&lt;br /&gt; {&lt;br /&gt; if((ch=getch())==27)&lt;br /&gt;	goto end;&lt;br /&gt; else if(ch==0)&lt;br /&gt;	HighlightCmd(2);&lt;br /&gt; else if(ch==&#39;\r&#39;)&lt;br /&gt; {&lt;br /&gt;	switch(hL)&lt;br /&gt;	{&lt;br /&gt;	 case 0 : SFind(); goto end;&lt;br /&gt;	 case 1 : SNext(); goto end;&lt;br /&gt;	 case 2 : SReplace(); goto end;&lt;br /&gt;	 default: goto end;&lt;br /&gt;	}&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt; {&lt;br /&gt;	switch(ch)&lt;br /&gt;	{&lt;br /&gt;	 case &#39;f&#39;:&lt;br /&gt;	 case &#39;F&#39;: if(mC[2].enabl[0]) SFind(); goto end;&lt;br /&gt;	 case &#39;n&#39;:&lt;br /&gt;	 case &#39;N&#39;: if(mC[2].enabl[1]) SNext(); goto end;&lt;br /&gt;	 case &#39;r&#39;:&lt;br /&gt;	 case &#39;R&#39;: if(mC[2].enabl[2]) SReplace(); goto end;&lt;br /&gt;	 default : goto end;&lt;br /&gt;	}&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; if(ReadMouse()==1)&lt;br /&gt; {&lt;br /&gt; if( 21&lt;mx&amp;&amp;mx&lt;36 &amp;&amp; 0&lt;my&amp;&amp;my&lt;6 )&lt;br /&gt;	while(ReadMouse());&lt;br /&gt; if(23&lt;mx&amp;&amp;mx&lt;34)&lt;br /&gt; {&lt;br /&gt;	switch(my)&lt;br /&gt;	{&lt;br /&gt;	 case 2 : if(mC[2].enabl[0]) SFind(); goto end;&lt;br /&gt;	 case 3 : if(mC[2].enabl[1]) SNext(); goto end;&lt;br /&gt;	 case 4 : if(mC[2].enabl[2]) SReplace(); goto end;&lt;br /&gt;	 default: goto end;&lt;br /&gt;	}&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt; goto end;&lt;br /&gt; }&lt;br /&gt; if(mb==2)&lt;br /&gt; goto end;&lt;br /&gt; }&lt;br /&gt;end: ClearMenu();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void Case()&lt;br /&gt;{&lt;br /&gt; char ch;&lt;br /&gt; DrawCanvas(33,2,46,5,&quot;&quot;);&lt;br /&gt; if( NoOfFrame==0 || SX1==SX2&amp;&amp;SY1==SY2 )&lt;br /&gt; mC[3].enabl[0]= mC[3].enabl[1]=0, hL=-1;&lt;br /&gt; else&lt;br /&gt; mC[3].enabl[0]= mC[3].enabl[1]=1, hL=0;&lt;br /&gt; DrawCmd(3);&lt;br /&gt; while(1)&lt;br /&gt; {&lt;br /&gt; if(kbhit())&lt;br /&gt; {&lt;br /&gt; if((ch=getch())==27)&lt;br /&gt;	goto end;&lt;br /&gt; else if(ch==0)&lt;br /&gt;	HighlightCmd(3);&lt;br /&gt; else if(ch==&#39;\r&#39;)&lt;br /&gt; {&lt;br /&gt;	switch(hL)&lt;br /&gt;	{&lt;br /&gt;	 case 0 : if(mC[3].enabl[0]) CUpperLower(1); goto end;&lt;br /&gt;	 case 1 : if(mC[3].enabl[1]) CUpperLower(0); goto end;&lt;br /&gt;	 default: goto end;&lt;br /&gt;	}&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt; {&lt;br /&gt;	switch(ch)&lt;br /&gt;	{&lt;br /&gt;	 case &#39;u&#39;:&lt;br /&gt;	 case &#39;U&#39;: if(mC[3].enabl[0]) CUpperLower(1); goto end;&lt;br /&gt;	 case &#39;l&#39;:&lt;br /&gt;	 case &#39;L&#39;: if(mC[3].enabl[1]) CUpperLower(0); goto end;&lt;br /&gt;	 default : goto end;&lt;br /&gt;	}&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; if(ReadMouse()==1)&lt;br /&gt; {&lt;br /&gt; if( 31&lt;mx&amp;&amp;mx&lt;46 &amp;&amp; 0&lt;my&amp;&amp;my&lt;5 )&lt;br /&gt;	while(ReadMouse());&lt;br /&gt; if(33&lt;mx&amp;&amp;mx&lt;44)&lt;br /&gt; {&lt;br /&gt;	switch(my)&lt;br /&gt;	{&lt;br /&gt;	 case 2 : if(mC[3].enabl[0]) CUpperLower(1); goto end;&lt;br /&gt;	 case 3 : if(mC[3].enabl[1]) CUpperLower(0); goto end;&lt;br /&gt;	 default: goto end;&lt;br /&gt;	}&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt;	goto end;&lt;br /&gt; }&lt;br /&gt; else if(mb==2)&lt;br /&gt; goto end;&lt;br /&gt; }&lt;br /&gt;end: ClearMenu();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void Table()&lt;br /&gt;{&lt;br /&gt; char ch;&lt;br /&gt; DrawCanvas(42,2,55,7,&quot;&quot;);&lt;br /&gt; if(NoOfFrame&gt;0)&lt;br /&gt; mC[4].enabl[0]= mC[4].enabl[1]= mC[4].enabl[2]= mC[4].enabl[3]=1, hL=0;&lt;br /&gt; else&lt;br /&gt; mC[4].enabl[0]= mC[4].enabl[1]= mC[4].enabl[2]= mC[4].enabl[3]=0, hL=-1;&lt;br /&gt; DrawCmd(4);&lt;br /&gt; while(1)&lt;br /&gt; {&lt;br /&gt; if(kbhit())&lt;br /&gt; {&lt;br /&gt; if((ch=getch())==27)&lt;br /&gt;	goto end;&lt;br /&gt; else if(ch==0)&lt;br /&gt;	HighlightCmd(4);&lt;br /&gt; else if(ch==&#39;\r&#39;)&lt;br /&gt; {&lt;br /&gt;	switch(hL)&lt;br /&gt;	{&lt;br /&gt;	 case 0 : if(mC[4].enabl[0]) TSDW(0); goto end;&lt;br /&gt;	 case 1 : if(mC[4].enabl[1]) TSDW(1); goto end;&lt;br /&gt;	 case 2 : if(mC[4].enabl[2]) TSDW(2); goto end;&lt;br /&gt;	 case 3 : if(mC[4].enabl[3]) TSDW(3); goto end;&lt;br /&gt;	 default: goto end;&lt;br /&gt;	}&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt; {&lt;br /&gt;	switch(ch)&lt;br /&gt;	{&lt;br /&gt;	 case &#39;s&#39;:&lt;br /&gt;	 case &#39;S&#39;: if(mC[4].enabl[0]) TSDW(0); goto end;&lt;br /&gt;	 case &#39;d&#39;:&lt;br /&gt;	 case &#39;D&#39;: if(mC[4].enabl[1]) TSDW(1); goto end;&lt;br /&gt;	 case &#39;n&#39;:&lt;br /&gt;	 case &#39;N&#39;: if(mC[4].enabl[2]) TSDW(2); goto end;&lt;br /&gt;	 case &#39;b&#39;:&lt;br /&gt;	 case &#39;B&#39;: if(mC[4].enabl[3]) TSDW(3); goto end;&lt;br /&gt;	 default : goto end;&lt;br /&gt;	}&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; if(ReadMouse()==1)&lt;br /&gt; {&lt;br /&gt; if( 40&lt;mx&amp;&amp;mx&lt;55 &amp;&amp; 0&lt;my&amp;&amp;my&lt;7 )&lt;br /&gt;	while(ReadMouse());&lt;br /&gt; if(42&lt;mx&amp;&amp;mx&lt;53)&lt;br /&gt; {&lt;br /&gt;	switch(my)&lt;br /&gt;	{&lt;br /&gt;	 case 2 : if(mC[4].enabl[0]) TSDW(0); goto end;&lt;br /&gt;	 case 3 : if(mC[4].enabl[1]) TSDW(1); goto end;&lt;br /&gt;	 case 4 : if(mC[4].enabl[2]) TSDW(2); goto end;&lt;br /&gt;	 case 5 : if(mC[4].enabl[3]) TSDW(3); goto end;&lt;br /&gt;	 default: goto end;&lt;br /&gt;	}&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt; goto end;&lt;br /&gt; }&lt;br /&gt; if(mb==2)&lt;br /&gt; goto end;&lt;br /&gt; }&lt;br /&gt;end: ClearMenu();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void Window()&lt;br /&gt;{&lt;br /&gt; int i;&lt;br /&gt; char fn[MAXFILE],ch;&lt;br /&gt; DrawCanvas(53,2,66,6+NoOfFrame,&quot;&quot;);&lt;br /&gt; mC[5].NoOfCmd=3;&lt;br /&gt; for(i=0;i&lt;NoOfFrame;i++)&lt;br /&gt; {&lt;br /&gt; FileName(fn,frm[i].fileName);&lt;br /&gt; sprintf(mC[5].cmd[mC[5].NoOfCmd],&quot; %-8s &quot;,fn);&lt;br /&gt; mC[5].NoOfCmd++;&lt;br /&gt; }&lt;br /&gt; if(NoOfFrame==0)&lt;br /&gt; mC[5].enabl[0]=mC[5].enabl[1]=0, hL=-1;&lt;br /&gt; else if(NoOfFrame==1)&lt;br /&gt; mC[5].enabl[0]=mC[5].enabl[1]=0, hL=3;&lt;br /&gt; else&lt;br /&gt; mC[5].enabl[0]=mC[5].enabl[1]=1, hL=0;&lt;br /&gt; DrawCmd(5);&lt;br /&gt; while(1)&lt;br /&gt; {&lt;br /&gt; if(kbhit())&lt;br /&gt; {&lt;br /&gt; if((ch=getch())==27)&lt;br /&gt;	goto end;&lt;br /&gt; else if(ch==0)&lt;br /&gt;	HighlightCmd(5);&lt;br /&gt; else if(ch==&#39;\r&#39;)&lt;br /&gt; {&lt;br /&gt;	switch(hL)&lt;br /&gt;	{&lt;br /&gt;	 case 0 : WListAll(0); goto end;&lt;br /&gt;	 case 1 : WListAll(fI-1); goto end;&lt;br /&gt;	 default: if(hL!=-1)&lt;br /&gt;		 WListAll(hL-3); goto end;&lt;br /&gt;	}&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt; {&lt;br /&gt;	switch(ch)&lt;br /&gt;	{&lt;br /&gt;	 case &#39;n&#39;:&lt;br /&gt;	 case &#39;N&#39;: if(mC[5].enabl[0])&lt;br /&gt;		 WListAll(0); goto end;&lt;br /&gt;	 case &#39;p&#39;:&lt;br /&gt;	 case &#39;P&#39;: if(mC[5].enabl[1])&lt;br /&gt;		 WListAll(fI-1); goto end;&lt;br /&gt;	 default : goto end;&lt;br /&gt;	}&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; if(ReadMouse()==1)&lt;br /&gt; {&lt;br /&gt; if( 51&lt;mx&amp;&amp;mx&lt;66 &amp;&amp; 0&lt;my&amp;&amp;my&lt;6+NoOfFrame)&lt;br /&gt;	while(ReadMouse());&lt;br /&gt; if(53&lt;mx&amp;&amp;mx&lt;64)&lt;br /&gt; {&lt;br /&gt;	switch(my)&lt;br /&gt;	{&lt;br /&gt;	 case 2 : if(mC[5].enabl[0])&lt;br /&gt;		 WListAll(0); goto end;&lt;br /&gt;	 case 3 : if(mC[5].enabl[1])&lt;br /&gt;		 WListAll(fI-1); goto end;&lt;br /&gt;	 default: if(4&lt;my&amp;&amp;my&lt;NoOfFrame+5)&lt;br /&gt;		 WListAll(my-5); goto end;&lt;br /&gt;	}&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt;	goto end;&lt;br /&gt; }&lt;br /&gt; if(mb==2)&lt;br /&gt; goto end;&lt;br /&gt; }&lt;br /&gt;end: ClearMenu();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void Help()&lt;br /&gt;{&lt;br /&gt; char ch;&lt;br /&gt; DrawCanvas(63,2,76,6,&quot;&quot;);&lt;br /&gt; hL=0;&lt;br /&gt; DrawCmd(6);&lt;br /&gt; while(1)&lt;br /&gt; {&lt;br /&gt; if(kbhit())&lt;br /&gt; {&lt;br /&gt; if((ch=getch())==27)&lt;br /&gt;	goto end;&lt;br /&gt; else if(ch==0)&lt;br /&gt;	HighlightCmd(6);&lt;br /&gt; else if(ch==&#39;\r&#39;)&lt;br /&gt; {&lt;br /&gt;	switch(hL)&lt;br /&gt;	{&lt;br /&gt;	 case 0: HControls(); goto end;&lt;br /&gt;	 case 1: HAbout(); goto end;&lt;br /&gt;	 case 2: HDedication(); goto end;&lt;br /&gt;	}&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt; {&lt;br /&gt;	switch(ch)&lt;br /&gt;	{&lt;br /&gt;	 case &#39;c&#39;:&lt;br /&gt;	 case &#39;C&#39;: HControls(); goto end;&lt;br /&gt;	 case &#39;a&#39;:&lt;br /&gt;	 case &#39;A&#39;: HAbout(); goto end;&lt;br /&gt;	 case &#39;d&#39;:&lt;br /&gt;	 case &#39;D&#39;: HDedication(); goto end;&lt;br /&gt;	 default : goto end;&lt;br /&gt;	}&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; if(ReadMouse()==1)&lt;br /&gt; {&lt;br /&gt; if( 61&lt;mx&amp;&amp;mx&lt;76 &amp;&amp; 0&lt;my&amp;&amp;my&lt;6 )&lt;br /&gt;	while(ReadMouse());&lt;br /&gt; if(63&lt;mx&amp;&amp;mx&lt;74)&lt;br /&gt; {&lt;br /&gt;	switch(my)&lt;br /&gt;	{&lt;br /&gt;	 case 2 : HControls(); goto end;&lt;br /&gt;	 case 3 : HAbout(); goto end;&lt;br /&gt;	 case 4 : HDedication(); goto end;&lt;br /&gt;	 default: goto end;&lt;br /&gt;	}&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt;	goto end;&lt;br /&gt; }&lt;br /&gt; if(mb==2)&lt;br /&gt; goto end;&lt;br /&gt; }&lt;br /&gt;end: ClearMenu();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/**********************************************************/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void GetKey()&lt;br /&gt;{&lt;br /&gt; int i;&lt;br /&gt; char ch=getch();&lt;br /&gt; if(ch==0)&lt;br /&gt; {&lt;br /&gt; ch=getch();&lt;br /&gt; switch(ch)&lt;br /&gt; {&lt;br /&gt; case 33: File(); return;&lt;br /&gt; case 18: Edit(); return;&lt;br /&gt; case 31: Search(); return;&lt;br /&gt; case 46: Case(); return;&lt;br /&gt; case 20: Table(); return;&lt;br /&gt; case 17: Window(); return;&lt;br /&gt; case 35: Help(); return;&lt;br /&gt; default: if(NoOfFrame&gt;0)&lt;br /&gt; {&lt;br /&gt;	switch(ch)&lt;br /&gt;	{&lt;br /&gt;	 case 82: if(ShiftKeyHit())&lt;br /&gt;		 EPaste(); // Shift+Ins&lt;br /&gt;		 else&lt;br /&gt;		 SNext(); return; // Ins&lt;br /&gt;	 case 83: if(ShiftKeyHit())&lt;br /&gt;		 ECut(); // Shift+Del&lt;br /&gt;		 else&lt;br /&gt;		 DelChar(); return; // Del&lt;br /&gt;	 case 71: SetCurser(-CX,0); return; // Home&lt;br /&gt;	 case 72: SetCurser(0,-1); return; // up&lt;br /&gt;	 case 75: SetCurser(-1,0); return; // left&lt;br /&gt;	 case 77: SetCurser(1,0); return; // right&lt;br /&gt;	 case 79: SetCurser(LinLen(CY)-CX,0); return; // End&lt;br /&gt;	 case 80: SetCurser(0,1); return; // down&lt;br /&gt;	 case 73: // PgUp&lt;br /&gt;	 {&lt;br /&gt;	 i=CY-SL;&lt;br /&gt;	 SL-=ROW;&lt;br /&gt;	 flag|=16;&lt;br /&gt;	 if(SL&lt;0)&lt;br /&gt;	 SL=0;&lt;br /&gt;	 SetCurser(0,SL+i-CY);&lt;br /&gt;	 } return;&lt;br /&gt;	 case 81: // PgDn&lt;br /&gt;	 {&lt;br /&gt;	 i=CY-SL;&lt;br /&gt;	 SL+=ROW;&lt;br /&gt;	 flag|=16;&lt;br /&gt;	 if(SL&gt;=NOL)&lt;br /&gt;	 SL-=ROW;&lt;br /&gt;	 SetCurser(0,SL+i-CY);&lt;br /&gt;	 } return;&lt;br /&gt;	 case-110: ECopy(); return; // Shift+I&lt;br /&gt;	 case-109: EClear(); return; // Ctrl+Del&lt;br /&gt;	 case-124: SetCurser(-CX,-CY); 	return; // Ctrl+PgUp&lt;br /&gt;	 case 118: SetCurser(LinLen(NOL-1)-CX,NOL-1-CY);&lt;br /&gt;						return; // Ctrl+PgDn&lt;br /&gt;	}&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; else if(NoOfFrame&gt;0)&lt;br /&gt; {&lt;br /&gt; switch(ch)&lt;br /&gt; {&lt;br /&gt; case 8: AddBksp(); return; // Backspace&lt;br /&gt; case 9: for(i=0;i&lt;SPACESTOTAB;i++)&lt;br /&gt;		 AddChar(&#39; &#39;); return; //Tab&lt;br /&gt; default: if( &#39; &#39;&lt;=ch&amp;&amp;ch&lt;=&#39;~&#39; || ch==&#39;\r&#39; )&lt;br /&gt;		 AddChar(ch);&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void PopupMenu()&lt;br /&gt;{&lt;br /&gt; int sx,sy,i; /* store mx ,my. popupmenu */&lt;br /&gt; char *pm[]= { &quot; Cut &quot;, &quot; Copy &quot;, &quot; Paste &quot;, &quot; Clear &quot; };&lt;br /&gt; if(mx==0||mx==79||my&lt;2||my&gt;22)&lt;br /&gt; return;&lt;br /&gt; if(mx==1)&lt;br /&gt; mx=2;&lt;br /&gt; else if(mx&gt;68)&lt;br /&gt; mx=68;&lt;br /&gt; if(my==2)&lt;br /&gt; my=3;&lt;br /&gt; else if(my&gt;16)&lt;br /&gt; my=16;&lt;br /&gt; sx=mx+1, sy=my+1;&lt;br /&gt; DrawCanvas(sx,sy,sx+8,sy+5,&quot;&quot;);&lt;br /&gt; hL=-1;&lt;br /&gt; mC[1].enabl[2]=1;&lt;br /&gt; if(SX1==SX2&amp;&amp;SY1==SY2)&lt;br /&gt; mC[1].enabl[0]= mC[1].enabl[1]= mC[1].enabl[3]=0;&lt;br /&gt; else&lt;br /&gt; mC[1].enabl[0]= mC[1].enabl[1]= mC[1].enabl[3]=1;&lt;br /&gt; for(i=0;i&lt;=3;i++)&lt;br /&gt; {&lt;br /&gt; if(mC[1].enabl[i])&lt;br /&gt; Color(WHITE,RED);&lt;br /&gt; else&lt;br /&gt; Color(BLACK,RED);&lt;br /&gt; Put(sx+1,sy+1+i,pm[i]);&lt;br /&gt; }&lt;br /&gt; Color(WHITE,-1);&lt;br /&gt; while(ReadMouse());&lt;br /&gt; while(1)&lt;br /&gt; {&lt;br /&gt; ReadMouse();&lt;br /&gt; if(mb||kbhit())&lt;br /&gt; {&lt;br /&gt; if( sx&lt;mx&amp;&amp;mx&lt;sx+8 &amp;&amp; sy&lt;=my&amp;&amp;my&lt;=sy+3 &amp;&amp; mb==1 )&lt;br /&gt; {&lt;br /&gt;	switch(my-sy)&lt;br /&gt;	{&lt;br /&gt;	 case 0: if(mC[1].enabl[0]) ECut(); break;&lt;br /&gt;	 case 1: if(mC[1].enabl[1]) ECopy(); break;&lt;br /&gt;	 case 2: if(mC[1].enabl[2]) EPaste(); break;&lt;br /&gt;	 case 3: if(mC[1].enabl[3]) EClear(); break;&lt;br /&gt;	}&lt;br /&gt;	while(ReadMouse());&lt;br /&gt; }&lt;br /&gt; ClearMenu();&lt;br /&gt; return;&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt; {&lt;br /&gt; if( hL!=-1 &amp;&amp; ( !(my&gt;=sy&amp;&amp;my&lt;=sy+3&amp;&amp;sx&lt;mx&amp;&amp;mx&lt;sx+8) || hL!=my-sy) )&lt;br /&gt;	Color(-1,RED), Put(sx+1,sy+1+hL,pm[hL]), hL=-1;&lt;br /&gt; if(sy&lt;=my&amp;&amp;my&lt;=sy+3 &amp;&amp; sx&lt;mx&amp;&amp;mx&lt;sx+8 &amp;&amp; hL!=my-sy &amp;&amp; mC[1].enabl[my-sy])&lt;br /&gt;	hL=my-sy, Color(-1,GREEN), Put(sx+1,sy+1+hL,pm[hL]);&lt;br /&gt; HideCurser();&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void MouseSelection()&lt;br /&gt;{&lt;br /&gt; int oldMX=mx,oldMY=my;&lt;br /&gt; if(ShiftKeyHit())&lt;br /&gt; {&lt;br /&gt; SetCurser(mx-1+SC-CX,my-2+SL-CY);&lt;br /&gt; while(ReadMouse());&lt;br /&gt; return;&lt;br /&gt; }&lt;br /&gt; SX1= SX2= CX, SY1= SY2= CY;&lt;br /&gt; PutData();&lt;br /&gt; SetCurser(mx-1+SC-CX,my-2+SL-CY);&lt;br /&gt; GotoXY();&lt;br /&gt; mouseSelecting=1;&lt;br /&gt; while(1)&lt;br /&gt; {&lt;br /&gt; if(ReadMouse()!=1)&lt;br /&gt; break;&lt;br /&gt; if( mx==0&amp;&amp;CX!=0 || mx==79&amp;&amp;CX&lt;LinLen(CY) ||&lt;br /&gt;	oldMX!=mx || oldMY!=my || my&gt;22&amp;&amp;CY&lt;NOL-1 || my&lt;2&amp;&amp;CY!=0 )&lt;br /&gt; {&lt;br /&gt; oldMX=mx, oldMY=my;&lt;br /&gt; SetCurser(mx-1+SC-CX,my-2+SL-CY);&lt;br /&gt; DisplayData();&lt;br /&gt; delay(99);&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; mouseSelecting=0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void InitProgram()&lt;br /&gt;{&lt;br /&gt; textmode(C80);&lt;br /&gt; InitMouse();&lt;br /&gt; Color(RED,GREEN);&lt;br /&gt; clrscr();&lt;br /&gt; Put(9,1,&quot;File Edit Search Case Table Window Help&quot;);&lt;br /&gt; Color(GREEN,-1);&lt;br /&gt; Put(1,1,&quot; &quot;); // for mouse hidding&lt;br /&gt; Color(BLACK,-1);&lt;br /&gt; Put(24,25,&quot;http://mischiefprogramer.googlepages.com/my cprograms&quot;);&lt;br /&gt; ShowMouse();&lt;br /&gt; copyStr.len=strlen(&quot;&lt;http://http://mischiefprogramer.googlepages.com/my cprograms&gt;&quot;)+1;&lt;br /&gt; copyStr.data=(char*)malloc(copyStr.len);&lt;br /&gt; strcpy(copyStr.data,&quot;&lt;http://mischiefprogramer.googlepages.com/my cprograms&gt;&quot;);&lt;br /&gt; SetFrame();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void main( int argc, char *argv[] )&lt;br /&gt;{&lt;br /&gt; int i;&lt;br /&gt; char ext[MAXEXT];&lt;br /&gt; InitProgram();&lt;br /&gt; HideCurser();&lt;br /&gt; if(argc&gt;1)&lt;br /&gt; {&lt;br /&gt; fnsplit(argv[1],NULL,NULL,NULL,ext);&lt;br /&gt; if(strcmpi(ext,&quot;.tef&quot;))&lt;br /&gt; OkDialogBox(&quot;ERROR&quot;,&quot;Invalid file extention&quot;);&lt;br /&gt; else if( strlen(argv[1])&gt;62 )&lt;br /&gt; OkDialogBox(&quot;ERROR&quot;,&quot;The path is too long&quot;);&lt;br /&gt; else&lt;br /&gt; FOpen(argv[1]);&lt;br /&gt; }&lt;br /&gt; while(1)&lt;br /&gt; {&lt;br /&gt; if(kbhit())&lt;br /&gt; GetKey();&lt;br /&gt; ReadMouse();&lt;br /&gt; if(mb==1)&lt;br /&gt; {&lt;br /&gt; if(my==0)&lt;br /&gt; {&lt;br /&gt;	if(5&lt;mx&amp;&amp;mx&lt;14)&lt;br /&gt;	 File();&lt;br /&gt;	else if(14&lt;mx&amp;&amp;mx&lt;23)&lt;br /&gt;	{&lt;br /&gt;	 if( advice &amp;&amp; NoOfFrame&gt;0 )&lt;br /&gt;	 OkDialogBox(&quot;Advice&quot;,&quot; Use popupmenu&quot;), advice=0;&lt;br /&gt;	 else&lt;br /&gt;	 Edit();&lt;br /&gt;	}&lt;br /&gt;	else if(23&lt;mx&amp;&amp;mx&lt;34)&lt;br /&gt;	 Search();&lt;br /&gt;	else if(34&lt;mx&amp;&amp;mx&lt;43)&lt;br /&gt;	 Case();&lt;br /&gt;	else if(43&lt;mx&amp;&amp;mx&lt;53)&lt;br /&gt;	 Table();&lt;br /&gt;	else if(53&lt;mx&amp;&amp;mx&lt;64)&lt;br /&gt;	 Window();&lt;br /&gt;	else if(64&lt;mx&amp;&amp;mx&lt;73)&lt;br /&gt;	 Help();&lt;br /&gt; }&lt;br /&gt; else if(NoOfFrame&gt;0)&lt;br /&gt; {&lt;br /&gt;	if( my==1 &amp;&amp; 1&lt;mx&amp;&amp;mx&lt;5 )&lt;br /&gt;	{&lt;br /&gt;	 FClose();&lt;br /&gt;	 while(ReadMouse());&lt;br /&gt;	}&lt;br /&gt;	else if( mx==79 || my==23 )&lt;br /&gt;	 Scroll();&lt;br /&gt;	else if( 0&lt;my&amp;&amp;my&lt;23 &amp;&amp; 0&lt;mx&amp;&amp;mx&lt;79 )&lt;br /&gt;	 MouseSelection();&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; else if( mb==2 &amp;&amp; NoOfFrame&gt;0 )&lt;br /&gt; PopupMenu();&lt;br /&gt; if( flag &amp;&amp; NoOfFrame&gt;0 )&lt;br /&gt; DisplayData();&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://cpp4students.blogspot.com/feeds/6114198637006401137/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8648282429773069510/6114198637006401137' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8648282429773069510/posts/default/6114198637006401137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8648282429773069510/posts/default/6114198637006401137'/><link rel='alternate' type='text/html' href='http://cpp4students.blogspot.com/2008/08/new-texeditor-using-c.html' title='new texeditor using c'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8648282429773069510.post-1762402967257830617</id><published>2008-08-02T22:21:00.000-07:00</published><updated>2008-08-02T22:24:31.230-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="c"/><category scheme="http://www.blogger.com/atom/ns#" term="c programs"/><category scheme="http://www.blogger.com/atom/ns#" term="c programs free download"/><category scheme="http://www.blogger.com/atom/ns#" term="cpp"/><title type='text'>The number you choose</title><content type='html'>Notepad overviewNotepad is a basic text editor that you can use to create simple documents. The most common use for Notepad is to view or edit text (.txt) files, but many users find Notepad a simple tool for creating Web pages.&lt;br /&gt;&lt;br /&gt;Because Notepad supports only very basic formatting, you cannot accidentally save special formatting in documents that need to remain pure text. This is especially useful when creating HTML documents for a Web page because special characters or other formatting may not appear in your published Web page or may even cause errors.&lt;br /&gt;&lt;br /&gt;You can save your Notepad files as Unicode, ANSI, UTF-8, or big-endian Unicode. These formats provide you greater flexibility when working with documents that use different character sets.</content><link rel='replies' type='application/atom+xml' href='http://cpp4students.blogspot.com/feeds/1762402967257830617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8648282429773069510/1762402967257830617' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8648282429773069510/posts/default/1762402967257830617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8648282429773069510/posts/default/1762402967257830617'/><link rel='alternate' type='text/html' href='http://cpp4students.blogspot.com/2008/08/number-you-choose.html' title='The number you choose'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>