Помощь - Поиск - Пользователи - Календарь
Полная версия: Непонятки
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
scorpzx
Здравствуйте Есть следующий код:


uses crt;
const x=30;
var zah,wibor:integer;

procedure showtext;
begin
gotoxy(35,10);
write('test1');
gotoxy(35,11);
write('test2');
gotoxy(35,12);
write('test3');
gotoxy(35,13);
write('test4');
gotoxy(35,14);
write('test5');
gotoxy(35,15);
write('test6');
end;

procedure wib;
var posiz:integer;
stop:boolean;
s:integer;
procedure showkursor;
begin
gotoxy(x,s); write(' ');
gotoxy(x,posiz); write('===>');
s:=posiz;
end;
begin
posiz:=16;
repeat
if keypressed then begin
case readkey of
#72:if posiz>10 then begin posiz:=posiz-1; showkursor; end;
#80:if posiz<15 then begin posiz:=posiz+1; showkursor; end;
#27:stop:=true;
end;
end;
until stop=True;
end;

begin
clrscr;
showtext;
wib;
end.



Он компилируется бес проблем на ТМТ паскале.. но при попытки откомпилировать его же на turbo pascale 7.0 он ведёт себя странно, сразу же после запуска вылетает. Я так думаю что чтото с переменными :/ Ткните пожалуйста носом что я сделал не правильно.
volvo
У меня вот так работает в TP70:
begin
stop := false; { а вот это лишним не бывает }
posiz:=16;
repeat
if keypressed then begin
case readkey of
#72:if posiz>10 then begin posiz:=posiz-1; showkursor; end;
#80:if posiz<15 then begin posiz:=posiz+1; showkursor; end;
#27:stop:=true;
end;
end;
until stop; { = true - лишнее }
end;
!!!HELLO!!&#
Привет!!!
Я надевно начял изучать Паскаль, и покамесь дошол только до второго урока
(надеюсь понимаете о каких уроках идет речь).
Первый понял без проблем а вот во втором есть что -то что я не понял.
И есль кто сможет то обьясните поподробней?!
1)LongInt(читал-читал но так и не понял smile.gif)???????????
2)Что там за таблица с какими-то цифрами и как применять их на практике?????
3)ShortInt
4)Byte??
5)Word???
я ничего из этого не понял и прошу объяснить поподробней!!
СПАСИБО!!!
SKVOZNJAK
1,3,4,5 - это разные типы переменных. Переменная, это ячейка в которую можно записать число, но не любое а то, какое влезет smile.gif Так в переменную типа Byte можно записать число в диапазоне от 0 до 256. Для начала разбери и поэкспериментируй с программой по складыванию двух чисел (пример попроще smile.gif )
Код

var Q, W: Byte;
begin
Q:=3;
W:=2;
Q:=Q+W;
WRITELN(Q);
end.

Сначала переменным Q и W присваиваются значения, затем к Q прибавляется W, результат выводится на экран. Всё не так уж сложно
Guest
А га вроде что-то понимаю smile.gif
Спасибо!!!
-Андрей-
Привет Всем!!!
Подскажите как в Паскале написать такую "программу" чтоб когда я нажму(допустим) на A то вместо нее чтоб выскакивал какой нить текст или то что я укажу.
Надеюсь вопрос понятен!!!
Заранее Спасибо!!!
(желательно привести пример!)
volvo
Цитата(-Андрей- @ 5.05.05 18:08)
"программу" чтоб когда я нажму(допустим) на A то вместо нее чтоб выскакивал какой нить текст или то что я укажу.
(желательно привести пример!)

:no: Вот приведи-ка ты пример, что ты хочешь, чтобы происходило по нажатию "A". И заодно объясни, должна ли программа просто ждать, пока ты это "А" нажмешь, или выполнять какие-то действия, а при нажатии клавиши сделать то, о чем ты программу попросил?

P.S. Кстати, а почему "программа" в кавычках? blink.gif
Guest
Мне нужна программа чтоб когда я нажму на "А" то мне на следующей строчке
выполо ---HELLO Вы нажали та "а" теперь нажмите на "В"---
Понимашь???
И еще как сделать в перенос строки
напрмер:
Андрей
Максим
Коля
???
klem4
uses crt;
var ch:char;
begin
repeat
ch:=readkey;
case ch of
'a':writeln('Test1');
'b':writeln('Test2');
end;
until ch=chr(27); {<Escape>}
end.


так чтоли ?
volvo
Цитата(Guest @ 5.05.05 18:35)
И еще как сделать в перенос строки

Использовать WriteLn вместо Write ...
Guest
klem4 - я переписал код а компилятор выдол ошибку связаную с UNTIL,
хотя пириписал правильно!!!
klem4
программа корректно завершает работу только при нажатии <Esc>
при нажатии 'A' и 'B' выводит надпись, как ты и хотел.
Guest
klem4-ПОСИБО ПОСИБО ПОСИБО!!!!!!!:)smile.gifsmile.gifsmile.gif
ЗАРАБОТАЛО!!!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.