FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Nuevo método para TGraph
Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM
Nuevo método para TGraph
Posted: Wed Jun 29, 2016 10:50 AM
Hola amigos, últimamente vengo usando TGraph con asiduidad. Hace ya un tiempo publiqué una función para generar una gráfica en Excel a partir de unos valores dados. Ahora la he adaptado para incluirla en la clases TGraph de modo que se puede exportar cualquier gráfica ya generada. Queda pulir el tipo de gráfico que se generará (ahora son lineas).

Code (fw): Select all Collapse
METHOD Save2XLS () CLASS TGraph
Local oExcel, oLibro, oHoja, oChart, oSourceData, nCol, nSerie, cRango

  If MsgYesNo ("¿Generar hoja de cálculo con los datos y gráfica?","Por favor confirme")
    If ( oExcel := ExcelObj() ) <> nil
      oExcel:ScreenUpdating := .f.
      oLibro := oExcel:WorkBooks:Add()
      oHoja  := oExcel:ActiveSheet
    
      // Titulos eje
      For nCol:=1 To Len (::aYVals)
        oHoja:Cells( nCol+1,1 ):Value := ::aYVals[nCol]; oHoja:Cells ( nCol+1, 1 ):Font:Bold:=.T.
      Next
    
      For nSerie:=1 To Len (::aSeries)
        // Series
        oHoja:Cells ( 1,1+nSerie):Value :=::aSeries[nSerie,1]
           
        // Importes
        For nCol:=1 To len(::aYVals)
          oHoja:Cells( nCol+1,nSerie+1 ):Value := ::aData[nSerie,nCol]
        Next
      Next
    
      // Grafico
      cRango:="A1:"+Chr(65+Len(::aSeries))+Alltrim(Str(Len(::aYVals)+1))
      oChart := oExcel:Charts:Add()
      oChart:ChartType := 4 // Gráfica de Líneas
    
      oSourceData := oHoja:Range(cRango)
      oChart:SetSourceData(oSourceData) //, PlotBy := 2 // xlColumns
    
      oChart:HasLegend := .T.
      oChart:Legend:Position := -4107 // xlBottom
    
      oChart:HasTitle := .T.
      oChart:ChartTitle:Characters:Text := ::cTitle
    
      TRY 
        oChart:ApplyDataLabels:Set("LegendKey", .T. )
        oChart:ApplyDataLabels:Set("HasLeaderLines", .T. )
        oChart:ApplyDataLabels:Set("ShowValue", .T. )
        oChart:ApplyDataLabels:Set("AutoText", .T. )
        oChart:ApplyDataLabels:Set("ShowBubbleSize", .F. )
      CATCH
      END
  
      oExcel:ScreenUpdating   := .T.
      oExcel:visible          := .T.
      ShowWindow( oExcel:hWnd, 3 )
      BringWindowToTop( oExcel:hWnd )
    Else
      MsgAlert ("Para poder exportar los datos debe tener Microsoft Excel instalado en el sistema","Atención")
    Endif
  Endif
Return (nil)


Saludos,
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Nuevo método para TGraph
Posted: Wed Jun 29, 2016 09:33 PM

gracias Angel

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Nuevo método para TGraph
Posted: Thu Jun 30, 2016 07:43 AM

Angel,

Si eres tan amable, te envío la versión más reciente de TGraph para que incluyas ese método,
lo pruebes y me envíes la clase modificada, gracias

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM
Re: Nuevo método para TGraph
Posted: Thu Jun 30, 2016 08:44 AM

Enviado! :D

Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Nuevo método para TGraph
Posted: Thu Jun 30, 2016 08:47 AM

No lo he recibido

Puedes enviarlo como zip renombrado a zop ? gracias

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM
Re: Nuevo método para TGraph
Posted: Thu Jun 30, 2016 09:24 AM

Hecho.

Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Nuevo método para TGraph
Posted: Thu Jun 30, 2016 06:20 PM

Incluido para la próxima versión de FWH

muchas gracias

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion