Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2009, 15:19   #1
Ksy
Пользователь
 
Регистрация: 07.06.2009
Сообщений: 64
Подмигивание Постраничный вывод

функция выводит содержимое файла на экран. Как мне очищать страницу после каждого вывода?
У меня просто при выводе последней страницы, если там меньше максимального количества строк, то у меня остаются строки с предыдущей страницы!

Код:
int txt2()
{
char s[800];
int i, count,n=0,str = 0;
FILE *fin, *fout,*f;

fin = fopen(str1, "r");
if(fin==NULL){cleardevice();gotoxy(1,1);printf("Er ror!");getch();}
else
{
fout = fopen("output.txt", "w");
while(fgets(s, sizeof(s), fin) != NULL)
{
for(i = count = 0; s[i] != '\n' && s[i] != EOF; i++)
if(s[i] == ' ')
count++;
n++;
str++;

if(str == PAGESIZE)
{
getch();//gdem nagatiya klavishi
str = 0;// obnulaem schetchik strok
};gotoxy(7,str+5);
printf("%s", s);
fprintf(fout, "\n%d = %d",n, count);
}
fclose(fin);
fclose(fout);

getch();
}
return 0;
}
Синим вылелено постраничный вывод!!!

Последний раз редактировалось Sazary; 07.06.2009 в 15:22.
Ksy вне форума Ответить с цитированием
Старый 07.06.2009, 15:30   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

А вы очищайте экран, раз в борланде пишете:
Код:
if(str == PAGESIZE)
{
getch();//gdem nagatiya klavishi
clrscr();
str = 0;// obnulaem schetchik strok
};
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 07.06.2009, 15:50   #3
Ksy
Пользователь
 
Регистрация: 07.06.2009
Сообщений: 64
По умолчанию

Ну я так попыталась, но оно мне соответственно меняет цвет на серый! Почему?
Ksy вне форума Ответить с цитированием
Старый 07.06.2009, 15:54   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от Ksy
но оно мне соответственно меняет цвет на серый! Почему?
??? Цвет чего? У меня ничего не меняет.
А должен быть какого?
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 07.06.2009, 16:03   #5
Ksy
Пользователь
 
Регистрация: 07.06.2009
Сообщений: 64
По умолчанию

Черного!!! Я поменяла на cleardevice(); оно всё классно работает, но у меня там в программе еще нарисованая рамочка, которая так же очищается и рисуется заново, но при последней странице не рисуется!!! Почему???
Ksy вне форума Ответить с цитированием
Старый 07.06.2009, 16:09   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от Ksy
которая так же очищается и рисуется заново, но при последней странице не рисуется!!! Почему???
Видимо, у вас при последней странице не выполняется какое-то условие, в теле которого она рисуется.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 07.06.2009, 16:11   #7
Ksy
Пользователь
 
Регистрация: 07.06.2009
Сообщений: 64
По умолчанию

Так я даже в цикл уже занесла эту рамочку!

if(str == PAGESIZE)
{
rectangle(5,50,635,475);
settextstyle(DEFAULT_FONT,HORIZ_DIR ,2);
outtextxy(90,20,"Output of contents on screen");


getch();//gdem nagatiya klavishi
cleardevice();
str = 0;// obnulaem schetchik strok
};
Ksy вне форума Ответить с цитированием
Старый 07.06.2009, 16:17   #8
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Перенесите прорисовку рамки:
Код:
if(str == PAGESIZE)
{
rectangle(5,50,635,475);
settextstyle(DEFAULT_FONT,HORIZ_DIR ,2);
outtextxy(90,20,"Output of contents on screen");

getch();//gdem nagatiya klavishi
cleardevice();
str = 0;// obnulaem schetchik strok

  <<--------- сюда
};
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 07.06.2009, 20:05   #9
Ksy
Пользователь
 
Регистрация: 07.06.2009
Сообщений: 64
По умолчанию

Всё, спасибо большое, я разобралась. Нужно было перед if поставить!
Ksy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Постраничный вывод из БД на PHP mjc66 PHP 11 03.08.2009 11:31
вывод текста Shkentik Общие вопросы Delphi 5 21.04.2009 23:29
Вывод структуры в Си Sergo(1) Помощь студентам 3 16.04.2009 09:31
Постраничный вывод Naposaram PHP 2 11.02.2009 01:32
Вывод в label forumu Помощь студентам 9 19.11.2007 21:36