4fun Posted November 17, 2007 Report Posted November 17, 2007 Помогите разобраться начал учить 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 Quote
4fun Posted November 18, 2007 Author Report Posted November 18, 2007 Блин 105 человек просмотрели тему, и что никто помочь не может?? =( Quote
Ineu Posted November 18, 2007 Report Posted November 18, 2007 Никто. 1. Вы не удосужились рассказать, чего хотите добиться. 2. Вы не говорите, что не работает и что Вы делали, чтоб заработало. 3. Вы выкладываете на линуксовом форуме досовские исходники. Где прикажете искать турбо паскаль, чтоб проверить Ваши исходники? Если форум называется "Программирование общее", Вы ведь не ожидаете здесь ответы на вопросы о программировании на ассемблере для каких-нибудь VAX'ов? Так почему же Вы удивляетесь тому, что линуксоиды не отвечают на вопросы о программирование под ДОС? Quote
4fun Posted November 18, 2007 Author Report Posted November 18, 2007 to EvilShadow спасибо. Я пытаюсь сделать, чтобы получился эффект крутящийся стрелки. т.е. символы /, -, \, | , должны появляться по порядку. Пробывал я и так и сяк, на выходе эти символы рандомно появляються (вразнобой, не по порядку). Уже голову сломал с этими массивами. (просто я только что начал изучать Паскаль) вот сам паскаль(turbo pascal 7.0): http://dl.softportal.com/load/tp7.zip сама программа: http://ifolder.ru/4178412 Quote
Ineu Posted November 18, 2007 Report Posted November 18, 2007 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...? Quote
4fun Posted November 18, 2007 Author Report Posted November 18, 2007 блин с Си я пока не знаком Но буду пытаться. Спасибо что ответили. Если кто-нить есть кто пишет в паскале помогите плз. а строчка: m:= (m+1) mod 4; так написано в книге по паскалю... Quote
Aceler Posted November 18, 2007 Report Posted November 18, 2007 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 и так далее по кругу. Quote
Aceler Posted November 18, 2007 Report Posted November 18, 2007 Кстати, DOS программы в Linux запускаются также, как в других системах - через эмулятор. Только вот специалистов уже нет. Quote
4fun Posted November 18, 2007 Author Report Posted November 18, 2007 Так текс программы написан правильно... А почему не работает как надо я понять не могу Quote
Aceler Posted November 18, 2007 Report Posted November 18, 2007 А вы вот прямо вот так писали, как в первом посте? С лишними переводами строк после const и var? Quote
4fun Posted November 18, 2007 Author Report Posted November 18, 2007 В смысле лишний перевод строк? - Текст такойже как я писал в паскале. Quote
Ineu Posted November 18, 2007 Report Posted November 18, 2007 Aceler писал(а) Sun, 18 November 2007 22:26 Кстати, DOS программы в Linux запускаются также, как в других системах - через эмулятор. Только вот специалистов уже нет. Правильно. Мне надо слить Турбопаскаль, потом поставить dosemu... Увольте Quote
Aceler Posted November 18, 2007 Report Posted November 18, 2007 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 Quote
4fun Posted November 18, 2007 Author Report Posted November 18, 2007 на счёт строк понял мне просто так удобнее потом разбираться, чего я там понаписал. Спасибо за ссылки, но у меня есть 2-е книжки по паскалю, но думаю что пригодиться. Я все равно так и не понял почему программа работает неправильно =( текст 100% правельный, а она работать все равно не хочет... мистика прямо какая-то... Quote
4fun Posted November 24, 2007 Author Report Posted November 24, 2007 и что никто не знает в чем проблема? Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.