Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 4 Próxima »

Recupera o valor de uma "chave" de forma transacionada/síncrona na "Tabela X" e na "Tabela A" de uma determinada sessão, pois faz bloqueio da "chave" <cChave>.

Sintaxe

 

VarGet
lRet:= VarGet( <parâmetro> [, <parâmetro opcional>] )

Parâmetros

NomeTipoDescriçãoObrigatórioReferênciaObservações
cUIDCaractere

Identificador da sessão de Variáveis Globais

X  
cChaveCaractereIdentificador da chaveX  
xValorNumérico / Caractere / Data / LógicoVariável onde será armazenado o valor da chave ("Tabela X")XX 
aValorArrayVariável onde será armazenado o valor da chave ("Tabela A")XX 

Retorno

NomeTipoDescriçãoObservações

Observações

Ver as observações de "VarGetX" e "VarGetA" para ver as opções de retorno, e se o valor da chave for encontrado em alguma das tabelas o retorno será verdadeiro (.T.), caso não encontre o valor em ambas o retorno será falso (.F.).

Como esta função faz o bloqueio da chave não deve ser usada dentro de transações ("VarBeginT" na chave <cChave>).

Todavia se você só quiser recuperar o valor somente após o término de uma transação, esta função só irá executar após o término efetivo da transação ("VarEndT" na chave <cChave>).

Por conta de fazer bloqueio na chave esta função é mais lenta que a função "VarGetD".

(aviso) Disponível em Build igual ou superior a 7.00.131227A

Exemplos

Exemplo 

User Function exemplo()
  Local cMyUID := "teste_UID_RL"
  Local cChave := "chave"
  Local nValor := 32
  Local aValor := {1, 2, 3}
  Local lRet := .F.
    
  lRet := VarSetUID(cMyUID, .T.)
  If(!lRet)
    ConOut("Erro na criação da sessão: " + cMyUID)
  EndIf
   
  lRet := VarSet(cMyUID, cChave, nValor, aValor)
  If(!lRet)
    ConOut("Erro na atualização da chave: " + cChave)
  EndIf
  
  nValor := 7
  aValor := {4, 5}
  
  lRet := VarGet(cMyUID, cChave, @nValor, @aValor)
  If(!lRet)
    ConOut("Erro na recuperação da chave: " + cChave)
  Else
    ConOut("Achou a chave: " + cChave + " valor (tab x): " + AllTrim(Str(nValor)))
    ConOut("Achou a chave: " + cChave + " valor (tab a): " + AllTrim(Str(Len(aValor))))
  EndIf
Return .T.
  • Sem rótulos