Árvore de páginas

Realiza a definição de alguns parâmetros do sistema, permite também retornar o valor previamente definido.

Sintaxe

Set( < nParam >, [ xValue ] )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

nParam

numérico

Parâmetro a ser definido ou consultado

X

 

xValue

qualquer

Valor a ser definido para o parâmetro

 

 

Retorno

Nome

Tipo

Descrição

xRet

qualquer

Retorna o valor previamente definido para o parâmetro.

Exemplos

Exemplo 1
#include "TOTVS.CH"
user function tstSet()
 
// Define formato da data do sistema
// Exemplo mm(mes)/dd(dia)/yyyy(ano)
dDate1 := CtoD("04/05/78")
dDate2 := CtoD("04/05/92")
Set(_SET_DATEFORMAT, 'mm/dd/yy') // Data com DOIS digitos para Ano
conout("","Teste do _SET_DATEFORMAT: Usando DOIS digitos para o ano")
conout(dDate1)
conout(dDate2)
Set(_SET_DATEFORMAT, 'mm/dd/yyyy') // Data com QUATRO digitos para Ano
conout("Teste do _SET_DATEFORMAT: Usando QUATRO digitos para o ano")
conout(dDate1)
conout(dDate2)
 
// Permite um maior controle das datas com apenas dois digitos, exemplo:
// Se definido 1980, a data "04/05/78" será igual a 04/05/2078
//                 e a data "04/05/92" será igual a 04/05/1992
Set(_SET_EPOCH, 1980)
dDate1 := CtoD("04/05/78")
dDate2 := CtoD("04/05/92")
conout("","Teste do _SET_EPOCH: Usando valor 1980")
conout(dDate1)
conout(dDate2)
 
// Exibe ou omite os registros marcados para deleção no bando de dados
// Se definido:
// .T. ou "ON" - Omite os registros deletados
// .F. ou "OFF" - Exibe os registros deletados
Set(_SET_DELETED, .T.)
conout("","Teste do _SET_DELETED: Usando valor TRUE")
DBSelectArea("SA1")
DbGoTop()
i := 0
While !Eof()
    i++
    DBSkip()
endDo
conout( "Quantidade de registros: " + cValToChar( i ) )
 
Set(_SET_DELETED, .F.)
conout("Teste do _SET_DELETED: Usando valor FALSE")
DbGoTop()
i := 0
While !Eof()
    i++
    DBSkip()
endDo
conout( "Quantidade de registros: " + cValToChar( i ) )
 
// Liga ou desliga a pesquisa relativa da função DBSEEK
// Se definido:
// .T. - Efetuara a busca parcial do registro, exemplo:
//        Buscando pelo texto "TN", não encontrando um registro,
//        será apontado para o registro aproximado, exemplo "TOTVS"
// .F. - Efetuara apenas a busca exata de um registro, exemplo:
//        Buscando pelo texto "TO" será apontado para o registro que contenha
//        o texto, exemplo "TOTVS", neste caso a busca por "TN" retorná FALSO
DBSelectArea("SA1")
DbSetOrder(2) // FILIAL+NOME
Set(_SET_SOFTSEEK, .T.)
conout("","Teste do _SET_SOFTSEEK: Usando valor TRUE")
DbSeek(xFilial("SA1") + "VA") // Busca registro parcial "VA" nao consta no banco
conout( "Registro" + iif(Eof(), " nao", "") + " localizado"  )
Set(_SET_SOFTSEEK, .F.)
conout("Teste do _SET_SOFTSEEK: Usando valor FALSE")
DbSeek(xFilial("SA1") + "VA")
conout( "Registro" + iif(Eof(), " nao", "") + " localizado"  )
 
// Caso a função SET seja chamada apenas com o parâmetro, sem a definição de valores
// sera retornado o valor previamente definido para este parâmetro
//
// Observação:
// O tipo do retorno irá variar dependendo do parâmetro selecionado
//  os tipos retornados poderão ser Texto, Numérico ou Lógico
Set(_SET_DATEFORMAT)
Set(_SET_EPOCH)
Set(_SET_DELETED)
Set(_SET_SOFTSEEK)
 
Return

Resultado do Exemplo

Abrangência

Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10

  • Sem rótulos