WebClub - Всероссийский Клуб Веб-разработчиков
WebClub.RU » Архив » Знакомство с ASP: счетчик для IIS за 5 минут. Часть 3

Знакомство с ASP: счетчик для IIS за 5 минут. Часть 3


Дата публикации: 17-03-2013

Рассмотрим 2 варианта информеров.

1. Информеры, которые загружаются с сервера как файл в графическом формате.

2. Динамически создающиеся в момент загрузки страницы.

В обоих случаях для создаия информера, - суть файла в графическом формате с какой - либо информационной нагрузкой, необходим серверный компонент создающий графические файлы. Один из лучших - ShotGraph. Разработчик - Михаил Чикалов. Возможности свободно  распространимой версии более чем достаточны.

Определимся с содержанием информера. К примеру,  нужен информер, который с заданной периодичностью  будет отображать информацию о соотношении обращений клиентов  различными броузерами (NN/IE).

Для получения данных воспользуйтесь базой описанной в предидущем примере. Поскольку серверный компонент ShotGraph умеет работать с WSH (Windows Scripting Host), то останется написать код скрипта, который с заданной периодичностью будет исполняться  WSH и перезаписывать файл информера.

Код vbs - файла:

' -- Для получения данных из базы воспользуемся уже имеющимся ODBC - ресурсом
' -- (смотри предидущую статью)

Set ConUser = CreateObject("ADODB.Connection")
myDSN="DSN=MyCounter;uid="";pwd="""
ConUser.Open myDSN
Set RsUser = CreateObject("ADODB.Recordset")

' -- IE Counter --
IESQLString = "SELECT Count(T_Counter.IdCounter) AS IECount FROM T_Counter HAVING " & _  "(((Left([IDClient],1))='I'));" ' -- можно использовать Left$ --
RsUser.Open(IESQLString), ConUser
IE=RsUser("IECount")
RsUser.Close

' -- NN Counter --
NNSQLString = "SELECT Count(T_Counter.IdCounter) AS NNCount FROM T_Counter HAVING " & _ "(((Left([IDClient],1))='N'));"
RsUser.Open(NNSQLString), ConUser
NN=RsUser("NNCount")
RsUser.Close

Set RsUser = nothing
ConUser.Close
Set ConUser = nothing

' -- Создаем файл информера

Set g=CreateObject("shotgraph.image")
g.CreateImage 80,50,4
'White color
g.SetColor 0,255,255,255
'Black color
g.SetColor 1,0,0,0
'Blue color
g.SetColor 2,&h99,&h99,&hcc

g.SetBgColor 2
g.SetBkMode "TRANSPARENT"
g.CreatePen "PS_SOLID",5,1
g.Rectangle 0,0,80,50


g.CreateFont "Times New Roman",0,18,0,True,True,False,False
g.SetTextAlign "TA_LEFT","TA_TOP"
g.SetTextColor 1
g.TextOut 15,5,"IE/NN"

g.CreateFont "Times New Roman",0,20,0,True,True,False,False
g.SetTextAlign "TA_LEFT","TA_TOP"
g.SetTextColor 0
g.TextOut 15,20,IE & "/" & NN

g.JpegImage 90,0,"test.jpg"
' -- файл создан

Cкопируйте код в файл и сохраните с расширением .vbs
После исполнения данного файла в указанном Вами каталоге (в данном случае - в том каталоге, из которого был запущен vbs - файл), будет создан файл информера "test.jpg"



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

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

В заголовке используйте конструкцию:

<%
Response.ContentType="image/gif"
Set g=Server.CreateObject("shotgraph.image")

' -- код --
' -- код --

img=g.GifImage(-1,1,"")
Response.BinaryWrite(img)
 %>

Домен продается

Популярное

Не так давно в сети появился новый сервис, под названием Dead Man Zero. Этот сервис сделал...
Рынок социальных площадок уже давно стал стабильным. Несмотря на то, что время от времени...
Artisteer 4 – единственный в своем роде продукт, позволяющий автоматизировать работу над созданием...
Апрель 2024 (1)
Октябрь 2018 (14)
Февраль 2017 (3)
Январь 2017 (1)
Август 2016 (1)
Май 2016 (2)

Карта сайта: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41

Друзья сайта



Случайная цитата

Неизвестный автор:

"Ссылка – текст, да в ней намёк."

Опрос

Какой браузер Вы используете?

Internet Explorer
Google Chrome
Mozilla Firefox
Netscape Navigator
Maxthon Browser
Opera
Mozilla Suite
SeaMonkey
K-Meleon
Safari
Amaya
Avant Browser
SlimBrowser
Другой...