IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Прокрутка тектста..., Метод решения.....хотя не откажуь от куска кода ;-)
сообщение
Сообщение #1


Гость






Т.З необходимо написать прогу которая текстовый файл выводит на экран, и позволяет его прокручивать вверх или вниз (т.к тект длинный на экран не помещается).
P.S. так же хочиться поместить текст в рамочку, со школы помню что можно както прорисовывать маленькие полосочки без юсыса graph... напомните пожалуйста
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Как вариант - без использования массивов:
uses crt;

procedure show_file(var f: text; var before: integer);
var
i: integer;
s: string;
begin
reset(f);

for i := 1 to before do readln(f, s);
gotoxy(1, 1);

if seekeof(f) and (before > 0) then dec(before)
else
while (wherey < 24) and (not seekeof(f)) do begin
readln(f, s);
write(s); clreol; writeln;
end;


for i := wherey to 24 do begin
gotoxy(1, i); clreol;
end;
end;

var
ch: char;
scrolled_up: integer;
f: text;

begin
assign(f, 'sc_me.txt');
reset(f);

scrolled_up := 0;

while true do begin

show_file(f, scrolled_up);
ch := readkey;
case ch of
#0:
case readkey of
#72: if scrolled_up > 0 then dec(scrolled_up);
#80: inc(scrolled_up);
end;
#27: break;
end;

end;

close(f);
end.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Куда нести пиво?


PS а как сделать всётаки построчную прокрутку а не поабзацную? Пробовал

Код


procedure show_file(var f: text; var before: integer);
var
  i: integer;
  s: string[80];                                                 {ОГРАНИЧЕЛ ДЛИННУ СТРОКИ}
begin
  reset(f);

  for i := 1 to before do read(f, s);                      {ИЗМЕНИЛ readln на read}
  gotoxy(1, 1);

  if seekeof(f) and (before > 0) then dec(before)
  else
    while (wherey < 24) and (not seekeof(f)) do begin
      readln(f, s);
      write(s); clreol; writeln;
    end;


  for i := wherey to 24 do begin
    gotoxy(1, i); clreol;
  end;
end;




 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 8:57
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name