Помогите с Паскалем.

Помогите разобраться начал учить Turbo Pascal и у меня почемуто не получаеться нифига =) помогите разобраться.

uses dos, crt;

const

line : array[0..3] of char = (‘|’ , ‘/’ , ‘-’ , '');

var

m: integer;

begin

TextColor(Yellow);

m:= 0;

repeat

gotoxy(40, 13);

write(line[m]);

gotoxy(1, 1);

delay(100);

m:= (m+1) mod 4;

until keypressed;

end.

сама программа:

http://ifolder.ru/4178412

Блин 105 человек просмотрели тему, и что никто помочь не может?? =(

Никто.

  1. Вы не удосужились рассказать, чего хотите добиться.

  2. Вы не говорите, что не работает и что Вы делали, чтоб заработало.

  3. Вы выкладываете на линуксовом форуме досовские исходники. Где прикажете искать турбо паскаль, чтоб проверить Ваши исходники?

Если форум называется “Программирование общее”, Вы ведь не ожидаете здесь ответы на вопросы о программировании на ассемблере для каких-нибудь VAX’ов? Так почему же Вы удивляетесь тому, что линуксоиды не отвечают на вопросы о программирование под ДОС?

to EvilShadow

спасибо.

Я пытаюсь сделать, чтобы получился эффект крутящийся стрелки.

т.е. символы /, -, , | , должны появляться по порядку.

Пробывал я и так и сяк, на выходе эти символы рандомно появляються (вразнобой, не по порядку). Уже голову сломал с этими массивами.

(просто я только что начал изучать Паскаль)

вот сам паскаль(turbo pascal 7.0):

http://dl.softportal.com/load/tp7.zip

сама программа:

http://ifolder.ru/4178412

| 4fun писал(а) Sun, 18 November 2007 20:54 |
|

вот сам паскаль(turbo pascal 7.0):

http://dl.softportal.com/load/tp7.zip

|

Вы меня не поняли. Что прикажете мне делать с ДОСовским турбопаскалем под Линухом?

Что касается программы. Паскаля под рукой нет, ставить лень. Но общий алгоритм от языка зависит слабо, если знаете Си, вот Вам рабочий вариант:

#include <stdio.h>

int main ()
{
       int i;
       char a[] = {'|', '/', '-', '\\'};
       while (1) {
           for (i = 0; i < 4; i++) {
               printf ("\b%c", a_); } } }_

Т.е. затираем предыдущий символ, на его место выводим следующий. Когда переберется весь массив, обнуляем индекс, т.е. возвращаемся на первый символ и повторяем все заново.

ЗЫ. А строка

m:= (m+1) mod 4;

меня повергла в совершенное недоумение. Что это за операция? Остаток от деления? Что она возвращает для выражений 1 mod 4, 2 mod 4…?

блин с Си я пока не знаком

Но буду пытаться. Спасибо что ответили.

Если кто-нить есть кто пишет в паскале помогите плз.

а строчка:

m:= (m+1) mod 4;

так написано в книге по паскалю…

| EvilShadow писал(а) Sun, 18 November 2007 22:33 |
|

ЗЫ. А строка

m:= (m+1) mod 4;

меня повергла в совершенное недоумение. Что это за операция? Остаток от деления? Что она возвращает для выражений 1 mod 4, 2 mod 4…?

|

Да, это остаток от деления нацело, что очень удобно для быстрой организации “круглых” циклов. 1 mod 4 = 1, 2 mod 4 = 2, 3 mod 4 = 3, 4 mod 4 = 0 и так далее по кругу.

Кстати, DOS программы в Linux запускаются также, как в других системах - через эмулятор. Только вот специалистов уже нет.

Так текс программы написан правильно… А почему не работает как надо я понять не могу

А вы вот прямо вот так писали, как в первом посте? С лишними переводами строк после const и var?

В смысле лишний перевод строк?

  • Текст такойже как я писал в паскале.

| Aceler писал(а) Sun, 18 November 2007 22:26 |
|

Кстати, DOS программы в Linux запускаются также, как в других системах - через эмулятор. Только вот специалистов уже нет.

|

Правильно. Мне надо слить Турбопаскаль, потом поставить dosemu… Увольте

| 4fun писал(а) Mon, 19 November 2007 00:35 |
|

В смысле лишний перевод строк?

|

В прямом.

uses dos, crt;
 const line : array[0..3] of char = ('|' , '/' , '-' , '\');
 var m: integer;
 begin
 TextColor(Yellow);
 m:= 0;
 repeat
 gotoxy(40, 13);
 write(line[m]);
 gotoxy(1, 1);
 delay(100);
 m:= (m+1) mod 4;
 until keypressed;
 end.

P.S. http://sesia5.ru/blok/index12.htm

http://webart.user.kz/pascal/index.htm

на счёт строк понял мне просто так удобнее потом разбираться, чего я там понаписал.

Спасибо за ссылки, но у меня есть 2-е книжки по паскалю, но думаю что пригодиться.

Я все равно так и не понял почему программа работает неправильно =( текст 100% правельный, а она работать все равно не хочет… мистика прямо какая-то…

и что никто не знает в чем проблема?

Нет.