![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
qwerty |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 21 Пол: Мужской Репутация: ![]() ![]() ![]() |
Народ!!! Тут такое вот заданьеце! Разработать программу на TP, которое реализует многоуровневое меню приложения.
Требования: Строка меню в верхней части экрана (окна); Активизация меню по клавише Ф10; Перемещение по опциям (ограничить перемещение за пределы меню) - для горизонтального - стрелки ВЛЕВО, ВПРАВО - для вертикального - стрелки ВВЕРХ, ВНИЗ Выбор - клавиша <Enter> , <Space> После выбора какого-либо пункта меню на экране вывести сообщение о том, какая опция меню выбрана. НАРОД !!!!!!! PLZ помогите !!!! Во вторник уже надо сдавать! Я начал ее делать, но не все получается! Если вам не очень затруднит, помогите! Заранее спасибо))) Сообщение отредактировано: qwerty - 3.12.2004 22:43 |
![]() ![]() |
Jahnerus |
![]()
Сообщение
#2
|
![]() Уникальный ![]() ![]() Группа: Пользователи Сообщений: 64 Пол: Мужской Репутация: ![]() ![]() ![]() |
Таймер цифровой :
Код uses crt; var st,tmp:string; ch:char; m,s:word; er:integer; b:boolean; procedure add_int(var st:string; i:integer); var tmp_st:string; begin str(i,tmp_st); if i<10 then insert('0',tmp_st,1); st:=st+tmp_st; end; begin clrscr; writeln('Vvedite interval vremeni (59:59)'); readln(st); val((st[1]+st[2]),m,er); val((st[4]+st[5]),s,er); clrscr; writeln(st); b:=false; repeat if b then begin delay(1000); st:=''; if s=0 then begin if m<>0 then begin s:=60; m:=m-1; end else begin b:=false; writeln(^g); end; end; if b then begin s:=s-1; add_int(st,m); st:=st+':'; add_int(st,s); gotoxy(1,1); write(st); end; end; if keypressed then begin ch:=readkey; if ch<>#0 then begin case ord(ch) of 13: b:=true; 32: b:=not(b); 27: break; end; end else begin ch:=readkey; if ord(ch)=59 then begin clrscr; writeln('About:'); writeln('Taymer. ver 1.01'); writeln('This program was developed by Jahnerus');{Ne zabud6 eto ubrat6} writeln('Help:'); writeln('Interval vremeni vvoditsya v formate mm:ss (mm-minutes, ss-seconds)'); writeln('Upravlenie taymerom:'); writeln('Enter ............ Start'); writeln('Space ... Pause/Continue'); writeln('Esc ............... Exit'); writeln('F1 ................ Help'); writeln('F2 .... Adjustment/Input'); writeln('Najmite "Esc" dlya vozvrata'); repeat until (keypressed) and (ord(readkey)=27); clrscr; if (m=0) and (s=0) then writeln('00:00') else writeln(st); end; if ord(ch)=60 then begin clrscr; writeln('Vvedite interval vremeni (59:59)'); readln(st); val((st[1]+st[2]),m,er); val((st[4]+st[5]),s,er); b:=false; clrscr; writeln(st); end; end; end; until false; end. Как и обещал! Таймер! работает без глюков если компилить на FPC(Free Pascal Compiler), а через TPC(Turbo Pascal Compiler) будут глюки по уже известным причинам: Delay и длительная проверка на KeyPressed!(ну чё уж поделаешь не писать же на asm'е) Сообщение отредактировано: Jahnerus - 5.12.2004 13:17 -------------------- Век живи, век учи С © by Jahnerus
|
![]() ![]() |
![]() |
Текстовая версия | 11.08.2025 1:56 |