Páginas filhas
  • LGX - LLAYOUTMANAGER

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Pagetitle
LGX - LLAYOUTMANAGER
LGX - LLAYOUTMANAGER
Gerencia a distribuição dos componentes da tela, de forma alinha e organizada em colunas.

Gerencia a distribuição dos componentes da tela, de forma alinha e organizada em colunas.
Sua utilização dispensa a necessidade de definir o posicionamento absoluto dos componentes em tela, o ajuste é feito conforme o tamanho de seus componentes filhos.

A distribuição dos componentes visuais na tela é realizada através de linhas e colunas, definida no método COLUMNS_COUNT.
Se o leiaute foi definido com duas colunas, por exemplo, significa que em cada linha da tela poderá ter dois componentes, um ao lado do outro.

Nota

Uma vez definida a quantidade de colunas para o leiaute, não será mais possível alterá-la.


Sintaxe



Bloco de código
LET l_layout_reference = _ADVPL_create_component( NULL, "LLAYOUTMANGER", < cReferencecContainerReference > )


Métodos

SET

GET



Métodos acessíveis através da utilizando a função _ADVPL_setget_property, que permite alterar recuperar e manipular os valores do componente: 


Expandir
titleGET ADDCELL_EMPTY_COLUMNSPACE

Método

SET

GET:

ADD

CELL_

EMPTY_COLUMN

SPACE

Retorna se está definida para adotar uma margem entre as colunas do leiaute

Adiciona uma coluna vazia no leiaute, pulando uma coluna na distribuição dos componentes.

Sintaxe



Bloco de código
CALL _ADVPL_setget_property(< cReference >,"ADDCELL_EMPTY_COLUMNSPACE", < nWidth ) => )nHasCellSpace

Parâmetros



NomeTipoDescriçãoObrigatório?PadrãonWidth 
nHasCellSpaceINTEGERLargura da coluna que será adicionadaNão20Indicador que define uma margem entre as colunas do leiaute, sendo:
TRUE: será criada a margem entre as colunas do leiaute
FALSE: não será criada a margem entre as colunas do leiaute 

Exemplo



Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
CALLLET l_hasCellSpace = _ADVPL_set_property( < cReference >, "ADDCELL_EMPTY_COLUMN", 15SPACE")



Expandir
titleGET ADDCOLUMNS_EMPTY_ROWCOUNT

Método

SET

GET:

ADD

COLUMNS_

EMPTY_ROW

COUNT

Retorna a quantidade de colunas para cada linha do leiaute, esta quantidade define quantos componentes serão posicionados em uma mesma linha

Adiciona uma linha vazia no leiaute, pulando uma linha na distribuição dos componentes.

Sintaxe



Bloco de código
CALL _ADVPL_setget_property(< cReference >,"ADDCOLUMNS_EMPTY_ROWCOUNT", < nHeight ) => )nColumnsCount

Parâmetros



NomeTipoDescriçãoObrigatório?Padrão
nHeight nColumnsCountINTEGERAltura da linha que será adicionadaNão20Quantidade de colunas colunas do leiaute


Exemplo



Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
CALLLET l_columns = _ADVPL_setget_property( < cReference >, "ADDCOLUMNS_EMPTY_ROW", 10COUNT")



Expandir
titleGET APPLY_LAYOUTEXPANSIBLE

Método

SET

GET:

APPLY_LAYOUT

EXPANSIBLE

Retorna se o próximo componente a ser adicionado no leiaute será expansível para que seja redimensionando conforme o tamanho da Aplica o leiaute, redimensionando e posicionando os componentes em tela.

Sintaxe



Bloco de código
CALL __ADVPL_setget_property(< cReference >,"APPLY_LAYOUTEXPANSIBLE", < nRecursive ) => )nExpansible
Parâmetros

Retorno



NomeTipoDescrição
Obrigatório?PadrãonRecursive 
nExpansible INTEGERIndicador que define se
a aplicação do leiaute ser recursiva
o próximo componente como expansível, sendo:
TRUE:
a aplicação será recursiva, atualizando inclusive os leiautes criados anteriormente na janela
FALSE: a aplicação não será recursiva, atualizando apenas o leiaute atualNão

FALSE

o próximo componente que será criado no leiaute será expansível
FALSE: o próximo componente que será criado no leiaute não será expansível


Exemplo



Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
CALLLET l_expansible =  _ADVPL_setget_property( < cReference >, "APPLY_LAYOUT", TRUEEXPANSIBLE")



Exemplo

Expandir
titleGET MARGINHAS_EXPANSIBLE

Método

SET

GET:

MARGIN

HAS_EXPANSIBLE

Indica se o componente está expandidoDefine uma margem entre o componente pai e os componentes do leiaute.

Sintaxe



Bloco de código
CALL _ADVPL_setget_property(< cReference >,"MARGINHAS_EXPANSIBLE",) < nMargin > )=> lIsExpansible

Parâmetros



INTEGER
NomeTipoDescriçãoObrigatório?PadrãonMargin 
cReferenceCHARReferência do componente LLayoutManagerSim


Retornos



Tipo

Descrição

BOOLEANIndicador que define
uma margem entre o componente pai e os componente do leiaute, sendo:
TRUE: será criada a margem entre o componente pai e os componentes do leiaute
FALSE: não será criada a margem entre o componente pai e os componentes do leiaute
Sim
o componente está expandido.

Exemplo



Bloco de código
languageruby
Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
CALLLET l_isExpansible = _ADVPL_setget_property( < cReference >, "MARGIN", TRUEHAS_EXPANSIBLE")



Expandir
titleGET COLUMNS_COUNTHEIGHT

Método

SET

GET:

COLUMNS_COUNT

HEIGHT

Define Retorna a quantidade de colunas para cada linha do leiaute, esta quantidade define quantos componentes serão posicionados em uma mesma linha.

Sintaxe

altura do componente de layout.

Sintaxe



Bloco de código
Bloco de código
CALL _ADVPL_set_property(< cReference >,"COLUMNS_COUNTHEIGHT", < nColumns > )) nHeight


Parâmetros



NomeTipoDescriçãoObrigatório?Padrão
cReferenceCHARReferência do componente LLayoutManagerSim

Retornos



NomeTipoDescrição
nHeight nColumns INTEGERQuantidade de colunas colunas do leiauteSimAltura do componente de layout


Exemplo



Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
CALLLET l_ADVPL_setheight = _ADVPL_get_property( < cReference >, "COLUMNS_COUNT", 2HEIGHT")




Exemplo



Expandir
titleGET CELLROW_SPACE

Método

SET

GET:

CELL

ROW_SPACE

Define uma Retorna se foi definida para existir margem entre as colunas linhas do leiaute.

Sintaxe



Bloco de código
CALL _ADVPL_set_property(< cReference >,"CELLROW_SPACE", < nListDir ) => )nHasRowSpace

Parâmetros



nListDir 
NomeTipoDescriçãoObrigatório?Padrão
cReferenceCHARReferência do componente LLayoutManagerSim


Retornos



NomeTipoDescrição
nHasRowSpaceINTEGERIndicador que define uma margem entre as
colunas
linhas do leiaute, sendo:
TRUE: será criada a margem entre as
colunas
linhas do leiaute
FALSE: não será criada a margem entre as
colunas
linhas do leiaute 
Sim
Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
CALLLET l_hasRowSpace = _ADVPL_set_property( < cReference >, "CELLROW_SPACE", TRUE )



Expandir
titleGET ROW_SPACEWIDTH

Método

SET

GET:

ROW_SPACE

WIDTH

Retorna a largura do componente de layoutDefine uma margem entre as linhas do leiaute.


Sintaxe



Bloco de código
CALL _ADVPL_setget_property(< cReference >,"ROW_SPACEWIDTH", < nMargin ) => )cWidth

Parâmetros



Sim
NomeTipoDescriçãoObrigatório?Padrão
cReferencenMargin INTEGERIndicador que define uma margem entre as linhas do leiaute, sendo:
TRUE: será criada a margem entre as linhas do leiaute
FALSE: não será criada a margem entre as linhas do leiaute 
CHARReferência do componente LLayoutManagerSim

Retornos



NomeTipoDescrição
nWidth INTEGERLargura do componente de layout.

Exemplo



Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
CALLLET l_width = _ADVPL_set_property( < cReference >, "ROW_SPACE", TRUE )WIDTH")




Métodos SET



Métodos acessíveis através da função _ADVPL_set_property que permite alterar e manipular os valores do componente:


Expandir
titleGET MAX_SIZESET ADD_EMPTY_COLUMN

Método SET:

MAX

ADD_EMPTY_

SIZE

COLUMN

Adiciona uma coluna vazia no leiaute, pulando uma coluna na distribuição dos componentes.

Sintaxe



Define o tamanho máximo para redimensionamento do componente pai.
Durante o redimensionamento e reposicionamento dos componentes na tela, o leiaute irá  considerar o tamanho definido neste método.

Sintaxe

Bloco de código
CALL _ADVPL_set_property(< cReference >,"MAXADD_EMPTY_SIZECOLUMN",  < nWidth >, < nHeight > )

Parâmetros



NomeTipoDescriçãoObrigatório?Padrão
nWidth INTEGERLargura máxima para redimensionamento do componente paiSimnHeight INTEGERAltura máxima para redimensionamento do componente paiSimda coluna que será adicionadaNão

20


Exemplo



Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
CALL _ADVPL_set_property( < cReference >, "MAXADD_EMPTY_SIZECOLUMN", 30, 2015)



Expandir
titleGET MAX_WIDTHSET ADD_EMPTY_ROW

Método SET:

MAX

ADD_EMPTY_

WIDTH

ROW

Adiciona uma linha vazia no leiaute, pulando uma linha na distribuição dos componentes

Define a largura máxima para redimensionamento do componente pai.
Durante o redimensionamento e reposicionamento dos componentes na tela, o leiaute irá  considerar o tamanho definido neste método.

Sintaxe



Bloco de código
CALL _ADVPL_set_property(< cReference >,"MAXADD_EMPTY_WIDTHROW", < nWidthnHeight > )

Parâmetros



Sim
NomeTipoDescriçãoObrigatório?Padrão
nWidth nHeight INTEGERLargura máxima para redimensionamento do componente paiAltura da linha que será adicionadaNão

20


Exemplo



Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
CALL _ADVPL_set_property( < cReference >, "MAXADD_EMPTY_WIDTHROW", 20 10)



Expandir
titleGET MAXSET APPLY_HEIGHTLAYOUT

Método SET:

MAX

APPLY_

HEIGHT

LAYOUT

Aplica o leiaute, redimensionando e posicionando os componentes em tela

Define a altura máxima para redimensionamento do componente pai.
Durante o redimensionamento e reposicionamento dos componentes na tela, o leiaute irá  considerar o tamanho definido neste método.

Sintaxe



Bloco de código
CALL _ADVPL_set_property(< cReference >,"MAXAPPLY_HEIGHTLAYOUT", < nHeightnRecursive > )

Parâmetros



Sim
NomeTipoDescriçãoObrigatório?Padrão
nHeight nRecursive INTEGERAltura máxima para redimensionamento do componente paiIndicador que define se a aplicação do leiaute ser recursiva, sendo:
TRUE: a aplicação será recursiva, atualizando inclusive os leiautes criados anteriormente na janela
FALSE: a aplicação não será recursiva, atualizando apenas o leiaute atual
Não

FALSE


Exemplo



Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
CALL _ADVPL_set_property( < cReference >, "MAXAPPLY_HEIGHTLAYOUT", 27TRUE)



Expandir
titleGET EXPANSIBLESET COLUMNS_COUNT

Método SET:

EXPANSIBLE

COLUMNS_COUNT

Define a quantidade de colunas para cada linha do leiaute, esta quantidade define quantos componentes serão posicionados em uma mesma linhaIndica se o próximo componente a ser adicionado no leiaute será expansível, redimensionando-o conforme o tamanho da tela.

Sintaxe



Bloco de código
CALL _ADVPL_set_property(< cReference >,"EXPANSIBLECOLUMNS_COUNT", < nExpansiblenColumns > )

Parâmetros



NomeTipoDescriçãoObrigatório?PadrãonExpansible INTEGERIndicador que define se o próximo componente como expansível, sendo:
TRUE: o próximo componente que será criado no leiaute será expansível
FALSE: o próximo componente que será criado no leiaute não será expansível
Sim

Observações

Para correto funcionamento, o componente adicionado após a execução deste método deve ter alinhamento centralizado.
nColumns INTEGERQuantidade de colunas colunas do leiauteSim



Exemplo



Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
CALL _ADVPL_set_property( < cReference >, "EXPANSIBLECOLUMNS_COUNT", TRUE2)



Expandir
titleGET SET CELL_SPACE

Método SET:

FTP 

CELL_SPACE

Define uma margem entre as colunas do leiaute.

Sintaxe



Bloco de código
CALL _ADVPL_set_property(< cReference >,"FTP_LOAD_FILE_LISTCELL_SPACE", < nListDir > )

Parâmetros



NomeTipoDescriçãoObrigatório?Padrão
cDirnListDir INTEGERDiretório do servidor FTP do qual deseja-se carregar a lista de arquivos.Sim

Observações

Indicador que define uma margem entre as colunas do leiaute, sendo:
TRUE: será criada a margem entre as colunas do leiaute
FALSE: não será criada a margem entre as colunas do leiaute 
Sim


Exemplo



Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
Exemplo
CALL _ADVPL_set_property( < cReference >, "CELL_SPACE", TRUE )



Expandir
titleExemplo de aplicaçãoSET EXPANSIBLE

Método SET: EXPANSIBLE

Indica se o próximo componente a ser adicionado no leiaute será expansível, redimensionando-o conforme o tamanho da tela.

Sintaxe



Bloco de código
CALL _ADVPL_set_property(< cReference >,"EXPANSIBLE", < nExpansible > )

Parâmetros



NomeTipoDescriçãoObrigatório?Padrão
nExpansible INTEGERIndicador que define se o próximo componente como expansível, sendo:
TRUE: o próximo componente que será criado no leiaute será expansível
FALSE: o próximo componente que será criado no leiaute não será expansível
Sim


Observações


Para correto funcionamento, o componente adicionado após a execução deste método deve ter alinhamento centralizado.

Exemplo



Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
CALL _ADVPL_set_property( < cReference >, "EXPANSIBLE", TRUE)



Expandir
titleSET MARGIN

Método SET: MARGIN

Define uma margem entre o componente pai e os componentes do leiaute.

Sintaxe



Bloco de código
CALL _ADVPL_set_property(< cReference >,"MARGIN", < nMargin > )

Parâmetros



NomeTipoDescriçãoObrigatório?Padrão
nMargin INTEGERIndicador que define uma margem entre o componente pai e os componente do leiaute, sendo:
TRUE: será criada a margem entre o componente pai e os componentes do leiaute
FALSE: não será criada a margem entre o componente pai e os componentes do leiaute
Sim



Exemplo



Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
CALL _ADVPL_set_property( < cReference >, "MARGIN", TRUE)



Expandir
titleSET MAX_SIZE

Método SET: MAX_SIZE

Define o tamanho máximo para redimensionamento do componente pai.
Durante o redimensionamento e reposicionamento dos componentes na tela, o leiaute irá  considerar o tamanho definido neste método.

Sintaxe



Bloco de código
CALL _ADVPL_set_property(< cReference >,"MAX_SIZE",  < nWidth >, < nHeight > )

Parâmetros



NomeTipoDescriçãoObrigatório?Padrão
nWidth INTEGERLargura máxima para redimensionamento do componente paiSim


nHeight INTEGERAltura máxima para redimensionamento do componente paiSim


Exemplo



Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
CALL _ADVPL_set_property( < cReference >, "MAX_SIZE", 30, 20)



Expandir
titleSET MAX_HEIGHT

Método SET: MAX_HEIGHT

Define a altura máxima para redimensionamento do componente pai.
Durante o redimensionamento e reposicionamento dos componentes na tela, o leiaute irá  considerar o tamanho definido neste método.

Sintaxe



Bloco de código
CALL _ADVPL_set_property(< cReference >,"MAX_HEIGHT", < nHeight > )

Parâmetros



NomeTipoDescriçãoObrigatório?Padrão
nHeight INTEGERAltura máxima para redimensionamento do componente paiSim


Exemplo



Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
CALL _ADVPL_set_property( < cReference >, "MAX_HEIGHT", 27)



Expandir
titleSET MAX_WIDTH

Método SET: MAX_WIDTH

Define a largura máxima para redimensionamento do componente pai.
Durante o redimensionamento e reposicionamento dos componentes na tela, o leiaute irá  considerar o tamanho definido neste método.

Sintaxe



Bloco de código
CALL _ADVPL_set_property(< cReference >,"MAX_WIDTH", < nWidth > )

Parâmetros



NomeTipoDescriçãoObrigatório?Padrão
nWidth INTEGERLargura máxima para redimensionamento do componente paiSim


Exemplo



Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
CALL _ADVPL_set_property( < cReference >, "MAX_WIDTH", 20 )



Expandir
titleSET MIN_HEIGHT

Método SET: MIN_HEIGHT

Define a altura mínima para redimensionamento do componente pai.
Durante o redimensionamento e reposicionamento dos componentes na tela, o leiaute irá  considerar o tamanho definido neste método.

Sintaxe



Bloco de código
CALL _ADVPL_set_property(< cReference >,"MIN_HEIGHT", < nHeight > )

Parâmetros



NomeTipoDescriçãoObrigatório?Padrão
nHeight INTEGERAltura mínima para redimensionamento do componente paiSim


Exemplo



Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
CALL _ADVPL_set_property( < cReference >, "MIN_HEIGHT", 30 )



Expandir
titleSET MIN_SIZE

Método SET: MIN_SIZE

Define o tamanho mínimo para redimensionamento do componente pai.
Durante o redimensionamento e reposicionamento dos componentes na tela, o leiaute irá  considerar o tamanho definido neste método.

Sintaxe



Bloco de código
CALL _ADVPL_set_property(< cReference >,"MIN_SIZE",  < nWidth >, < nHeight >  )

Parâmetros



NomeTipoDescriçãoObrigatório?Padrão
nWidthINTEGERLargura mínima para redimensionamento do componente paiSim


nHeightINTEGERAltura mínima para redimensionamento do componente paiSim


Exemplo



Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
CALL _ADVPL_set_property( < cReference >, "MIN_SIZE", 24,15 )



Expandir
titleSET MIN_WIDTH

Método SET: MIN_WIDTH

Define a largura mínima para redimensionamento do componente pai.
Durante o redimensionamento e reposicionamento dos componentes na tela, o leiaute irá  considerar o tamanho definido neste método.

Sintaxe



Bloco de código
CALL _ADVPL_set_property(< cReference >,"MIN_WIDTH", < nWidth > )

Parâmetros



NomeTipoDescriçãoObrigatório?Padrão
nWidth INTEGERLargura mínima para redimensionamento do componente paiSim


Exemplo


Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
CALL _ADVPL_set_property( < cReference >, "MIN_WIDTH", 10 )



Expandir
titleSET ROW_SPACE

Método SET: ROW_SPACE

Define uma margem entre as linhas do leiaute.

Sintaxe



Bloco de código
CALL _ADVPL_set_property(< cReference >,"ROW_SPACE", < nMargin > )

Parâmetros



NomeTipoDescriçãoObrigatório?Padrão
nMargin INTEGERIndicador que define uma margem entre as linhas do leiaute, sendo:
TRUE: será criada a margem entre as linhas do leiaute
FALSE: não será criada a margem entre as linhas do leiaute 
Sim



Exemplo



Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
CALL _ADVPL_set_property( < cReference >, "ROW_SPACE", TRUE )





Exemplo



Clique no link na lateral direita para expandir o código de exemplo.

#--------------------# FUNCTION TesteLFTP() #--------------------# DEFINE l_ind SMALLINT, l_count SMALLINT, l_status SMALLINT DEFINE l_file_name CHAR(050) DEFINE l_ftp_reference VARCHAR(10) # Cria o componente para conexão FTP. LET l_ftp
_reference = _ADVPL_create_component(NULL,"
LFTP") # Conecta o componente ao servidor FTP.
LTEXTFIELD",l_layout_reference)
   
LET
 
l_status
 
=
CALL _ADVPL_
get
set_property(l_
ftp
component_reference,"
FTP_CONNECT","est1",21,"lg991933","********") IF NOT l_status THEN
LENGTH",19)
     
CALL 
log0030_mensagem("Não foi possível conectar-se ao servidor FTP.","excl") RETURN END IF
_ADVPL_set_property(l_component_reference,"PICTURE","##.###.###/####-##")
     
CALL _ADVPL_set_property(l_component_reference,"TOOLTIP","CNPJ da empresa informada.")

   
#
 
Carrega
 
a lista dos arquivos de um diretório FTP.
LET l_label_reference = _ADVPL_create_component(NULL,"LLABEL",l_layout_reference)
     
CALL _ADVPL_set_property(l_
ftp
label_reference,"
FTP_LOAD_FILE_LIST
TEXT","
/home/lg991933/","*.*",TRUE)
Item:")

   
#
 
Recupera
 
a quantidade de arquivos encontrados no diretório.
LET l_panel_reference = _ADVPL_create_component(NULL,"LPANEL",l_layout_reference)
   
LET
 
l_count
 
=
CALL _ADVPL_
get
set_property(l_
ftp
panel_reference,"
FTP_GET_FILE_LIST_COUNT")
ALIGN","CENTER")

   
  
IF l_count = 0 THEN
LET l_layout_field_reference = _ADVPL_create_component(NULL,"LLAYOUTMANAGER",l_panel_reference)
     
CALL 
log0030_mensagem("Nenhum arquivo encontrado no diretório '/home/lg991933/' do servidor FTP.","excl")
_ADVPL_set_property(l_layout_field_reference,"MARGIN",FALSE)
     CALL _ADVPL_set_property(l_layout_field_reference,"COLUMNS_COUNT",3)

     LET l_component_reference 
= _ADVPL_create_component(NULL,"LTEXTFIELD",l_layout_field_reference)
     
RETURN
CALL _ADVPL_set_property(l_component_reference,"LENGTH",15)
   
END
 
IF
 
CALL _ADVPL_set_property(l_component_reference,"PICTURE","@!")
   
  
FOR l_ind = 1 TO l_count
CALL _ADVPL_set_property(l_component_reference,"TOOLTIP","Código do item.")

     LET l_button_reference 
# Exibe no console todos os arquivos encontrados no diretório.
= _ADVPL_create_component(NULL,"LIMAGEBUTTON",l_layout_field_reference)
     CALL _ADVPL_set_property(l_button_reference,"IMAGE","BTPESQ")
     
CALL _ADVPL_set_property(l_button_reference,"SIZE",24,20)

     LET l_
file
component_
name
reference = _ADVPL_
get
create_
property(l_ftp_reference,"FTP_GET_FILE_LIST_INDEX
component(NULL,"LTEXTFIELD",l_
ind)
layout_field_reference)
     
CALL 
conout
_ADVPL_set_property(l_
file_name CLIPPED)
component_reference,"LENGTH",36)
   
END
 
FOR
 
# Efetua o upload de um arquivo da máquina local para o servidor FTP. LET l_status = _ADVPL_get_property(l_ftp_reference,"FTP_UPLOAD_FILE","C:\\ftp\\ftp_upload.txt","\\home\\lg991933\\") # Efetua o download de um arquivo do servidor FTP para a maquina local. LET l_status = _ADVPL_get_property(l_ftp_reference,"FTP_DOWNLOAD_FILE","\\home\\lg991933\\ftp_download.txt","C:\\ftp\\") # Renomeia um arquivo do servidor FTP. LET l_status = _ADVPL_get_property(l_ftp_reference,"FTP_RENAME_FILE","\\home\\lg991933\\ftp_download.txt","teste.txt") # Exclui um arquivo do servidor FTP. LET l_status = _ADVPL_get_property(l_ftp_reference,"FTP_REMOVE_FILE","\\home\\lg991933\\teste.txt") # Disconecta do servidor FTP.
CALL _ADVPL_set_property(l_component_reference,"PICTURE","@!")
     CALL _ADVPL_set_property(l_component_reference,"TOOLTIP","Descrição do item informada.")

     LET l_panel_reference = _ADVPL_create_component(NULL,"LPANEL",l_dialog_reference)
     CALL _ADVPL_set_property(l_panel_reference,"ALIGN","CENTER")

     LET l_layout_reference = _ADVPL_create_component(NULL,"LLAYOUTMANAGER",l_panel_reference)
     CALL _ADVPL_set_property(l_layout_reference,"COLUMNS_COUNT",1)
     CALL _ADVPL_set_property(l_layout_reference,"EXPANSIBLE",TRUE)

     LET l_table_reference = _ADVPL_create_component(NULL,"LTABLEEX",l_layout_reference)
     CALL _ADVPL_set_property(l_table_reference,"ALIGN","CENTER")

     LET l_column_reference = _ADVPL_create_component(NULL,"LTABLECOLUMNEX",l_table_reference)
     CALL _ADVPL_set_property(l_column_reference,"HEADER","Coluna")
     CALL _ADVPL_set_property(l_column_reference,"VARIABLE","coluna")

     CALL _ADVPL_set_property(l_table_reference,"SET_ROWS",ma_tela,100)

     CALL _ADVPL_set_property(l_
ftp
dialog_reference,"
FTP_DISCONNECT
ACTIVATE",TRUE)

 END FUNCTION
Bloco de código
languageruby
themeConfluence
titleCódigo de exemplo do Componente LLayoutManager
linenumberstrue
collapsetrue
DEFINE ma_tela ARRAY[100] OF
               RECORD
                   coluna CHAR(200)
               END RECORD

#------------------------#
 FUNCTION layoutmanager()
#------------------------#
     DEFINE l_dialog_reference,
            l_panel_reference,
            l_layout_reference,
            l_layout_field_reference,
            l_label_reference,
            l_component_reference,
            l_button_reference,
            l_table_reference,
            l_column_reference VARCHAR(10)

     DEFINE l_ind SMALLINT

     FOR l_ind = 1 TO 100
         LET ma_tela[l_ind].coluna = "Coluna ", l_ind USING "&&&", "."
     END FOR

     LET l_dialog_reference = _ADVPL_create_component(NULL,"LDIALOG")
     CALL _ADVPL_set_property(l_dialog_reference,"SIZE",640,480)
     CALL _ADVPL_set_property(l_dialog_reference,"TITLE","Exemplo de Utilização: LLAYOUTMANAGER")

     LET l_panel_reference = _ADVPL_create_component(NULL,"LPANEL",l_dialog_reference)
     CALL _ADVPL_set_property(l_panel_reference,"ALIGN","TOP")

     LET l_layout_reference = _ADVPL_create_component(NULL,"LLAYOUTMANAGER",l_panel_reference)
     CALL _ADVPL_set_property(l_layout_reference,"MARGIN",TRUE)
     CALL _ADVPL_set_property(l_layout_reference,"COLUMNS_COUNT",2)

     LET l_label_reference = _ADVPL_create_component(NULL,"LLABEL",l_layout_reference)
     CALL _ADVPL_set_property(l_label_reference,"TEXT","Empresa:")

     LET l_panel_reference = _ADVPL_create_component(NULL,"LPANEL",l_layout_reference)
     CALL _ADVPL_set_property(l_panel_reference,"ALIGN","CENTER")

     LET l_layout_field_reference = _ADVPL_create_component(NULL,"LLAYOUTMANAGER",l_panel_reference)
     CALL _ADVPL_set_property(l_layout_field_reference,"MARGIN",FALSE)
     CALL _ADVPL_set_property(l_layout_field_reference,"COLUMNS_COUNT",3)

     LET l_component_reference = _ADVPL_create_component(NULL,"LTEXTFIELD",l_layout_field_reference)
     CALL _ADVPL_set_property(l_component_reference,"LENGTH",2)
     CALL _ADVPL_set_property(l_component_reference,"PICTURE","@!")
     CALL _ADVPL_set_property(l_component_reference,"TOOLTIP","Código da empresa.")

     LET l_button_reference = _ADVPL_create_component(NULL,"LIMAGEBUTTON",l_layout_field_reference)
     CALL _ADVPL_set_property(l_button_reference,"IMAGE","BTPESQ")
     CALL _ADVPL_set_property(l_button_reference,"SIZE",24,20)

     LET l_component_reference = _ADVPL_create_component(NULL,"LTEXTFIELD",l_layout_field_reference)
     CALL _ADVPL_set_property(l_component_reference,"LENGTH",30)
     CALL _ADVPL_set_property(l_component_reference,"PICTURE","@!")
     CALL _ADVPL_set_property(l_component_reference,"TOOLTIP","Descrição da empresa informada.")

     LET l_label_reference = _ADVPL_create_component(NULL,"LLABEL",l_layout_reference)
     CALL _ADVPL_set_property(l_label_reference,"TEXT","CNPJ:")

     LET l_component
Bloco de código
languageruby
themeConfluence
titleExemplo LQUERY
linenumberstrue


Visualização


Image Added