powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / escape-последовательность в терминале
4 сообщений из 4, страница 1 из 1
escape-последовательность в терминале
    #38494021
Suitcaser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для примера вызываю функцию ##class(%DeepSee.Utils).%BuildCube("HoleFoods") //zn "SAMPLES"
Вывод в терминале прост и понятен
Смотрим код самой функции:

...
Write:pVerbose "Deleting existing cube..."
Set tSC = $zobjclassmethod(tClassName,"%KillFacts")
If $$$ISERR(tSC) Quit
Write:pVerbose $C(13,27)_"[0J"
Write:pVerbose "Existing cube deleted.",!
...

Меня интересует строчка Write:pVerbose $C(13,27)_"[0J"

Пробовал запускать разные комбинации этого escape c другими строками - на выходе то, что никак не укладывалось у меня в голове: то не напечатается строчка, что перед эскейпом $C(13,27), то та, что после, то ещё чего.

Так какой же смысл в этих символах и как их обрабатывать, если надо, например, сделать свою версию терминала?
...
Рейтинг: 0 / 0
escape-последовательность в терминале
    #38494151
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SuitcaserМеня интересует строчка
Код: vbnet
1.
Write:pVerbose $C(13,27)_"[0J"


Тут стоит немного разделить...

Код: vbnet
1.
2.
3.
4.
 // Это возврат каретки
 w $C(13)
 // Это уже какая-то управляющая структура, не факт, что с тандартная. Нужно проверить
 w $C(27),"[0J"
...
Рейтинг: 0 / 0
escape-последовательность в терминале
    #38494155
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa
Код: vbnet
1.
2.
 // Это уже какая-то управляющая структура, не факт, что с тандартная. Нужно проверить
 w $C(27),"[0J"


Вот что это
автор /ED(n)
Очистить экран дисплея. n=0 - от курсора до конца экрана n =1 – от начала экрана до курсора n-2 – весь экран.
*27,[nJ
$Х: Не меняется $Y: He меняется
...
Рейтинг: 0 / 0
escape-последовательность в терминале
    #38494162
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надеюсь, пример поможет:Class demo.test [ Abstract ]
{

ClassMethod Test()
{
  w #
  w "без",! f i=1:1:5 d ..TestJob(i)
  w "с",! f i=1:1:5 d ..TestJob(i,1)
}

ClassMethod TestJob(
  N,
  b = 0)
{
  w "Вычисление ..."
  h 0.5
  w:b $c(13,27)_"[0J"
  w "Вычисление окончено. Результат=",N,!
}

}
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
USER>d ##class(demo.test).Test()

без
Вычисление ...Вычисление окончено. Результат=1
Вычисление ...Вычисление окончено. Результат=2
Вычисление ...Вычисление окончено. Результат=3
Вычисление ...Вычисление окончено. Результат=4
Вычисление ...Вычисление окончено. Результат=5
с
Вычисление окончено. Результат=1
Вычисление окончено. Результат=2
Вычисление окончено. Результат=3
Вычисление окончено. Результат=4
Вычисление окончено. Результат=5

PS: особо обратите внимание на "анимацию" во втором случае.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / escape-последовательность в терминале
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]