10 oct 2007

behavior:url #default#VML (IE) - Sample VML ASP - VBSCRIPT

 Sample VML ASP - VBSCRIPT






<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns="http://www.w3.org/TR/REC-html40">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->


<head>

</head>

<body>


<%

set oVMLChart1 = new ClassVMLChart1

       oVMLChart1.bShowLabelxMultilevel = true
       oVMLChart1.LabelxMultilevel =4
       oVMLChart1.LabelxLevels(0) = split("TURNO ANTERIOR,TURNO
ANTERIOR,TURNO ANTERIOR,TURNO ANTERIOR,TURNO ANTERIOR,TURNO
ANTERIOR,TURNO ANTERIOR,TURNO ACTUAL,TURNO ACTUAL,TURNO ACTUAL,TURNO
ACTUAL",",")
       oVMLChart1.LabelxLevels(1) = split("0,1,2,3,4,5,6,7,8,9,10",",")
       oVMLChart1.LabelxLevels(2) =
split("JUAN,JUAN,JUAN,JUAN,B,B,C,D,D,D,D",",")
       oVMLChart1.LabelxLevels(3) =
split("AYER,AYER,AYER,AYER,AYER,AYER,AYER,AYER,AYER,HOY,HOY",",")

       ' force text label
       'oVMLChart1.LabelyLevels(0) = "auto"'split("0 %,10
%,20,30,40,50,60,70,80,90,100,110,120",",")



oVMLChart1.AddSerie()
'oVMLChart1.serie(0).ArrDatos =
split(",75,,60,110,77,80,90,10.5,21",",")
oVMLChart1.serie (0).ArrDatos =
split("110,120,120,120,120,120,120,,,",",")
oVMLChart1.serie(0).color = "#808080"
oVMLChart1.serie(0).Gallery = "Columns"
oVMLChart1.serie(0).opacity = .2 '"11141f"      ' para columnas
oVMLChart1.serie(0).border = "no"       ' para columnas
oVMLChart1.serie(0).bShowValuesin = false       ' para columnas


oVMLChart1.AddSerie()
oVMLChart1.serie(1).ArrDatos =
split("166,66,66,66,66,66,66,66,66,66",",")
oVMLChart1.serie(1).color = "#ff00ff"
oVMLChart1.serie(1).Gallery = "Line"

oVMLChart1.AddSerie()
oVMLChart1.serie(2).ArrDatos =
split("10,110,38,6,10,47,50,50,20.5,44",",")
oVMLChart1.serie(2).Gallery = "LinePoint"

oVMLChart1.AddSerie()
oVMLChart1.serie(3).ArrDatos = split("3,5,3,6,100,7,20,30,40.5,",",")
oVMLChart1.serie(3).Gallery = "Columns"
oVMLChart1.serie(3).color = "#a52a2a"
oVMLChart1.serie(3).opacity = .8
oVMLChart1.serie(3).bShowValuesin = true
oVMLChart1.serie(3).border = "1"
oVMLChart1.Render()


%>

<%

Class ClassVMLChart1

       public serie()
       public bShowLabelxMultilevel,LabelxMultilevel
       dim LabelxLevels(),LabelyLevels(),bShowLabely,bShowLabelx

       private oVMLGrid,CantidadSeries


       dim  gridWidth ,        gridHeight
       dim     minValues ,     MaxValues       ,hLines ,       vLines

       dim LabelYpostString,
LabelYDecimalsEscala,bScaleYigualMAX,iScaleY
       dim oTituloY , oTituloX , oTituloGrafico


       Private Sub Class_Initialize()
               dim a
               set oVMLGrid = new ClassVMLGrid
               CantidadSeries =0
               redim  serie(50)
               for a = 0 to 50
                       set serie(a) = New ClassSerieParam
               next

               bShowLabelxMultilevel = false
               LabelxMultilevel =10
               redim LabelxLevels(LabelxMultilevel)
               bShowLabely = TRUE
               bShowLabelx = false

               redim LabelyLevels(1)
               LabelyLevels(0) =
""'split("0,10,20,30,40,50,60,70,80,90,100,110,120",",")

               gridWidth = 500
               gridHeight = 200
               hLines = 10
               vLines = null


               iScaleY =  null

               LabelYpostString =""
               LabelYDecimalsEscala = 0
               bScaleYigualMAX = false'true

                       set  oTituloY = new ClassTitulos
                       oTituloY.text = "oTituloY"
                       oTituloY.visible = true

                       set  oTituloX = new ClassTitulos
                       oTituloX.text = "oTituloX"
                       oTituloX.visible = true

                       set  oTituloGrafico = new ClassTitulos
                       oTituloGrafico.text = "oTituloGrafico"
                       oTituloGrafico.visible = true

       end sub

       public function AddSerie()
               CantidadSeries = CantidadSeries +1
       end function

       sub Render()
               dim a
               oVMLGrid.CantidadSeries = CantidadSeries
               for a = 1 to CantidadSeries
                       set oVMLGrid.serie(a-1) = serie(a-1)
                       oVMLGrid.vLines =ubound(serie(a-1).ArrDatos) + 1


               next


               ' paso varialbes
               oVMLGrid.bShowLabelxMultilevel = bShowLabelxMultilevel
               oVMLGrid.LabelxMultilevel       = LabelxMultilevel
               for a = 1 to LabelxMultilevel
                         oVMLGrid.LabelxLevels(a-1) = LabelxLevels(a-1)
               next


               oVMLGrid.bShowLabely = bShowLabely
               oVMLGrid.bShowLabelx = bShowLabelx

               if isArray(LabelyLevels(0))  then
                       oVMLGrid.LabelyLevels(0) = LabelyLevels(0)
               else ' auto
                       minValues =0
                       MaxValues       = GetMaxValue()
                       oVMLGrid.LabelyLevels(0) =
construirEscalaY(minValues,MaxValues,hLines)' y hLines
                       'hLines
                       oVMLGrid.hLines =hLines
                       'oVMLGrid.MaxValues = MaxValues
               end if



               'filter:progid:DXImageTransform.Microsoft.Alpha(opacity
= 50)
               Response.Write "<div style=""position: absolute; width:
501px; height: 201px; z-index: 1 ; left: 100px; top: 120px;border: 1px
solid #000000 "" id=""capavml"">"

               Response.Write "<!--[if gte vml 1]>"

               Response.Write  oVMLGrid.RenderGrid()

               Response.Write "<![endif]-->"
               Response.Write "</div> "

               Response.Write   "<div style=""position: absolute; width:
76px; height: 15px; z-index: 100; left: 350px; top: 130px;
background-color: #FFFFFF"" id=""capa1"">       <p
align=""center""><font face=""Arial"" size=""1"">Turno
anterior</font></div>"

       end sub


       function GetMaxValue()
               dim val,ArrDatosSerie,maxVal

               maxVal=-99999999

               for a = 1 to CantidadSeries
                       ArrDatosSerie = oVMLGrid.serie(a-1).ArrDatos

                       for da = 0 to ubound(ArrDatosSerie)
                               thisVal = ArrDatosSerie(da)
                               if isnull(thisVal) then thisVal = 0
                               if len(thisVal)=0 then thisVal = 0

                               if cdbl(thisVal) > maxVal then
                                       maxVal = cdbl(thisVal)
                               end if

                       next
               next
               GetMaxValue = maxVal
       end function



       function construirEscalaY(min,Max,nroLineas)
               dim RetornarArr()
               redim RetornarArr(nroLineas+1000)
               dim counter
               counter = 0
               ''cantlineas es step

               cantlineas = round(( cdbl(Max) -  cdbl(min) ) /
nroLineas,1)

               cantlineas = fix(cantlineas)+1

               ' este otro metodo AUTOMATICO a probar : sino comentar
                       cantlineas = (10 ^ (len(fix(MAx))-1) )
                       if fix(cdbl(Max)/cantlineas) < 5 then
cantlineas= cantlineas/2
               ' fn metodo auto a probar


               if not isnull(iScaleY) then
                               cantlineas =iScaleY
               end if

               for st = cdbl(min) to cdbl(Max) step cantlineas
                       valor = cdbl(st)
                       valEscala = FormatNumber (valor
,LabelYDecimalsEscala ) & " " & LabelYpostString
                       RetornarArr(counter) = valEscala
                       counter = counter +1
               next
               RetornarArr(counter) = FormatNumber (valor +
cdbl(cantlineas) ,LabelYDecimalsEscala ) & " " & LabelYpostString

               if  not bScaleYigualMAX then
                       oVMLGrid.MaxValues =   valor + cdbl(cantlineas)
                       hLines = counter
               else
                       oVMLGrid.MaxValues = Max
                       hLines = counter  -1
               end if

               construirEscalaY = RetornarArr
       end function


end class


Class  ClassSerieParam
       public Titulo
       public Gallery
       'public Axis
       public Width
       public Color
       public iColumn
       'public ExtaProperties
       public ArrDatos
       public ArrTitle

       public opacity  ' para columnas
       public border   ' para columnas
       public bShowValuesin    ' para columnas


       Private Sub Class_Initialize()
               Randomize (Timer)
                Color =  "#" & hex(Int(256*Rnd)+1 )
                ArrTitle = null
                ArrDatos = ""
                Gallery = "LinePoint" ' Line, Point
       End Sub
end class


Class ClassTitulos
       dim text,color,size,style,visible,posX,posY,iRotacion
       Private Sub Class_Initialize()
               text = "titulo"
               color ="black"
               size = "8px"
               style =""
               visible=false
       End Sub
end Class


Class ClassVMLGrid
       dim
gridWidth,gridHeight,hLines,vLines,ColorLine,bShowGrilla,bShowLabely,bSh
owLabelx

       dim
LabelyPosition,LabelxPosition,bShowLabelxMultilevel,LabelxMultilevel,bSh
owLabelyMultilevel

       dim LabelxLevels(),LabelyLevels()

       DIM CantidadSeries,serie()

       dim     minValues ,     MaxValues
       dim oTituloY , oTituloX , oTituloGrafico

       private oVMLBasic

       Private Sub Class_Initialize()
                       gridWidth = 500
                       gridHeight = 200
                       hLines = 12
                       vLines = 1
                       ColorLine = "#d3d3d3"'"gray"

                       bShowGrilla = true
                       bShowLabely = true
                       LabelyPosition = "left,right"'"left"

                       bShowLabelx= false
                       LabelxPosition = "button"'"top,button" '
"button" ' top


                       bShowLabelxMultilevel = false
                       LabelxMultilevel = 10
                       redim LabelxLevels(LabelxMultilevel)
                       LabelxLevels(0) =
split("0,1,2,3,4,5,6,7,8,9,10",",")
                       LabelxLevels(1) =
split("JUAN,JUAN,JUAN,JUAN,B,B,C,D,D,D,D",",")
                       LabelxLevels(2) =
split("AYER,AYER,AYER,AYER,AYER,AYER,AYER,AYER,AYER,HOY,HOY",",")

                       bShowLabelyMultilevel = false ' FALTA HACER
                       LabelyMultilevel = 2 ' FALTA HACER
                       redim LabelyLevels(LabelyMultilevel) ' FALTA
HACER

                       LabelyLevels(0) =
split("0,10,20,30,40,50,60,70,80,90,100,110,120",",")



                       set oVMLBasic = new classVMLBasic


                       CantidadSeries =0
                       redim  serie(50)
                       for a = 0 to 50
                               set serie(a) = New ClassSerieParam
                               'serie(a).ArrDatos =
split("20,30,5,60,110,77,80,90,10.5,21",",")
                               'serie(a).ArrTitle = split("es 20,es
30,es 5,60,110,77,80,90, 10.5,21",",")

                       next
                       minValues = 0
                       MaxValues = 200

                       set  oTituloY = new ClassTitulos
                       oTituloY.text = "oTituloY"
                       oTituloY.visible = true

                       set  oTituloX = new ClassTitulos
                       oTituloX.text = "oTituloX"
                       oTituloX.visible = true

                       set  oTituloGrafico = new ClassTitulos
                       oTituloGrafico.text = "oTituloGrafico"
                       oTituloGrafico.visible = true


       end sub


         function RenderGrid()
               dim str,i
               str =""

               if bShowGrilla then
                       ' grilla
                       for i=0 to  hLines
                               str = str & oVMLBasic.DrawLine
(1,ColorLine,0,  (i*(gridHeight/hLines)) , gridWidth ,
(i*(gridHeight/hLines)) )
                       next
                       for i=0 to  vLines
                               str = str & oVMLBasic.DrawLine
(1,ColorLine,(i*(gridWidth/vLines)),0,(i*(gridWidth/vLines)),gridHeight)
                       next
               end if


               ' ------- label y // rayita y
               if bShowLabely then
                               ' izq
                               if LabelyPosition ="left" or
LabelyPosition ="left,right"  then
                                       for i=0 to  hLines
                                               ' rayita
                                               str = str &
oVMLBasic.DrawLine ( 2,"black" ,-3,   (i*(gridHeight/hLines)) ,  1 ,
(i*(gridHeight/hLines)) )
                                               ' texto y
                                               str = str &
oVMLBasic.Drawtextbox(-25, -5 + (i*(gridHeight/hLines))  ,25 , 10 , ""&
LabelyLevels(0)(hLines-i)  ,"left"  , null )

                                       next
                               end if
                               if LabelyPosition ="right" or
LabelyPosition ="left,right"  then
                                       ' der
                                       for i=0 to  hLines
                                               str = str &
oVMLBasic.DrawLine (2,"black" , gridWidth-1,   (i*(gridHeight/hLines)) ,
gridWidth+3 , (i*(gridHeight/hLines)) )
                                               str = str &
oVMLBasic.Drawtextbox( gridWidth + 9 , -5 + (i*(gridHeight/hLines))
,25 , 10 , ""& LabelyLevels(0)(hLines-i) ,"left"  , null )

                                       next
                               end if
               end if
                               ' o label cuadradito
                               'for i=0 to  hLines
                                       'str = str & oVMLBasic.DrawLine
(1,"black" ,-15,  (i*(gridHeight/hLines)) ,  0 , (i*(gridHeight/hLines))
)
                               'next
                               'str = str & oVMLBasic.DrawLine
(1,"black", -15 ,0, -15 ,gridHeight)


               ' ------- label x // rayita x
               if bShowLabelx then
                               if LabelxPosition = "top" or
LabelxPosition ="top,button" then
                                       ' arriba
                                       for i=0 to  vLines
                                               str = str &
oVMLBasic.DrawLine (2,"black",  (i*(gridWidth/vLines)), -2 ,
(i*(gridWidth/vLines)), 1 )
                                               str = str &
oVMLBasic.Drawtextbox(    - ((gridWidth/vLines)/2) +
(i*(gridWidth/vLines)),  -15,  (gridWidth/vLines) , 10 ,
LabelxLevels(0)(i) ,"center",null)
                                       next
                               end if
                               if LabelxPosition = "button" or
LabelxPosition ="top,button" then
                                       ' abajo
                                       for i=0 to  vLines
                                               str = str &
oVMLBasic.DrawLine (2,"black",  (i*(gridWidth/vLines)), gridHeight -1 ,
(i*(gridWidth/vLines)), gridHeight + 2 )
                                               str = str &
oVMLBasic.Drawtextbox(    - ((gridWidth/vLines)/2) +
(i*(gridWidth/vLines)),   gridHeight + 5,   (gridWidth/vLines)  ,  10 ,
LabelxLevels(0)(i) ,"center",null)
                                       next
                               end if
               end if


               if bShowLabelxMultilevel then
                       'permite crear varios niveles de leyendas
agrupados
                       '
                       '       1       2  3    4       5
                       '       --- a---  --- b --
                       FOR ilevel =0 to LabelxMultilevel -1
                               ArrValues = LabelxLevels(ilevel)
                               alturalevel = ilevel * 12
                               LastLeyenda =""
                               for i=0 to  vLines - 1
                                       '       str = str &
oVMLBasic.DrawRect_textbox (    (i*(gridWidth/vLines)) ,    gridHeight +
alturalevel ,   (gridWidth/vLines) ,  12   ,  ArrValues(i)
,"center",null)

                                       if LastLeyenda <> ArrValues(i)
then
                                               factorlX =
factorLeyendaRepedido(ArrValues,i)
                                               if LabelxPosition =
"top" or LabelxPosition ="top,button" then
                                                       str = str &
oVMLBasic.DrawRect_textbox (    (i*(gridWidth/vLines)) ,    -
alturalevel -12 ,    (gridWidth/vLines) * factorlX ,   12   ,
ArrValues(i)   ,"center",null)
                                               end if
                                               if LabelxPosition =
"button" or LabelxPosition ="top,button" then
                                                       str = str &
oVMLBasic.DrawRect_textbox (    (i*(gridWidth/vLines)) ,    gridHeight +
alturalevel ,    (gridWidth/vLines) * factorlX ,  12   ,  ArrValues(i)
,"center",null)
                                               end if
                                       end if

                                       LastLeyenda = ArrValues(i)
                               next


                       next


               end if

               '********* render titulos
               ' oTituloY , oTituloX , oTituloGrafico

                if oTituloY.visible then
                       oTituloY.posX = -50
                       oTituloY.posY = gridHeight/2 - (
(len(oTituloX.text)*8)/2 )
                       oTituloY.iRotacion = 3
                       oTituloY.size = 8
                       str = str &  DrawTitulo(oTituloY)
                end if
                if oTituloX.visible then
                       oTituloX.posX = gridWidth/2 - (
(len(oTituloX.text)*8)/2 )
                       oTituloX.posY = gridHeight + (LabelxMultilevel *
15)
                       oTituloX.iRotacion = 0
                       oTituloX.size = 8
                       str = str &  DrawTitulo(oTituloX)
                end if

                if oTituloGrafico.visible then
                       oTituloGrafico.size = 11
                       oTituloGrafico.posX = gridWidth/2 - (
(len(oTituloX.text)* oTituloGrafico.size )/2 )
                       oTituloGrafico.posY = - 25
                       oTituloGrafico.iRotacion = 0
                       str = str &  DrawTitulo(oTituloGrafico)
                end if

               str = str &  RenderSeries()


               RenderGrid = str
         end function

         function DrawTitulo(oTitulo)
               str = ""
               rotacion =""

               rotacion =
"FILTER:progid:DXImageTransform.Microsoft.BasicImage ( Rotation="&
oTitulo.iRotacion
&",Mirror=0,Invert=0,XRay=0,Grayscale=0,Opacity=1.00);"

               str = str & "<div style="""&rotacion&"position:
absolute; height: 10px; z-index: 100; left: "& oTitulo.posx &"px; top:
"& oTitulo.posy &"px"">"
               str = str & "<span style=""font-family: Arial;
font-size: "&oTitulo.size&"pt"">" & oTitulo.text
               str = str & "</span>"
               str = str & "</div> "
               DrawTitulo = str
         end function

         function RenderSeries()
               dim str
               str =""
               for a = 1 to CantidadSeries
                       str = str & DrawSerie (serie(a-1))'.ArrDatos
               next
               RenderSeries = str
         end function

         function DrawSerie(oSerie)
               dim str
               str =""
               ' draw oSerie.ArrDatos

               'minValues = 0
               'MaxValues = 120
               xPto =0
               yPto=0

               if not isArray(oSerie.ArrTitle) then
                       oSerie.ArrTitle = oSerie.ArrDatos
               end if

               for ptos = 0 to ubound( oSerie.ArrDatos )
                       y = oSerie.ArrDatos(ptos)
                       if isnull(y) or len(y) = 0 then

                               y=minValues'0
                               else
                               y= cdbl(y)
                       end if


                       x  = ptos
                       color =   oSerie.color


                       'Ycalculo = Y ' calcular px

                       'PXmax = gridHeight     '= MaxValues

                       Ycalculo = round ( Y * gridHeight/MaxValues,3)
                       ''stop
                        '********* une los puntos   *************
                        if   oSerie.Gallery = "LinePoint" or
oSerie.Gallery = "Line"          then
                               if ptos > 0 then
                                               x2Pto =
((gridWidth/vLines)/2)    +  (x*(gridWidth/vLines))
                                               y2Pto = gridHeight -
Ycalculo

                                               str = str &
oVMLBasic.DrawLineAdvance (1, color, xPto,yPto,x2Pto,y2Pto,
Array(color,100-(ptos*10)))

                               end if
                        end if
                       ' ******** end une ptos *********

                        xPto = ((gridWidth/vLines)/2)    +
(x*(gridWidth/vLines))
                        yPto = gridHeight - Ycalculo

                        ' *** draw punto
                        if   oSerie.Gallery = "LinePoint" or
oSerie.Gallery = "Point" then
                               str = str & oVMLBasic.DrawRect_textbox (
-2+ xPto  ,       yPto -2 ,   4  ,   4  ,  vbcrlf &  "     " &
oSerie.ArrTitle(ptos)  &  "     "  & vbcrlf    ,"center",
Array(color,100-(ptos*10)) )
                        end if

                       if   oSerie.Gallery = "Columns" then
                               str = str & oVMLBasic.DrawRect_textbox (
(x*(gridWidth/vLines))     ,     yPto  ,    (gridWidth/vLines)    ,
Ycalculo   ,  vbcrlf &  "     " & oSerie.ArrTitle(ptos)  &  "     "  &
vbcrlf    ,"center",
Array(color,100-(ptos*10),oSerie.opacity,oSerie.border,oSerie.bShowValue
sin )  )
                       end if


               next

               DrawSerie = str
         end function

               private function
factorLeyendaRepedido(pArrDatos,posActual)
                       'calcula el ancho de la leyenda para agrupar
                       dim factor,j,NextLeyenda,thisLeyenda
                       factor = 1
                       NextLeyenda = ""
                       thisLeyenda = pArrDatos(posActual)
                       for j=posActual+1 TO  ubound(pArrDatos)


                               if thisLeyenda = NextLeyenda then
                                       'stop
                                       factor = factor + 1

                               end if
                               NextLeyenda = pArrDatos(j)
                       next

                       factorLeyendaRepedido = factor
               end function

end class

class classVMLBasic

       function DrawLine(intWidth, strColor, fx, fy, tx, ty)
               '''             <v:line strokeweight='2px'
strokecolor='gray' from='0, 0' to='480, 0'></v:line>
               Dim strToWrite
               strToWrite = "<v:line"
               strToWrite = strToWrite & " strokeweight='" & intWidth &
"px'"
               strToWrite = strToWrite & " strokecolor='" & strColor &
"'"
               strToWrite = strToWrite & " from='" & fx & ", " & fy &
"'"
               strToWrite = strToWrite & " to='" & tx & ", " & ty & "'"
               strToWrite = strToWrite & "></v:line>"
               DrawLine = (strToWrite)
       End function

       function DrawLineAdvance(intWidth, strColor, fx, fy, tx, ty,
ArrOptionalparam )
               '''             <v:line strokeweight='2px'
strokecolor='gray' from='0, 0' to='480, 0'></v:line>
               Dim strToWrite


               Color2 = "blue"
               z_index = 2
               if  not isnull(ArrOptionalparam) then
                       Color2 = ArrOptionalparam(0)
                       if ubound(ArrOptionalparam) > 0 then    z_index
= ArrOptionalparam(1)
               end if
               styles = "z-index:" & z_index & ";"

               strToWrite = "<v:line  style='position:absolute;"&
styles &"' "
               strToWrite = strToWrite & " strokeweight='" & intWidth &
"px'"
               strToWrite = strToWrite & " strokecolor='" & strColor &
"'"
               strToWrite = strToWrite & " from='" & fx & ", " & fy &
"'"
               strToWrite = strToWrite & " to='" & tx & ", " & ty & "'"
               strToWrite = strToWrite & "></v:line>"
               DrawLineAdvance = (strToWrite)
       End function



       function Drawtextbox(left,top,width,height,text,aligntext,
ArrOptionalparam)
        Dim strToWrite
               '<v:shape id=""_x0000_s1026"" type=""#_x0000_m1027""
alt="""" style='position:absolute;

'left:172.5pt;top:52.5pt;width:36pt;height:13.5pt;z-index:1'
stroked=""f"">
               '<v:fill opacity=""1"" o:opacity2=""1"" recolor=""f""
rotate=""f""/>
               '<v:textbox inset=""0,0,0,0"">
               '       <table cellspacing=""0"" cellpadding=""0""
width=""100%"" height=""100%"" style=""font-family: Verdana; font-size:
8pt"">
               '       <tr>
               '       <td align=""center"">200hhh</td>
               '       </tr>
               '       </table>
               '</v:textbox>
               '</v:shape>

               strToWrite = strToWrite & "<v:shape id=""_x0000_s1026""
type=""#_x0000_m1027"" title='"&text&"' style='position:absolute;
left:"& left &";top:"& top &";width:"& width &";height:"& height
&";z-index:3' stroked=""f""   >"
               strToWrite = strToWrite & "<v:fill opacity=""1""
o:opacity2=""1"" recolor=""f"" rotate=""f""/>"
               strToWrite = strToWrite & "<v:textbox
inset=""0,0,0,0"">"
                       strToWrite = strToWrite & "<table
cellspacing=""0"" cellpadding=""0"" width=""100%"" height=""100%""
style=""font-family: Arial,Verdana; font-size: 7pt"">"
                       strToWrite = strToWrite & "<tr>"
                       strToWrite = strToWrite & "<td
align="""&aligntext&""">"&text&"</td>"
                       strToWrite = strToWrite & "</tr>"
                       strToWrite = strToWrite & "</table>"
               strToWrite = strToWrite & "</v:textbox>"
               strToWrite = strToWrite & "</v:shape>  "

               Drawtextbox = (strToWrite)
       End function


       function DrawRect_textbox(left,top,width,height,text,aligntext,
ArrOptionalparam)
        Dim strToWrite

               Color = "blue"
               z_index = 2
               opacity ="58982f" ' 5555f
               border = ""
               bshowTextIn = true
               if  not isnull(ArrOptionalparam) then
                       Color = ArrOptionalparam(0)
                       if ubound(ArrOptionalparam) > 0 then
                               if not isnull(ArrOptionalparam(1)) then
z_index = ArrOptionalparam(1)
                       end if
                       if ubound(ArrOptionalparam) > 1 then
                               if not isnull(ArrOptionalparam(2)) then
opacity = ArrOptionalparam(2)
                       end if
                       if ubound(ArrOptionalparam) > 2 then
                               if not isnull(ArrOptionalparam(3)) then
                                        border = ArrOptionalparam(3)
                                        if border = "no" then
                                               border= "stroked=""f"""
                                        else
                                               border = "
strokeweight="""&border&"pt"""
                                        end if

                               end if
                       end if
                       if ubound(ArrOptionalparam) > 3 then
                               if not isnull(ArrOptionalparam(4)) then
bshowTextIn = ArrOptionalparam(4)
                       end if


               end if
                       '<v:rect id="_x0000_s1028"
style='position:absolute;left:247.5pt;top:99.75pt;width:36pt;height:20.2
5pt;  z-index:2' strokecolor="#330"> <v:fill opacity="58982f"/>
<v:stroke joinstyle="round"/>
                       ' <v:textbox inset="0,0,0,0">
               '               <table cellspacing="0" cellpadding="0"
width="100%" height="100%" style="font-family: Verdana; font-size: 8pt">
               '                       <tr>
               '                               <td
align="center">200hhh</td>
               '                       </tr>
               '               </table>
               '        </v:textbox>
               '       </v:rect>
               strToWrite = strToWrite & "<v:rect "&border&"
style=""cursor:default"" "
                       if bshowTextIn then
                               strToWrite = strToWrite & "
title="""&text&""" "
                       end if
               strToWrite = strToWrite & "     fillcolor="""&Color&"""
id=""_x0000_s1028""   style='position:absolute;left:" & left & ";top:" &
top & ";width:"& width & ";height:" & height & ";  z-index:"&  z_index
&"' strokecolor=""#000""> <v:fill opacity="""&opacity&"""/> <v:stroke
joinstyle=""round""/>"
                strToWrite = strToWrite & "<v:textbox
inset=""0,0,0,0"">"
                       strToWrite = strToWrite & "<table
cellspacing=""0"" cellpadding=""0"" width=""100%"" height=""100%""
style=""font-family: Verdana; font-size: 7pt; color: #FFFFFF;
font-weight: bold"">"
                               strToWrite = strToWrite & "<tr>"
                                       if bshowTextIn then
                                                       strToWrite =
strToWrite & "<td style='' align="""&aligntext&""">"&text&"</td>"
                                       end if
                               strToWrite = strToWrite & "</tr>"
                       strToWrite = strToWrite & "</table>"
                strToWrite = strToWrite & "</v:textbox>"
               strToWrite = strToWrite & "</v:rect>"

               DrawRect_textbox  = strToWrite

       End function


end class



%>

No hay comentarios:

FeedCount

analytics

 
sfrede