SLWebTracker - формат вывода текста

Здесь обсуждаются любые продукты компании СофтЛаб-НСК для телевизионного вещания (Форвард Т, Форвард ТС, Форвард Голкипер, Форвард Рефери, Форвард Офис, Форвард Инжест)

Модераторы: ElenVR, Людмила, PR

Ответить
radiokot
Сообщения: 117
Зарегистрирован: 29 июн 2015 03:11
Откуда: Казань
Контактная информация:

SLWebTracker - формат вывода текста

Сообщение radiokot »

Добрый день, всем участникам форума.
Обращаюсь к Вам за помощью, программа SLWebTracker не обновляет в автоматическом режиме погоду, провал разные сайты (яндекс, гис метео), причем проблема возникла внезапно, до этого все работало прекрасно.
Скорее всего, на сайтах поменяли API.
Программа использовалась для вывода температуры в фаил
\%dirname%\Pogoda.txt
Содержимое файла имело одну строку вида (пример):
+26 °C

При этом в плашке канала все отображалось нормально.

Почитав по форуму, пришел к выводу, что я не одинок с такой проблемой, и Вы даже выпустили программу SLWeatherTracker.
С ней погода обновляется, но помимо всего прочего, она выводит в текстовый фаил другую, не нужную мне информацию, например влажность, название города, давление, и т.д.

В связи в чем вопрос.

1. Каким образом, убрать вывод в текстовый фаил всех других данных, кроме текущей температуры ?
В настройках SLWeatherTracker-а рылся, там такой опции не нашел.


Не наидя возможности убрать ненужную мне инфу из SLWeatherTracker-а, я решил сам написать программу, которая будет дергать погоду.
Программу писал на Delphi, она выдирает показатель температуры, и пишет в фаил \%dirname%\Pogoda.txt этот показатель.
Код программы для записи показателя погоды в txt

Код: Выделить всё

var
f:textFile;
begin
AssignFile(f, 'c:\titr\pogoda.txt');
       Rewrite(f);
       writeln(f,a,' °C');
       CloseFile(f);
end;
на выходе имеем (для примера):
+26 °C

Все прекрасно работает, когда я запускаю свою самописную программу, погода берется с сайта и пишется в фаил через указанный мной в коде проги период.
самое интересное начинаеться, кода я запускаю onAir, то вижу, что погода не помешаться в плашку. Причем если закрыть мою самодельную программу, и запустить SLWebTracker, и в поле Output string забить предположим +26 °C вручную, то погода начинает помещаться в плашке. При этом визуальных отличий того, что пишет в фаил SLWebTracker и моя программа нету ( при просматривании его блокнотом).
В чем может быть проблема ? Почему корректно не воспринимается значение, которое я пишу в фаил сторонней программой ? Что нужно сделать для этого ?
Заранее спасибо.
Игорь Таранцев
Сообщения: 493
Зарегистрирован: 04 янв 2004 12:45
Откуда: СофтЛаб-НСК

Сообщение Игорь Таранцев »

Скорее всего проблема в кодах символов в текстовом файле. Например буква "C" русская "эс" или английская "си"? знак градуса в какой кодировке? Чтобы увидеть различия файлов посмотрите коды символов в Hex представлении файла (например, кнопка F4 во вьювере в FAR-е).
Чтобы решить проблему, попробуйте писать юникодный текстовый файл.
Людмила
Сообщения: 1407
Зарегистрирован: 10 сен 2004 12:09

Сообщение Людмила »

1. Каким образом, убрать вывод в текстовый фаил всех других данных, кроме текущей температуры ?
Не знаю, с какой именно версией Вы работаете, но вообще в файле региона (rgn) нужно текстовому боксу присвоить то название, которое прописывается перед значением температуры, а именно temp, тогда программа должна считывать данные именно из этой строки.
radiokot
Сообщения: 117
Зарегистрирован: 29 июн 2015 03:11
Откуда: Казань
Контактная информация:

Сообщение radiokot »

Спасибо за ответ, попробовал писать Юникодом, теперь выводит иероглифы.
Буду разбираться дальше.
vd
Сообщения: 2311
Зарегистрирован: 05 мар 2003 19:21

Сообщение vd »

Неправильно выводите текст в юникод, скорее всего.

В юникодном текстовом файле должны сначала присутствовать два байта: 0xFF, 0xFE. В противном случае файл не будет правильно воспринят, как юникодный текст.
radiokot
Сообщения: 117
Зарегистрирован: 29 июн 2015 03:11
Откуда: Казань
Контактная информация:

Сообщение radiokot »

так и есть.
Первые два байта
Изображение
Игорь Таранцев
Сообщения: 493
Зарегистрирован: 04 янв 2004 12:45
Откуда: СофтЛаб-НСК

Сообщение Игорь Таранцев »

А блокнот показывает текст правильно?
Если текст в блокноте выглядит неправильно, то проверяйте Ваш код.
Если же текст в блокноте выглядит правильно, а в титровальном элементе - неправильно, то надо проверять шрифт. То есть нужно выбрать в блокноте тот же шрифт, который задан в коллекции стилей. Дело в том, что не все шрифты поддерживают полный набор букв. Многие шрифты содержат только английские и, например, русские буквы. Соответственно символа "градус" в шрифте может не быть.
Даниленко Сергей
Сообщения: 7093
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

Сообщение Даниленко Сергей »

. Каким образом, убрать вывод в текстовый фаил всех других данных, кроме текущей температуры ?
В настройках SLWeatherTracker-а рылся, там такой опции не нашел.
Никак. Не для этого программа SLWeatherTracker предназначена.


Код программы для записи показателя погоды в txt

Код:

var
f:textFile;
begin
AssignFile(f, 'c:\titr\pogoda.txt');
Rewrite(f);
writeln(f,a,' °C');
CloseFile(f);
end;

на выходе имеем (для примера):
+26 °C
И как вам удаётся (если не секрет) с помощью этого кода что-то записывать в файл? Переменная 'а' у вас откуда берётся? Сама с неба спускается и в файл ныряет?
radiokot
Сообщения: 117
Зарегистрирован: 29 июн 2015 03:11
Откуда: Казань
Контактная информация:

Сообщение radiokot »

Сама с неба спускается
В наше время окромя дождя и снега, с неба ничего не спускается, к сожалению.

Переменная "a" это глобальная переменная, к ней привязывается значение температуры.
Проблему решил изменением параметра "высота" в свойстве погодной плашки в титровальном объекте.
Изображение[/url]

Возник вопрос, пропало время из блока, которое я обвел на скрине красным.
С чем это может быть связанно ?
Возможно ли его как то вернуть без закрытия onAir ?
Изображение[/url]

Заранее спасибо.
Людмила
Сообщения: 1407
Зарегистрирован: 10 сен 2004 12:09

Сообщение Людмила »

Связано с недостатками графической отрисовки интерфейса. Вернуть без закрытия, к сожалению, не получится.
radiokot
Сообщения: 117
Зарегистрирован: 29 июн 2015 03:11
Откуда: Казань
Контактная информация:

Сообщение radiokot »

Спасибо за ответ. Скорее всего, так и есть, потому что через день программа аварийно закрылась.
Буду откатываться на старую версию.
Ответить