Ir para conteúdo
Fórum Script Brasil
  • 0

Grafico No Asp


Ulissesx

Pergunta

Pessoal a muito tempo, na minha dita "experiencia" com ASP tentei de varias formas gerar gráficos a partir de relatorios de meus "programinhas" encontrei varios componentes que geram o grafico sem acesso ao DB, mas gostaria de aprender como fazer isso.

Assim como gostaria de participar mais ativamente do forum, mas meus conhecimentos são limitados demais...

Agradeço a todos!

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Brother!!

Exemplo de gráfico, construido, manualmente com ASP.

Código:

<!--#include file="adovbs.inc" -->
<%
  'definindo a largura e a altura em pixels 
  Const grafaltura = 300
  Const graflargura = 600
  Const barImage = "img_graf.jpg"

  sub BarChart(data, rotulos , titulo, eixos)
    'Imprime o cabeçalho
    Response.Write("<TABLE CELLSPACING=0 CELLPADDING=1 BORDER=0 WIDTH=" & graflargura & ">"    )
    Response.Write("<TR><TH COLSPAN=" & UBound(data) - LBound(data) + 2 & ">")
    Response.Write("<FONT SIZE=+2>" & titulo & "</FONT></TH></TR>" & chr(13))
    Response.Write("<TR><TD VALIGN=TOP ALIGN=RIGHT>" & chr(13))
    
    'encontra o maior valor
    Dim maior_valor
    maior_valor = LBound(data)
    
    Dim i
    	for i = LBound(data) to UBound(data) - 1
      if data(i) > maior_valor then maior_valor = data(i)
    	next
    
    'imprime o maior valor no topo do gráfico
    Response.Write("<b>" & maior_valor & "</b>-" & "</TD>")
    
    Dim largura_percentual
    largura_percentual = (1 / (UBound(data) - LBound(data) )) * 100
    
    	For i = LBound(data) to UBound(data) - 1
      Response.Write(" <TD VALIGN=BOTTOM ROWSPAN=2 WIDTH=" & largura_percentual & "% >" & chr(13))
      Response.Write("<img src=" & barImage & " " &"width=100%" & " height=" & CInt((data(i) / maior_valor) * grafAltura) & ">")
      Response.Write(" </TD>")
    	Next
    
    Response.Write("</TR>")
    Response.Write("<TR><TD VALIGN=BOTTOM ALIGN=RIGHT><b>0</b></TD></TR>")
    
    'Imprime o rodape
    Response.Write("<TR><TD ALIGN=RIGHT VALIGN=BOTTOM>" & eixos & "</TD>" & chr(13))
    
    	for i = LBound(rotulos) to UBound(rotulos) - 1
      Response.Write("<TD VALIGN=BOTTOM ALIGN=CENTER>" & rotulos(i) & "</TD>" & chr(13))
    
    	next
    Response.Write("</TR>" & chr(13))
    Response.Write("</TABLE>")
  end sub

  'abre conexao com banco de dados
  Dim objConnection
  Set objConnection = Server.CreateObject("ADODB.Connection")
  strConn = "Provider = Microsoft.jet.oledb.4.0; Data Source =" & Server.MapPath("grafico.mdb")
  objConnection.Open(strConn)

  Dim SQL
  SQL = "SELECT Aluno,Faltas FROM Alunos"

  Dim rsFaltas
  Set rsFaltas = Server.CreateObject("ADODB.Recordset")
  rsFaltas.Open SQL, objConnection, adOpenStatic

  Dim numRegistros
  numRegistros = rsFaltas.RecordCount
'  Response.Write(numRegistros)

  Dim VetorFaltas(), VetorNomes()
  Redim VetorFaltas(numRegistros)
  Redim VetorNomes(numRegistros)

  Dim i
  for i = 0 to numRegistros-1
    VetorFaltas(i) = rsFaltas("Faltas")
    VetorNomes(i) = rsFaltas("Aluno")
    rsFaltas.MoveNext
  next

%>
<HTML>
<BODY>
<CENTER>
<% BarChart VetorFaltas,VetorNomes,"Faltas dos Alunos da 1a. Serie - Março/Abril ","Alunos" %>
</CENTER>
</BODY>
</HTML>

<%
rsFaltas.Close
Set rsFaltas = Nothing

objConnection.Close
Set objConnection = Nothing
%>

Todos os direitos deste código são de JCM (Jose Carlos Macoratti - www.macoratti.net)

Abraços!!!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...