Процедура Gotoxy, Какой скрипт процедуры gotoxy |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Процедура Gotoxy, Какой скрипт процедуры gotoxy |
Bokul |
Сообщение
#1
|
Гуру Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: 11 |
Хто знает как работает процедура gotoxy. :low:
И еще: работает ли она при работе с файлами? Если нет, то можна написать самому такую процедуру. :ryg: -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
Atos |
Сообщение
#2
|
Прогрессор Группа: Пользователи Сообщений: 602 Пол: Мужской Реальное имя: Михаил Репутация: 9 |
Procedure GotoXY(X, Y; Byte) Перемещает курсор в нужное место экрана (окна).
С файлами не работает. Может, тебе нужно это: Procedure Seek (var F; N: LongInt) Устанавливает текущую позицию файла на указанный элемент (не используется с текстовыми файлами). |
Bokul |
Сообщение
#3
|
Гуру Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: 11 |
Спасибо ATOS :thanks: , но мне как раз надо использовать аналог процедуры
gotoxy для текстового файла. Нет ли такой процедуры? А также я хотел бы узнать сам скрипт gotoxy. :low: -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
klem4 |
Сообщение
#4
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Можно самому написать если уж нак надо что-то подобное ...
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
klem4 |
Сообщение
#5
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Вот написал процедурку, вроде работает, выводит на экран символ из файла(текстового) с "координатами" (X,Y), только зачем это нужно )))))))))))
собсно чуть поменять и можно установить туда "курсор" я думаю или втавить нужный символ чтоли ... procedure _GotoXY(var T : Text; x, y : integer); возможно есть ошибка , но идея тебе должна быть ясна ... привер для файла, в котором содержится 123a 456b 789c _GotoXY(f, 2, 3) выдаст 8 (не забывай что ось Y направлена вниз ;) ) Сообщение отредактировано: klem4 - -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Bokul |
Сообщение
#6
|
Гуру Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: 11 |
Вообще-то я мне надо было написать аналог команды текстовых редакторов
Find(on this page), и для етой цели мне нужно было использовать gotoxy, но у мене вышло сделать ету задачку не используя ету процедуру. Вот она(но пока не работает с файлами :p2: ) Program FindText; Только одна проблема - програма не читает последний символ строки. Не подскажеш как избавится от нее? :molitva: Сообщение отредактировано: volvo - -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
volvo |
Сообщение
#7
|
Гость |
Цитата(Bokul @ 30.09.2005 0:02) Только одна проблема - програма не читает последний символ строки. Не подскажеш как избавится от нее? :molitva: Ты же сам идешь против правил, а потом удивляешься... Что вот это, по-твоему? for i:=1 to length(str) do Это как раз нарушение правил использования циклов. Черным по белому в документации сказано: "Если оператор, содержащийся в теле оператора for, изменяет значение управляющей переменной, то это является ошибкой." (взято отсюда: Руководство по языку B.Pascal 7 & Objects/LR -> Оператор FOR) |
Bokul |
Сообщение
#8
|
Гуру Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: 11 |
Тоесть, как я понял для нормальной работы
програмы надо удалить inc(i) :ypr: -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
klem4 |
Сообщение
#9
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Да, ты правильно понял, i у тебя и так втоматически будет увеличиваться в цикле for, inc(i) - не нужно.
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
Сообщение
#10
|
Гость |
program FindText; Не проще? Вместо того, чтобы работать посимвольно... |
Bokul |
Сообщение
#11
|
Гуру Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: 11 |
К klem4: если убрать inc(i), то програма все-равно не читает последнее
слово . Может ошыбка где-нибуть в другом месте. А тепер к Volvo: спасибо за скрипт , все работает, но есть одно но - програма не разбирает конец слов, тоесть нарпимер: у меня есть текст gogo и слово которое надо найти - go, казалось бы програма должна вывести Цитата no word: go но вместо етого она выводит gogo красным цветом. Где надо исправить для нормальной работы програмы? -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
volvo |
Сообщение
#12
|
Гость |
Цитата(Bokul @ 30.09.2005 19:08) Где надо исправить для нормальной работы програмы? Вот так должно работать (тестировалось с приведенными в комментариях данными):program FindText; P.S. Тема явно перестала быть теоретической, поэтому переношу ее в "Задачи". |
Текстовая версия | 27.09.2024 22:44 |