Проблема с выводом диалога в HTML-таблицу
Формируется таблица из одной строки и двух столбцов. В первом столбце в последствии предполагается расположить изображение. Во втором столбце должен быть текст. Первые реплики выводятся в нужный столбец, затем открывается окно действий и начинается диалог. При этом строки диалога выводятся под таблицей.
!отключить окно действий
SHOWACTS 0
!Разрешить HTML
USEHTML=1
!Создать таблицу, создать строку таблицы
'<table border=1><tr>'
!Если время меньше 11:15 или больше 14:45
IF (varHourNow=11 and varMinuteNow <= 15) or (varHourNow = 14 and varMinuteNow > 45):
!Определить Открыто/закрыто (0-нет, 1-да)
IF rand(0,1)=1:
!Создать пустой столбец для рисунка, создать столбец
'<td></td><td>'
'<font color=Green> Закрыто'
ELSE
!Создать пустой столбец для рисунка, создать столбец
'<td></td><td>'
'<font color=Green> Открыто'
END
ELSE
!Создать пустой столбец для рисунка, создать столбец
'<td></td><td>'
'<font color=Green> Окна нет'
END
!открыть окно действий
SHOWACTS 1
act 'Залезть':
'<font color=blue> - Сейчас я залезу.'
!Удалить действие
delact $selact
'<font color=blue> - Получится или нет?'
'<font color=Magenta> - Не попробуешь - не узнаешь'
act 'Я тут подумал...':
'<font color=blue>А может ну его'
'<font color=green> Отходит от окна'
delact $selact
'<font color=Magenta> - Неужели испугался?'
'<font color=blue> - Ищи дурака!'
varWindowIn[0]=1
IF KeyDoorIn[0]=0:
act 'Ключ от двери':
'<font color=blue> - Я бы прошел через дверь'
delact $selact
SHOWACTS 0
'<font color=Magenta> Я сделаю тебе дубликат ключа.'
KeyDoorIn[0]=2
KeyDoorIn_ServiceDay[0]=varDayNow
KeyDoorIn_ServiceDay[1]=varMonthNow
KeyDoorIn_ServiceDay[2]=varYearNow
*PL '<a href="exec:gt ''procDateTime'',''locHall'', 30">Уйти</a>'
end
ELSE
SHOWACTS 0
*PL '<a href="exec:gt ''procDateTime'', ''locHall'', 30">Уйти</a>'
END
end
end
!Закончить работу со шрифтом, закрыть столбец, закрыть строку, закрыть таблицу
'</font></td></tr></table>'
Aleks Versus,
Я сейчас лишь учусь и рассматриваю различные варианты кода. Если бы мне все было понятно, то наверное и не спрашивал бы. Вариант с ACT’ами забраковал. Использовал как основу твой код, поменяв ACT’ы на ссылки. Дополнительный плюс твоего кода - возможность динамически менять изображения в левой части.
!отключить окно действий
SHOWACTS 0
!Разрешить HTML
USEHTML=1
$left_tada[1]=' '
$left_tada[2]=' '
$left_tada[3]=' '
$left_tada[4]=' '
$right_tada[1]='<a href="exec: action[0]=1 & gt ''<<$curloc>>''">Залезть</a><br>'
$right_tada[2]='<a href="exec: action[0]=2 & gt ''<<$curloc>>''">Я тут подумал...</a><br>'
$right_tada[3]='<a href="exec: action[0]=3 & gt ''<<$curloc>>''">Ключ от двери</a><br>'
$right_tada[4]='<a href="exec:gt ''procDateTime'',''locHall'', 30">Уйти</a><br>'
if action[0] = 0:
$left_tada[0]=$left_tada[1]
IF (varHourNow=11 and varMinuteNow <= 15) or (varHourNow = 14 and varMinuteNow > 45):
!Определить Открыто/закрыто (0-нет, 1-да)
IF rand(0,1)=1:
$right_tada1 = $right_tada +'<font color=Green> Закрыто.</font><br>'
$right_tada = $right_tada1 + $right_tada[1]
ELSE
$right_tada1 = $right_tada + '<font color=Green> Открыто.</font><br>'
$right_tada = $right_tada1 + $right_tada[1]
END
ELSE
$right_tada1 = $right_tada + '<font color=Green> Окна нет.</font><br>'
$right_tada= $right_tada1+$right_tada[1]
END
END
IF action[0]=1:
$right_tada2 = $right_tada1 + '<font color=blue> - Сейчас я залезу.</font><br>'+'<font color=blue> - Получится или нет?</font><br>'+'<font color=Magenta> - Не попробуешь - не узнаешь</font><br>'
$right_tada = $right_tada2 + $right_tada[2]
$left_tada=$left_tada[1]
END
IF action[0]=2:
$right_tada3 = $right_tada2 + '<font color=blue>- А может ну его?</font><br>'+'<font color=green> Отходит от окна</font><br>'+'<font color=Magenta> - Неужели испугался?</font><br>'+'<font color=blue> - Ищи дурака!</font><br>'
$right_tada = $right_tada3 + $right_tada[3]
$left_tada=$left_tada[2]
END
IF action[0]=3:
IF KeyDoorIn[0]=0:
$right_tada4=$right_tada3+'<font color=blue> - Я бы прошел через дверь</font><br>'+'<font color=Magenta> Я сделаю тебе дубликат ключа.</font><br>'
$right_tada = $right_tada4 + $right_tada[4]
$left_tada=$left_tada[3]
KeyDoorIn[0]=2
KeyDoorIn_ServiceDay[0]=varDayNow
KeyDoorIn_ServiceDay[1]=varMonthNow
KeyDoorIn_ServiceDay[2]=varYearNow
ELSE
$right_tada = $right_tada3 + $right_tada[4]
END
END
'<table border=1><tr><td>'+$left_tada+'</td><td>'+$right_tada+'</td></tr></table>'
Такой подход позволяет не только динамически менять изображения. :) Посмотри замечательную игру Олегуса - там всё вынесено в основное описание, которое почти полностью формируется динамически.
Aleks Versus,
Спасибо. Буду изучать.
