Á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 2 Próxima »

Recupera o valor de uma "chave" na "Tabela X" de uma determinada sessão, e faz bloqueio da "chave" <cChave>.

Sintaxe

 

VarGetX
lRet := VarGetXD( <cUID>, <cChave>, <xValor> )

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ógicoValor a ser armazenadoXX 

Retorno

NomeTipoDescriçãoObservações
lRetLógico

Indica se conseguiu recuperar o valor da chave <cChave> na sessão <cUID>

 

Retorna .T. se a função foi executada corretamente e se houver algum erro retorna .F.

 

Observações

Se a chave <cChave> ou a sessão <cUID> não existirem, será retornado .F. em <lRet> e o conteúdo de <xValor> é indefinido, se ambos forem encontrados <xValor> receberá uma cópia do valor armazenado.

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 "VarGetXD".

(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 lRet := .F.
   
  lRet := VarSetUID(cMyUID)
  If(!lRet)
    ConOut("Erro na criação da sessão: " + cMyUID)
  EndIf
  
  lRet := VarSetXD(cMyUID, cChave, nValor)
  If(!lRet)
    ConOut("Erro na atualização da chave: " + cChave)
  EndIf
 
  nValor := 7
 
  lRet := VarGetX(cMyUID, cChave, @nValor)
  If(!lRet)
    ConOut("Erro na recuperação da chave: " + cChave)
  Else
    ConOut("Achou a chave: " + cChave + " valor: " + AllTrim(Str(nValor)))
  EndIf
Return .T.

Veja também

VarSetUIDVarSetXVarGetXD

  • Sem rótulos