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

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

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

> Меню и файлы
Sensitive
сообщение 7.11.2007 19:23
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 132
Пол: Женский
Реальное имя: Юлия

Репутация: -  0  +


Здравствуйте.
У меня такой вопрос. Есть меню из 3-х пунктов. Если нажимается первый пункт, то должно появиться следующее меню, где также можно выбирать пункты второго меню. Содержимое второго меню хранится в файле. То есть при нажатии на первый пункт главного меню я вывожу пункты второго меню из файла. Как сделать, чтобы из этих (выведенных из файла) пунктов также можно было выбирать... или это невозможно?
Спасибо заранее за помощь.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Sensitive
сообщение 9.11.2007 19:14
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 132
Пол: Женский
Реальное имя: Юлия

Репутация: -  0  +


посмотрела меню на сайте. взяла пока что тупо меню оттуда... вот получается вывожу главное меню, и подменю. А дальше мне еще нужно выводить подменюшки-там где "Просмотр данных" и "Добавление данных"(код ниже)...не знаю как это сделать, и как отделить подпрограмму отрисовки меню не поняла (как говорил Volvo). Вот мой код, посмотрите плиз.

uses crt;
Type MenuType=(Vertical);
const
width = 12;
nItems = 3;
optNormal = LightGray;
optSelected = Yellow;
s: array [1..3] of string=('termini','podprogrammi','exit');
t: array[1..3] of string=('Prosmotr dannih','Dobavlenie dannih','Vozvrat v menu');
var
X, Y,
selected,
row: integer;
_style: MenuType;

procedure MakeMenu (optText: array of string; MaxItems: integer);
var
i, _X: byte;
begin
Y := row;
_X := X;
for i := 0 to MaxItems-1 do
begin
GoToXY (_X, Y);
if i = selected then
TextColor (optSelected)
else
TextColor (optNormal);
write (optText[ i ]);
inc (Y, 2);
end;
end;
function MenuOption (var optText: array of string; MaxItems: integer): byte;
var
ch: char;
begin
selected := 0;

X := (80 - width) div 2;
row := (25 - MaxItems) div 2;
repeat
MakeMenu (optText, MaxItems);

ch := readkey;
if ch = #0 then
ch := readkey;

case ch of
#80, #77: {Down/Right}
begin
inc (Selected);
if Selected = MaxItems then
Selected := 0;
MakeMenu (optText, MaxItems);
end;
end;
until ch = #13;

MenuOption := Selected + 1;
TextColor (optNormal);
clrscr;
end;
Procedure Prosmotr;
var g:text; s:string[20]; i:byte;
begin
assign(g,'termini.txt');
reset(g);
while not eof(g) do
begin
readln(g,s);
{gotoxy(14,whereY+1);}
writeln(s);
end;
end;

Procedure ShowMenu(s:array of string);
var
Option,i: byte;
begin
_style := Vertical;
repeat
clrscr;
Option := MenuOption (s, nItems);

case option of
1:showMenu(t);
{ 2: ...;
3: ...; }
end
until Option = nItems;
end;

begin
showMenu(s);
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 



- Текстовая версия 20.07.2025 10:32
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"