];
if ((fgets (temp, 80, file)) == NULL)
break;
strcpy (file1 [i], temp);
}
fclose (file);
}
// Побудова нижній панелі.
void Second_Window (void)
{
window (1,1,80,25);
textattr (17);
clrscr ();
window (1,1,80,24);
textattr (31);
clrscr ();
Windows (1,1,80,24, "File");
window (1,25,80,25);
textattr (127);
clrscr ();
MyPuts ("~ F1 ~ Help ~ F2 ~ Grammar ~ F3 ~ Language ~ F4 ~ Compile ~ ESC ~ Exit ",
LIGHTBLUE);
}
// MyPuts.
void MyPuts (char * string, int color)
{
int j = 0;
for (int i = 0; string [i]! = NULL; i + +)
{
if (string [i] == '~' && J == 0)
{
textcolor (color);
i + +;
j + +;
}
if (string [i] == '~' && J! = 0)
{
textcolor (BLACK);
i + +;
j -;
}
cprintf ("% c", string [i]);
if (string [i] == NULL)
break;
}
}
// Функція виведення файлу на екран.
void Print_File (void)
{
window (3,2,77,24);
textattr (31);
for (int i = 0; i <22; i + +)
{
cputs (file1 [i]);
putch (' r');
}
}
// Меню.
void Menu (void)
{
gettext (1,1,80,25, bufer);// Вся інформація з екрану заноситься в буфер. p> int y = 1;// Лічильник рядків. p> gotoxy (1,1);
textattr (63);
clreol ();
cputs (file1 [0]);
textattr (31);
gotoxy (5,23);
cprintf ("%-2d", y);
while (1)
{
switch (i_readkey ())
{
case EASC_F1:
gettext (1,1,80,25, bufer);
Help ();
puttext (1,1,80,25, bufer);
break;
case EASC_F2:
gettext (1,1,80,25, bufer);
Grammar ();
puttext (1,1,80,25, bufer);
break;
case EASC_F3:
gettext (1,1,80,25, bufer);
Language ();
puttext (1,1,80,25, bufer);
break;
case EASC_F4:
gettext (1,1,80,25, bufer);
Compile ();
puttext (1,1,80,25, bufer);
window (48,2,78,23);
textattr (95);
clrscr ();
Windows (49,3,79,24, "Message");
Message (y-1);
break;
case EASC_Esc:
window (1,1,80,25);
textattr (7);
clrscr ();
fcloseall ();
exit (1);
break;
case EASC_Up:
if (y> 1)
{
if (com> 0)
window (3,2,47,24);
else
window (3,2,77,24);
y -;
gotoxy (1, y);
textattr (63);
clreol ();
cputs (file1 [y-1]);
gotoxy (1, y +1);
textattr (31);
clreol ();
cputs (file1 [y]);
...