Написал процедурку которая выводит на экран в виде таблицы записи. Прошу вас помоч дополнить её следующим : необходимо, чтобы, при условии, когда количество записей будет больше 15, программа каждые 15 записей выводила в окне window(1,1,80,25) - {я уже подсчитал, это будут координаты окна если записей будет 15}, и при этом переключаться к следующей порции записей можно только нажав клавишу вправо, а вернуться к предыдущей - влево. Очень нуждаюсь в вашей помощи!!
procedure Content (var fails: MyFile; filename: string); var i: integer; REC: Option; nos: string; begin assign (fail, filename); {$I-} reset (fail); {$I+} CLRSCR; TextColor (Blue); Textbackground(White); Clrscr; TextColor(black); repeat read (fail, REC); end; with REC do begin textcolor (Black); writeln (i,' ',PersonName:10,' ',Surname:11 ,' ',Education,:13,' ',Post:20,' ',Experience:5,' ',Payment:7:1); inc (i); end; until eof (fail); close (fail); textcolor (black); textbackground(white); end;
volvo
4.04.2007 15:45
Алгоритм примерно такой:
curr_pos := 0; refresh := true;
repeat
if refresh then begin seek(fail, curr_pos); i := 1; repeat read (fail, REC); with REC do begin textcolor (Black); writeln (curr_pos + i,' ',PersonName:10,' ', Surname:11 ,' ',Education,:13,' ',Post:20,' ',Experience:5,' ',Payment:7:1); inc (i); end; until (i > 15) or (eof (fail)); refresh := false;
end;
case readkey of { клавиша "вправо" } if curr_pos + 15 < filesize(fail) then begin inc(curr_pos, 15); refresh := true; end; { клавиша "влево" } if curr_pos - 15 >= 0 then begin dec(curr_pos, 15); refresh := true; end; { кнопка "Escape" } break; end;
until false;
Присоединишь программу - скажу точнее, как реализовать это...
Tan
4.04.2007 16:11
спасибо, сейчас попробую это осмыслить, если остануться вопросы, то выложу код.
Tan
4.04.2007 17:53
С алгоритмом всё понятно, он даёт даже больше, чем я хотел. Небольшое уточнение : если я использую модули Dos и CRT то главное окощко (то есть весь экран) и будет (1,1,80,25) ? Так как на мой взгляд вопрос касается основного в этой теме, то новую я не стал создавать.
volvo
4.04.2007 19:04
Вообще-то лучше определять размеры окна в зависимости от того режима, который ты используешь... Например, количество столбцов хранится в байте по адресу: $0:$044A
Если ты уверен, что используется режим именно с 25 строками, а не с 43 или 50, то можно назначить окно и вручную, именно через
Window(1, 1, 80, 25);
buy azithromycin or ceftriaxone
16.09.2021 5:27
Cheap Seroquel No Prescription
purchase hydroxychloroquine sulf
4.12.2021 3:49
Clomid Acide Folique Je
promethazine without prescriptio
5.12.2021 1:50
Buy Kamagra Fast Delivery
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.