Народ!!! Тут такое вот заданьеце! Разработать программу на TP, которое реализует многоуровневое меню приложения.
Требования:
Строка меню в верхней части экрана (окна);
Активизация меню по клавише Ф10;
Перемещение по опциям (ограничить перемещение за пределы меню)
- для горизонтального - стрелки ВЛЕВО, ВПРАВО
- для вертикального - стрелки ВВЕРХ, ВНИЗ
Выбор - клавиша <Enter> , <Space>
После выбора какого-либо пункта меню на экране вывести сообщение о том, какая опция меню выбрана.
НАРОД !!!!!!! PLZ помогите !!!! Во вторник уже надо сдавать! Я начал ее делать, но не все получается! Если вам не очень затруднит, помогите! Заранее спасибо)))
Кажется эта тема уже поднималась ... и причём недавно ... поищи получше
qwerty
Попробуй использовать библиотеку Turbo Vision, хотя до вторника всю ее не освоишь, но с меюшками работать научишься...
А если хочешь свою делать, то размести ее где-нибудь (типа webfile.ru), а тут дай ссылку - (у нас временные проблемы с закачкой файлов) - поможем разобраться.
имя пользователя и просьба выслать на мыло наталкивают на грустные мысли...
Цитата(GoodWind @ 3.12.04 20:28)
имя пользователя и просьба выслать на мыло наталкивают на грустные мысли...
Тебе чем-то не нравится мой ник???
Цитата(volvo @ 3.12.04 20:26)
qwerty
Попробуй использовать библиотеку Turbo Vision, хотя до вторника всю ее не освоишь, но с меюшками работать научишься...
А что-нибудь попроще??? Я скачал втой project.zip с ранее обсуждавшегося вопроса и понял, что у нашего препода такая фиша не прокатит))) Надо что-нить попроще!!
qwerty
Так закинь куда-нибудь свой проект, чтобы можно было его скачать и подправить, я же не знаю, какого уровня программа тебе нужна...
Цитата(volvo @ 3.12.04 22:51)
qwerty
Так закинь куда-нибудь свой проект, чтобы можно было его скачать и подправить, я же не знаю, какого уровня программа тебе нужна...
Проекта у меня нет! Его я не доделал и удалил, т.к. узнал дополнительно необходимые условия: делать надо через массивы, без указателей, использовать функции WhereX, WhereY, TextColor, TextBackground !!!!!
qwerty
На такое (без указателей) я уже не способен... :no:
А что так??? Там как-то отрисовывать надо по ходу((
volvo, помоги plz - оч надо =\\
Пример меню:
Файл----------Настройки--------------Сложность-----------Помощь
--Открыть--------Цвет--------------------Малая
--Сохранить-----Размер-----------------Обычная
--Удалить------------6x6
-----------------------12x12
-----------------------18x18
--------------------Разрешение
Так ты делай, а если что не понятно - я постараюсь помочь.
Мне еще 2 другие делать - калькулятор и часы - я просто физически не успею((
qwerty
Калькулятор говоришь ... он же пишется максимум за пару минут ... или он тебе тоже с интерфейсом нужен ;)
Ну вощем если по подробней напишешь чё требуется с калькулятором и часами, то запросто помогу ... а вот менюхи как то ... объём большой!
Jahnerus , помоги плз
Таймер цифровой :
Ввод интервала времени в формате мм:сс.
Управление таймером: клавиши Enter - запуск, Esc - выход, пробел - пауза / продолжить
Обратный отсчет, звуковой сигнал в момент 00:00.
F1 - помощь, о программе
F2 - настройки, ввод
И второе задание: цифровые часы в виде ХХ:ХХ:ХХ
Заранее спасибо
И второе задание: цифровые часы в виде ХХ:ХХ:ХХКод
uses crt,dos;
var
h,m,s,ms:word;
st:string;
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;
repeat
st:='';
gettime(h,m,s,ms);
add_int(st,h);
st:=st+':';
add_int(st,m);
st:=st+':';
add_int(st,s);
gotoxy(1,1);
write(st);
until keypressed;
end.
Таймер цифровой :Код
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
Сэньк ю вери мач! РОДИНА этогго не забудет))
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.