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
lRet:= VarGet( <parâmetro> [, <parâmetro opcional>] )
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência | Observações |
---|---|---|---|---|---|
cUID | Caractere | Identificador da sessão de Variáveis Globais | X | ||
cChave | Caractere | Identificador da chave | X | ||
xValor | Numérico / Caractere / Data / Lógico | Variável onde será armazenado o valor da chave ("Tabela X") | X | X | |
aValor | Array | Variável onde será armazenado o valor da chave ("Tabela A") | X | X |
Retorno
Nome | Tipo | Descrição | Observaçõ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".
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.