1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

Gráficos

Discussão em 'Progress 4GL' iniciado por antenor, Maio 25, 2011.

  1. baltazar

    baltazar Membro Participativo

    Qual? O de Barras?
  2. antenor

    antenor Membro Participativo

    Sim o de barras.
    Vou tentar montar um meu aqui e te digo o que foi que deu errado.
    Obrigado
  3. baltazar

    baltazar Membro Participativo

    Em anexo.

    Arquivos Anexados:

  4. marcosoliv

    marcosoliv Membro Participativo

    Fera, muito legal esta biblioteca de graficos, voce achou o exemplo que utilizou para nos dar uma ideia de como configurar e conseguir os gráficos ?
  5. marcosoliv

    marcosoliv Membro Participativo

    Baltazar, registrei o OCX que voce liberou dos gráficos porém ao utilizar os exemplos diz que o Graf-1.Grf-1 - Unable to create control.
    O que pode ser?
  6. jalegria

    jalegria Membro Participativo


    Saudações

    Achei um programa que eu fiz na epoca que eu tava testando.
    Tá bem simples...

    Tenta aí. Crie no appbuilder uma janela simples com o ocx do IE.
    Depois crie uma pasta para guardar os arquivos da biblioteca, que vc baixa lá no site.

    O programa gera 2 arquivos, qdo vc clica no botão "teste", um html e outro xml.

    O html tem embutido o componente flash para abrir o grafico e o xml tem a estrutura do grafico, como o tipo de grafico, animações, cores e os dados propriamente ditos.

    O lance é fazer 1º sem usar o progress, fazendo somente o html e o xml na mão mesmo pra testar se a biblioteca tá ok.
    Depois é só montar o programa para gerar os arquivos e exibir no OCX do browser.

    Código:
    &ANALYZE-SUSPEND _VERSION-NUMBER UIB_v9r12 GUI
    &ANALYZE-RESUME
    &Scoped-define WINDOW-NAME win
    &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS win 
    /*------------------------------------------------------------------------
    
      File: 
    
      Description: 
    
      Input Parameters:
          <none>
    
      Output Parameters:
          <none>
    
      Author: 
    
      Created: 
    
    ------------------------------------------------------------------------*/
    /*          This .W file was created with the Progress AppBuilder.      */
    /*----------------------------------------------------------------------*/
    
    /* Create an unnamed pool to store all the widgets created 
         by this procedure. This is a good default which assures
         that this procedure's triggers and internal procedures 
         will execute in this procedure's storage, and that proper
         cleanup will occur on deletion of the procedure. */
    
    CREATE WIDGET-POOL.
    
    /* ***************************  Definitions  ************************** */
    
    DEF TEMP-TABLE t-data
      FIELD data  AS DATE
      FIELD valor AS INTE EXTENT 10.
    
    /* _UIB-CODE-BLOCK-END */
    &ANALYZE-RESUME
    
    
    &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK 
    
    /* ********************  Preprocessor Definitions  ******************** */
    
    &Scoped-define PROCEDURE-TYPE Window
    &Scoped-define DB-AWARE no
    
    /* Name of first Frame and/or Browse and/or first Query                 */
    &Scoped-define FRAME-NAME f-main
    
    /* Standard List Definitions                                            */
    &Scoped-Define ENABLED-OBJECTS bt-teste 
    
    /* Custom List Definitions                                              */
    /* List-1,List-2,List-3,List-4,List-5,List-6                            */
    
    /* _UIB-PREPROCESSOR-BLOCK-END */
    &ANALYZE-RESUME
    
    
    
    /* ***********************  Control Definitions  ********************** */
    
    /* Define the widget handle for the window                              */
    DEFINE VAR win AS WIDGET-HANDLE NO-UNDO.
    
    /* Definitions of handles for OCX Containers                            */
    DEFINE VARIABLE xWeb AS WIDGET-HANDLE NO-UNDO.
    DEFINE VARIABLE chxWeb AS COMPONENT-HANDLE NO-UNDO.
    
    /* Definitions of the field level widgets                               */
    DEFINE BUTTON bt-teste 
         LABEL "&Teste" 
         SIZE 18 BY 1.43.
    
    
    /* ************************  Frame Definitions  *********************** */
    
    DEFINE FRAME f-main
         bt-teste AT ROW 27.91 COL 142
        WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY 
             SIDE-LABELS NO-UNDERLINE THREE-D 
             AT COL 1 ROW 1
             SIZE 160.2 BY 28.57
             FONT 13.
    
    
    /* *********************** Procedure Settings ************************ */
    
    &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
    /* Settings for THIS-PROCEDURE
       Type: Window
       Allow: Basic,Browse,DB-Fields,Window,Query
       Other Settings: COMPILE
     */
    &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
    
    /* *************************  Create Window  ************************** */
    
    &ANALYZE-SUSPEND _CREATE-WINDOW
    IF SESSION:DISPLAY-TYPE = "GUI":U THEN
      CREATE WINDOW win ASSIGN
             HIDDEN             = YES
             TITLE              = "Testes - Flash"
             HEIGHT             = 28.57
             WIDTH              = 160.2
             MAX-HEIGHT         = 28.57
             MAX-WIDTH          = 160.2
             VIRTUAL-HEIGHT     = 28.57
             VIRTUAL-WIDTH      = 160.2
             RESIZE             = yes
             SCROLL-BARS        = no
             STATUS-AREA        = no
             BGCOLOR            = ?
             FGCOLOR            = ?
             KEEP-FRAME-Z-ORDER = yes
             THREE-D            = yes
             FONT               = 13
             MESSAGE-AREA       = no
             SENSITIVE          = yes.
    ELSE {&WINDOW-NAME} = CURRENT-WINDOW.
    /* END WINDOW DEFINITION                                                */
    &ANALYZE-RESUME
    
    
    
    /* ***********  Runtime Attributes and AppBuilder Settings  *********** */
    
    &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
    /* SETTINGS FOR WINDOW win
      VISIBLE,,RUN-PERSISTENT                                               */
    /* SETTINGS FOR FRAME f-main
                                                                            */
    IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(win)
    THEN win:HIDDEN = no.
    
    /* _RUN-TIME-ATTRIBUTES-END */
    &ANALYZE-RESUME
    
    
    /* Setting information for Queries and Browse Widgets fields            */
    
    &ANALYZE-SUSPEND _QUERY-BLOCK FRAME f-main
    /* Query rebuild information for FRAME f-main
         _Query            is NOT OPENED
    */  /* FRAME f-main */
    &ANALYZE-RESUME
    
     
    
    
    /* **********************  Create OCX Containers  ********************** */
    
    &ANALYZE-SUSPEND _CREATE-DYNAMIC
    
    &IF "{&OPSYS}" = "WIN32":U AND "{&WINDOW-SYSTEM}" NE "TTY":U &THEN
    
    CREATE CONTROL-FRAME xWeb ASSIGN
           FRAME           = FRAME f-main:HANDLE
           ROW             = 1
           COLUMN          = 1
           HEIGHT          = 26.1
           WIDTH           = 160
           HIDDEN          = no
           SENSITIVE       = yes.
          xWeb:NAME = "xWeb":U .
    /* xWeb OCXINFO:CREATE-CONTROL from: {8856F961-340A-11D0-A96B-00C04FD705A2} type: WebBrowser */
          xWeb:MOVE-BEFORE(bt-teste:HANDLE IN FRAME f-main).
    
    &ENDIF
    
    &ANALYZE-RESUME /* End of _CREATE-DYNAMIC */
    
    
    /* ************************  Control Triggers  ************************ */
    
    &Scoped-define SELF-NAME win
    &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL win win
    ON END-ERROR OF win /* Testes - Flash */
    OR ENDKEY OF {&WINDOW-NAME} ANYWHERE DO:
      /* This case occurs when the user presses the "Esc" key.
         In a persistently run window, just ignore this.  If we did not, the
         application would exit. */
      IF THIS-PROCEDURE:PERSISTENT THEN RETURN NO-APPLY.
    END.
    
    /* _UIB-CODE-BLOCK-END */
    &ANALYZE-RESUME
    
    
    &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL win win
    ON WINDOW-CLOSE OF win /* Testes - Flash */
    DO:
      /* This event will close the window and terminate the procedure.  */
      APPLY "CLOSE":U TO THIS-PROCEDURE.
      RETURN NO-APPLY.
    END.
    
    /* _UIB-CODE-BLOCK-END */
    &ANALYZE-RESUME
    
    
    &Scoped-define SELF-NAME bt-teste
    &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL bt-teste win
    ON CHOOSE OF bt-teste IN FRAME f-main /* Teste */
    DO:
      RUN Gerar.
    END.
    
    /* _UIB-CODE-BLOCK-END */
    &ANALYZE-RESUME
    
    
    &Scoped-define SELF-NAME xWeb
    &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL xWeb win OCX.BeforeNavigate2
    PROCEDURE xWeb.WebBrowser.BeforeNavigate2 .
    /*------------------------------------------------------------------------------
      Purpose:     
      Parameters:  Required for OCX.
        pDisp
        URL
        Flags
        TargetFrameName
        PostData
        Headers
        Cancel
      Notes:       
    ------------------------------------------------------------------------------*/
    
      DEFINE INPUT        PARAMETER p-pDisp           AS COM-HANDLE NO-UNDO.
      DEFINE INPUT        PARAMETER p-URL             AS CHARACTER NO-UNDO.
      DEFINE INPUT        PARAMETER p-Flags           AS CHARACTER NO-UNDO.
      DEFINE INPUT        PARAMETER p-TargetFrameName AS CHARACTER NO-UNDO.
      DEFINE INPUT        PARAMETER p-PostData        AS CHARACTER NO-UNDO.
      DEFINE INPUT        PARAMETER p-Headers         AS CHARACTER NO-UNDO.
      DEFINE INPUT-OUTPUT PARAMETER p-Cancel          AS LOGICAL NO-UNDO.
    
      IF p-URL BEGINS "http" THEN p-Cancel = TRUE.
    
    END PROCEDURE.
    
    /* _UIB-CODE-BLOCK-END */
    &ANALYZE-RESUME
    
    
    &UNDEFINE SELF-NAME
    
    &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK win 
    
    
    /* ***************************  Main Block  *************************** */
    
    /* Set CURRENT-WINDOW: this will parent dialog-boxes and frames.        */
    ASSIGN CURRENT-WINDOW                = {&WINDOW-NAME} 
           THIS-PROCEDURE:CURRENT-WINDOW = {&WINDOW-NAME}.
    
    /* The CLOSE event can be used from inside or outside the procedure to  */
    /* terminate it.                                                        */
    ON CLOSE OF THIS-PROCEDURE 
       RUN disable_UI.
    
    /* Best default for GUI applications is...                              */
    PAUSE 0 BEFORE-HIDE.
    
    /* Now enable the interface and wait for the exit condition.            */
    /* (NOTE: handle ERROR and END-KEY so cleanup code will always fire.    */
    MAIN-BLOCK:
    DO ON ERROR   UNDO MAIN-BLOCK, LEAVE MAIN-BLOCK
       ON END-KEY UNDO MAIN-BLOCK, LEAVE MAIN-BLOCK:
      RUN enable_UI.
      IF NOT THIS-PROCEDURE:PERSISTENT THEN
        WAIT-FOR CLOSE OF THIS-PROCEDURE.
    END.
    
    /* _UIB-CODE-BLOCK-END */
    &ANALYZE-RESUME
    
    
    /* **********************  Internal Procedures  *********************** */
    
    &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE control_load win  _CONTROL-LOAD
    PROCEDURE control_load :
    /*------------------------------------------------------------------------------
      Purpose:     Load the OCXs    
      Parameters:  <none>
      Notes:       Here we load, initialize and make visible the 
                   OCXs in the interface.                        
    ------------------------------------------------------------------------------*/
    
    &IF "{&OPSYS}" = "WIN32":U AND "{&WINDOW-SYSTEM}" NE "TTY":U &THEN
    DEFINE VARIABLE UIB_S    AS LOGICAL    NO-UNDO.
    DEFINE VARIABLE OCXFile  AS CHARACTER  NO-UNDO.
    
    OCXFile = SEARCH( "teste-flash.wrx":U ).
    IF OCXFile = ? THEN
      OCXFile = SEARCH(SUBSTRING(THIS-PROCEDURE:FILE-NAME, 1,
                         R-INDEX(THIS-PROCEDURE:FILE-NAME, ".":U), "CHARACTER":U) + "wrx":U).
    
    IF OCXFile <> ? THEN
    DO:
      ASSIGN
        chxWeb = xWeb:COM-HANDLE
        UIB_S = chxWeb:LoadControls( OCXFile, "xWeb":U)
      .
      RUN initialize-controls IN THIS-PROCEDURE NO-ERROR.
    END.
    ELSE MESSAGE "teste-flash.wrx":U SKIP(1)
                 "The binary control file could not be found. The controls cannot be loaded."
                 VIEW-AS ALERT-BOX TITLE "Controls Not Loaded".
    
    &ENDIF
    
    END PROCEDURE.
    
    /* _UIB-CODE-BLOCK-END */
    &ANALYZE-RESUME
    
    &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI win  _DEFAULT-DISABLE
    PROCEDURE disable_UI :
    /*------------------------------------------------------------------------------
      Purpose:     DISABLE the User Interface
      Parameters:  <none>
      Notes:       Here we clean-up the user-interface by deleting
                   dynamic widgets we have created and/or hide 
                   frames.  This procedure is usually called when
                   we are ready to "clean-up" after running.
    ------------------------------------------------------------------------------*/
      /* Delete the WINDOW we created */
      IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(win)
      THEN DELETE WIDGET win.
      IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
    END PROCEDURE.
    
    /* _UIB-CODE-BLOCK-END */
    &ANALYZE-RESUME
    
    &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI win  _DEFAULT-ENABLE
    PROCEDURE enable_UI :
    /*------------------------------------------------------------------------------
      Purpose:     ENABLE the User Interface
      Parameters:  <none>
      Notes:       Here we display/view/enable the widgets in the
                   user-interface.  In addition, OPEN all queries
                   associated with each FRAME and BROWSE.
                   These statements here are based on the "Other 
                   Settings" section of the widget Property Sheets.
    ------------------------------------------------------------------------------*/
      RUN control_load.
      ENABLE bt-teste 
          WITH FRAME f-main IN WINDOW win.
      {&OPEN-BROWSERS-IN-QUERY-f-main}
      VIEW win.
    END PROCEDURE.
    
    /* _UIB-CODE-BLOCK-END */
    &ANALYZE-RESUME
    
    &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE Gerar win 
    PROCEDURE Gerar :
    /*------------------------------------------------------------------------------
      Purpose:     
      Parameters:  <none>
      Notes:       
    ------------------------------------------------------------------------------*/
    
      DEF VAR arq AS CHAR.
    
      arq = arq + "D:\Flash\Teste".
    
      RUN Gerar-Data.
      RUN Gerar-HTML(arq).
      RUN Gerar-XML(arq).
    
      chxWeb:WebBrowser:Navigate(arq + ".html").
    
    END PROCEDURE.
    
    /* _UIB-CODE-BLOCK-END */
    &ANALYZE-RESUME
    
    &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE Gerar-Data win 
    PROCEDURE Gerar-Data :
    /*------------------------------------------------------------------------------
      Purpose:     
      Parameters:  <none>
      Notes:       
    ------------------------------------------------------------------------------*/
    
      DEF VAR dt AS DATE.
    
    
      EMPTY TEMP-TABLE t-data NO-ERROR.
    
      DO dt = TODAY - 100 TO TODAY:
        CREATE t-data.
        ASSIGN t-data.data = dt
               t-data.valor[1] = RANDOM(1,100)
               t-data.valor[2] = RANDOM(1,100).
      END.
    
    END PROCEDURE.
    
    /* _UIB-CODE-BLOCK-END */
    &ANALYZE-RESUME
    
    &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE Gerar-HTML win 
    PROCEDURE Gerar-HTML :
    /*------------------------------------------------------------------------------
      Purpose:     
      Parameters:  <none>
      Notes:       
    ------------------------------------------------------------------------------*/
    
      DEF INPUT PARAM p-arq AS CHAR.
      DEF VAR p AS CHAR.
    
      FILE-INFO:FILENAME = "D:\Flash\charts".
      p = FILE-INFO:FULL-PATHNAME.
    
      OUTPUT TO VALUE(p-arq + ".html") UNBUFFERED.
    
      PUT UNFORMATTED "<HTML>" SKIP.
      PUT UNFORMATTED "<BODY bgcolor='#FFFFFF' style='overflow:hidden; margin:0 0 0 0;'>" SKIP.
      PUT UNFORMATTED "<OBJECT classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000'" SKIP.
      PUT UNFORMATTED "codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0'" SKIP.
      PUT UNFORMATTED "WIDTH='" + TRIM(STRING(xWeb:WIDTH-PIXELS,">>>9")) + "' " SKIP.
      PUT UNFORMATTED "HEIGHT='" + TRIM(STRING(xWeb:HEIGHT-PIXELS,">>>9")) + "' id='charts' ALIGN=''>" SKIP.
      PUT UNFORMATTED "<PARAM NAME=movie   VALUE='" + p + "\charts.swf?library_path=" + p + "\charts_library&xml_source=" + p-arq + ".xml'>" SKIP.
      PUT UNFORMATTED "<PARAM NAME=quality VALUE=high>" SKIP.
      PUT UNFORMATTED "<PARAM NAME=bgcolor VALUE=#AAAAAA>" SKIP.
      PUT UNFORMATTED "<EMBED" SKIP.
      PUT UNFORMATTED "src='" + p + "\charts.swf?library_path=" + p + "\charts_library&xml_source=" + p-arq + ".xml'" SKIP.
      PUT UNFORMATTED "quality=high bgcolor=#AAAAAA " SKIP.
      PUT UNFORMATTED "WIDTH='" + TRIM(STRING(xWeb:WIDTH-PIXELS,">>>9")) + "' " SKIP.
      PUT UNFORMATTED "HEIGHT='" + TRIM(STRING(xWeb:HEIGHT-PIXELS,">>>9")) + "' " SKIP.
      PUT UNFORMATTED "name='charts' align='' swLiveConnect='true' type='application/x-shockwave-flash'" SKIP.
      PUT UNFORMATTED "PLUGINSPAGE='http://www.macromedia.com/go/getflashplayer'>" SKIP.
      PUT UNFORMATTED "</EMBED>" SKIP "</OBJECT>" SKIP "</BODY>" SKIP "</HTML>" SKIP.
    
      OUTPUT CLOSE.
    
    END PROCEDURE.
    
    /* _UIB-CODE-BLOCK-END */
    &ANALYZE-RESUME
    
    &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE Gerar-XML win 
    PROCEDURE Gerar-XML :
    /*------------------------------------------------------------------------------
      Purpose:     
      Parameters:  <none>
      Notes:       
    ------------------------------------------------------------------------------*/
    
      DEF INPUT PARAM p-arq AS CHAR.
    
      DEF VAR i AS INTE.
      DEF VAR n AS INTE.
      DEF VAR m AS INTE.
      DEF VAR t AS INTE.
    
    
      OUTPUT TO VALUE(p-arq + ".xml") UNBUFFERED.
      PUT UNFORMATTED "<chart>" SKIP.
    
    
      /* --- DADOS --- */
    
      PUT UNFORMATTED "<chart_data>" SKIP.
      
      PUT UNFORMATTED "<row>" SKIP "<null/>" SKIP. /*Eixo X*/
    
      DO m = 4 TO 6:
        PUT UNFORMATTED "<string>" ENTRY(m - 3,"Abr,Mai,Jun") + "/2008" "</string>" SKIP.
      END.
    
      PUT UNFORMATTED "</row>" SKIP.
    
    
      &SCOPED-DEFINE cell-headers "Sao Paulo,Rio de Janeiro"
    
      DO i = 1 TO NUM-ENTRIES({&cell-headers}):
    
        PUT UNFORMATTED "<row>" SKIP "<string>" ENTRY(i,{&cell-headers}) "</string>" SKIP.
    
        DO m = 4 TO 6:
    
          t = 0.
          FOR EACH t-data WHERE MONTH(t-data.data) = m:
            t = t + t-data.valor[i].
          END.
    
          PUT UNFORMATTED "<number>" + TRIM(STRING(t,">>>>>>>>9")) + "</number>" SKIP.
        END.
    
        PUT UNFORMATTED "</row>" SKIP.
    
      END.
    
      PUT UNFORMATTED "</chart_data>" SKIP.
    
    
      /* PARAMETROS DO GRÁFICO */
    
      PUT UNFORMATTED "<chart_type>stacked 3d column</chart_type>" SKIP.
      PUT UNFORMATTED "<chart_transition type='drop' order='series' duration='1'/>" SKIP.
      PUT UNFORMATTED "<chart_value position='middle' size='16' color='FFFFFF'/>" SKIP.
    
      PUT UNFORMATTED "<chart_rect x='0' y='20' width='400' height='220' positive_color='FFAA66'/>" SKIP.
      PUT UNFORMATTED "<chart_pref rotation_x='20' rotation_y='30'/>" SKIP.
    
      PUT UNFORMATTED "<axis_category size='12' bold='true'/>" SKIP.
      PUT UNFORMATTED "<axis_value size='12' bold='true' max='1000'/>" SKIP.
    
      PUT UNFORMATTED "<legend_label size='12' alpha='32'/>" SKIP.
      
      PUT UNFORMATTED "<draw><text y='-10' font='Calibri' transition='slide_left' "
                      "delay='1' duration='1' h_align='center'>ACME Inc.</text></draw>" SKIP.
    
      /*PUT UNFORMATTED "<live_update url='" + p-arq + ".xml' delay='1'/>" SKIP.*/
    
      PUT UNFORMATTED "</chart>" SKIP.
    
      OUTPUT CLOSE.
    
    /*
            <axis_category size='10' color='FFFFFF' alpha='75' skip='0' orientation='diagonal_up' />
            <axis_ticks value_ticks='false' category_ticks='false' />
            <axis_value alpha='0' />
    
            <chart_border top_thickness='0' bottom_thickness='0' left_thickness='0' right_thickness='0' />
      
      DATA
      
            <chart_grid_h thickness='0' />
            <chart_grid_v thickness='0' />
            <chart_rect x='-70' y='-35' width='500' height='250' positive_alpha='0' />
            <chart_pref rotation_x='20' rotation_y='50' />
            <chart_transition type='slide_left' delay='0' duration='1' order='series' />
            
            <chart_value hide_zero='true' color='000000' alpha='80' size='12' position='cursor' prefix='' suffix='' decimals='0' separator='' as_percentage='true' />
    
            <legend_label layout='horizontal' font='arial' bold='true' size='12' color='000000' alpha='50' />
            <legend_rect x='25' y='250' width='350' height='50' margin='20' fill_color='000000' fill_alpha='7' line_color='000000' line_alpha='0' line_thickness='0' />
            <legend_transition type='dissolve' delay='0' duration='1' />
    
            <series_color>
                    <color>ff8800</color>
                    <color>88ff00</color>
            </series_color>
            <series_gap bar_gap='0' set_gap='20' />
    */
    
    END PROCEDURE.
    
    /* _UIB-CODE-BLOCK-END */
    &ANALYZE-RESUME
    

Compartilhe esta Página