Страница 6 из 7

Re: Помогите решить задачу...

Добавлено: 23 май 2007, 15:57
somewhere

Код: Выделить всё

uses crt;

type
TMenu = record     Size : Byte;
                  Items : Array[1..25] of String[30];
               ActColor : Byte;
             InactColor : Byte;
        end;

var
m	: TMenu;
c	: Integer;

Function GetMenuChoise(var m:TMenu):Integer;
var
mlen, x  : Integer;
act, latr: Integer;
ch       : Char;
begin
GetMenuChoise := -1;
if m.Size < 1 then exit;
mlen := 0;
for x := 1 to m.Size do
    if Length(m.Items[x]) > mlen then mlen := length(m.Items[x]);
if mlen = 0 then exit;
latr := TextAttr;
inc(mlen, 2);
act := 1;
repeat
    For x := 1 to m.Size do
	begin
        GotoXY(1, x);
        if x = act then TextAttr := m.ActColor
        	   else TextAttr := m.InactColor;
        Write(m.Items[x] :( mlen-1),' ');
        end;
        ch := readkey;
        If ch = #0 then
        	begin
                ch := readkey;
                if (ch = #72) and (act > 1) then dec(act);
                if (ch = #80) and (act < m.Size) then inc(act);
                end;
until (ch = #13) or (ch = #27);
TextAttr := latr;
if ch = #27 then act := -1;
GetMenuChoise := act;
end;

begin
m.Size := 3;
m.Items[1] := 'Drugs';
m.Items[2] := 'Sex';
m.Items[3] := 'Rock''n''Roll';
m.ActColor := $B4;
m.InactColor := $07;
ClrScr;
C := GetMenuChoise(m);
Writeln;
Writeln;
Writeln('You have selected ',C,' item');
end.

Re: Помогите решить задачу...

Добавлено: 23 май 2007, 16:14
BBB
somewhere,
говорят, сейчас кто-то (не помню, кто именно) декларирует слегка переделанный известный лозунг "Make tea, not war", так что предлагается вариант:

Код: Выделить всё

m.Size := 4;
..............
m.Items[4] := 'Georgian Tea';
;)

Re: Помогите решить задачу...

Добавлено: 23 май 2007, 16:54
somewhere
&quot писал(а):сейчас кто-то (не помню, кто именно) декларирует слегка переделанный известный лозунг "Make tea, not war"
Это случаем, не с Лондонской демонстрации протеста позаимствовано? :) ))

Re: Помогите решить задачу...

Добавлено: 23 май 2007, 17:11
BBB
somewhere писал(а):Это случаем, не с Лондонской демонстрации протеста позаимствовано? :) ))
Не помню... Это был какой-то вопрос в "Своей игре".

Re: Помогите решить задачу...

Добавлено: 23 май 2007, 17:59
Anton_XXX
Спасибо большое...

Re: Помогите решить задачу...

Добавлено: 26 май 2007, 16:28
Anton_XXX
Привет всем!

У меня такая проблемма с Паскалем (это срочно)...
Короче, написал программу, не сохранил ее, и случайно нажал Alt+F - NEW
Открылась у меня чистая страница поверх моей программы.... Кто знает, как ее закрыть? Мышька почему-то тоже не работает в паскале, как то можно ее мышку активтровать..., тогда я б смог закрыть...

Это срочно, т.к напряжение скачит....

Re: Помогите решить задачу...

Добавлено: 26 май 2007, 17:54
Anton_XXX
ну Help Me!!

Re: Помогите решить задачу...

Добавлено: 28 май 2007, 12:37
Хыиуду
Alt-F3
А вообще при выходе среда предлагает сохранить все, что можно.

Re: Помогите решить задачу...

Добавлено: 28 май 2007, 13:11
Anton_XXX
спасибо! сможете мне обьяснить, как сделать чтоб мышка работала на паскале...
в универе работает, а у меня нет... почему?

Re: Помогите решить задачу...

Добавлено: 28 май 2007, 13:39
Хыиуду
драйвер mouse.com или типа того