Онлайн-справочник по самым часто задаваемым вопросам из темы "Как сделать?" на форуме QSP.su
20.4. Как сделать, чтобы текст выводился не внизу окна основного описания, а сверху?
В: Как сделать, чтобы текст выводился не внизу окна основного описания, а сверху?
О:
Проще всего написать отдельную локацию, и потом вызывать её всякий раз, когда понадобится добавить текст вверху окна основного описания. Локация будет называться "p.top":
!#p.top
local $top_text = $args[0] & ! текст, который надо вывести сверху
!запоминаем текст в окне основного описания
local $main_txt = $maintxt
! очищаем окно основного описания
*clr
! выводим строку
*pl $top_text
! выводим текст, который был ранее
*p $main_txt
local $top_text = $args[0] & ! текст, который надо вывести сверху
!запоминаем текст в окне основного описания
local $main_txt = $maintxt
! очищаем окно основного описания
*clr
! выводим строку
*pl $top_text
! выводим текст, который был ранее
*p $main_txt
Теперь, чтобы добавить текст сверху, в нужном месте:
gs 'p.top','Строка, которая выведется над основным описанием!'
Этот пример можно развить:
local $top_text = $args[0] & ! текст, выводимый сверху
local $command = $iif($args[1]<>"", $args[1], "*pl") & ! команда, с помощью которой нужно вывести текст
local $screen = $mid($args[1],1,1) & ! получаем первый символ из команды
local $text = ""
if $screen="*":
! если первый символ команды выведения текста *
! значит нам нужен текст из окна основного описания
$text=$maintxt
else
! в противном случае
! нам нужен текст из окна дополнительного описания
$text=$stattxt
end
! теперь с помощью dynamic повторяем действия из предыдущего примера:
dynamic "
<<$screen>>clr
<<$command>> $args[0]
<<$screen>>p $args[1]
",$top_text,$text
local $command = $iif($args[1]<>"", $args[1], "*pl") & ! команда, с помощью которой нужно вывести текст
local $screen = $mid($args[1],1,1) & ! получаем первый символ из команды
local $text = ""
if $screen="*":
! если первый символ команды выведения текста *
! значит нам нужен текст из окна основного описания
$text=$maintxt
else
! в противном случае
! нам нужен текст из окна дополнительного описания
$text=$stattxt
end
! теперь с помощью dynamic повторяем действия из предыдущего примера:
dynamic "
<<$screen>>clr
<<$command>> $args[0]
<<$screen>>p $args[1]
",$top_text,$text
Теперь можно выводить текст в окне основного и дополнительного описаний сверху разными способами:
gs 'p.top','Строка плюс переход на новую строку в окне основного описания'
gs 'p.top','Строка плюс переход на новую строку в окне дополнительного описания','pl'
gs 'p.top','Переход на новую строку плюс строка в окне доп описания','nl'
gs 'p.top','Строка плюс переход на новую строку в окне дополнительного описания','pl'
gs 'p.top','Переход на новую строку плюс строка в окне доп описания','nl'