FUNCAO QUE RETORNA 2 VALORES
Boa noite gente ...
Como faço para fazer uma função que retorne dois valores???? exemplo:
Function Soma (Valor as integer) as integer
X = Valor * 2
Y = Valor +5
End Function
Eu preciso que a função retorne os valores X e Y .....
Seria uma função tipo matriz !!!!!
Como faço para fazer uma função que retorne dois valores???? exemplo:
Function Soma (Valor as integer) as integer
X = Valor * 2
Y = Valor +5
End Function
Eu preciso que a função retorne os valores X e Y .....
Seria uma função tipo matriz !!!!!
public function SOMA(VALOR AS INTEGER)
X=VALOR*2
Y=VALOR+5
SOMA = X & [Ô]|[Ô] & Y
end function
Wresposta = split(SOMA(49),[Ô]|[Ô])
Wresposta(0) [ô]é o resultado de X
Wresposta(1) [ô]é o resultado de Y
Excelente exemplo .......... nao conhecia este comando SPLIT ....
So q meu programa ta assim:
____________________________________________________________________________________
Dim PageTXT As Object
Set PageTXT = New clsEstatÃstica
ContaSeção = PageTXT.SeçãoPágina ??????????
_____________________________________________________________________________________
DENTRO DA MINHA CLSESTATÃSTICA TA ASSIM:
Public Function SeçãoPágina()
Load DlgContaPágina
SeçãoPágina = Split (DlgContaPágina.SeçãoPagina, [Ô]|[Ô])
SeçãoPágina(0)
SeçãoPágina(1)
?????????????
Unload DlgContaPágina
End Function
___________________________________________________________________
DENTRO DO DLGCONTAPÃGINA TA ASSIM:
FUNCTION SEÇÃOPAGINA
[ô]CODIGOS DIVERSOS
[ô]PARA SE CHEGAR OS VALORES NECESSARIOS
SeçãoPagina = sPagina & [Ô]|[Ô] & ValueScroll
END FUNCTION
DEU ERRO: era esperado uma matriz
So q meu programa ta assim:
____________________________________________________________________________________
Dim PageTXT As Object
Set PageTXT = New clsEstatÃstica
ContaSeção = PageTXT.SeçãoPágina ??????????
_____________________________________________________________________________________
DENTRO DA MINHA CLSESTATÃSTICA TA ASSIM:
Public Function SeçãoPágina()
Load DlgContaPágina
SeçãoPágina = Split (DlgContaPágina.SeçãoPagina, [Ô]|[Ô])
SeçãoPágina(0)
SeçãoPágina(1)
?????????????
Unload DlgContaPágina
End Function
___________________________________________________________________
DENTRO DO DLGCONTAPÃGINA TA ASSIM:
FUNCTION SEÇÃOPAGINA
[ô]CODIGOS DIVERSOS
[ô]PARA SE CHEGAR OS VALORES NECESSARIOS
SeçãoPagina = sPagina & [Ô]|[Ô] & ValueScroll
END FUNCTION
DEU ERRO: era esperado uma matriz
OCELOT ............. EU JA PENSEI NISSO .............. SÓ QUE FICARIA LERDO O PROGRAMA .............
SE VOLTAR DOIS VALORES VAI SER MAIS RÃPIDO ....
VALEU!!!
SE VOLTAR DOIS VALORES VAI SER MAIS RÃPIDO ....
VALEU!!!
Citação:Wresposta = split(SOMA(49),[Ô]|[Ô])
Wresposta(0) [ô]é o resultado de X
Wresposta(1) [ô]é o resultado de Y
Tem que declarar estas matrizes??????
Dim Wresposta (0 to 1) as String
????
Citação:WOLFFIRE escreveu:
Wresposta = split(SOMA(49),[Ô]|[Ô])
Wresposta(0) [ô]é o resultado de X
Wresposta(1) [ô]é o resultado de Y
Tem que declarar estas matrizes??????
Dim Wresposta (0 to 1) as String
????
Não precisa declarar as matrizes.
O comando SPLIT vai separar uma string em uma matriz. A string deve cnter [Ô]separadores[Ô] (no meu exemplo é o caracter [Ô]|[Ô]).
Note que eu retornei 2 valores, portanto a matriz tem o valor 0 e 1. Se o retorno fossem 5 valores terÃamos 0,1,2,3,4.
Load DlgContaPágina
SeçãoPágina = Split (DlgContaPágina.SeçãoPagina, [Ô]|[Ô])
SeçãoPágina(0)
SeçãoPágina(1)
?????????????
Unload DlgContaPágina
Seu código tem um erro. O RETORNO da função é a matriz. então:
Load DlgContaPágina
RETORNO = Split (DlgContaPágina.SeçãoPagina(NUMERO DESEJADO), [Ô]|[Ô])
msgbox(RETORNO(0))
msgbox(RETORNO(1))
Unload DlgContaPágina
Option Explicit
Private Sub Command1_Click()
Dim Valor() As String
Valor = Split(TesteNumero(Text1.Text, Text2.Text), [Ô]|[Ô])
MsgBox (Valor(0))
MsgBox (Valor(1))
End Sub
Private Function TesteNumero(Valor1 As Integer, Valor2 As Integer) As String
Dim A, B As Integer
A = Valor1 * 10
B = Valor2 + 5
TesteNumero = A & [Ô]|[Ô] & B
End Function
Private Sub Form_Load()
Text1.Text = 10
Text2.Text = 10
End Sub
Private Sub Command1_Click()
Dim Valor() As String
Valor = Split(TesteNumero(Text1.Text, Text2.Text), [Ô]|[Ô])
MsgBox (Valor(0))
MsgBox (Valor(1))
End Sub
Private Function TesteNumero(Valor1 As Integer, Valor2 As Integer) As String
Dim A, B As Integer
A = Valor1 * 10
B = Valor2 + 5
TesteNumero = A & [Ô]|[Ô] & B
End Function
Private Sub Form_Load()
Text1.Text = 10
Text2.Text = 10
End Sub
Citação:eu fiz um teste e funcionouuuuu
Citação:................ AKI TAVA DANDO ERRO PORQUE MINHA FUNÇÃO ESTAVA DECLARADA PARA VOLTAR UM VALOR [Ô]INTEGER[Ô] ..... DEPOIS MUDEI PARA STRING ............ AI SIM DEU CERTO .......EDERMIR
AQUELA CONCATENAÇÃO ERA UMA STRING E NAO DADO NUMERICO ...............
VALEU MUITO A DICAAAAA .............. OBRIGADOOOOOO
Tópico encerrado , respostas não são mais permitidas