• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

vaurdan

Duvida VB 6.0 - variaveis

67 mensagens neste tópico

Alguem me pode dizer as variaveis e para que elas servem? e como se declara-se... sff

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tu nao fizeste uma calculadora ? :|

Que eu saiba as Variaveis sao:

(Este exemplo usando tres Text's e 1 Botao para Soma)

Dim a, b, c As Double
a = Val(Text1.Text)
b = Val(Text2.Text)
c = a + b
Text3.Text = c

Em que a, b e c são as Variáveis ou seja nºs que podem variar ...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

e que quer dizer Double Variant , etc ( digam-me esses nomes e para qie serve sff )

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Variant: Serve para todos mas nao sei Usar :P

Integer ou Single: Declara variaveis de valores inteiros (do -infinito ao +infinito NAO passando por nºs fraccionários)

Double: Declara variaveis de valores reais (do -infinito ao +infinito, passando por nºs fraccionários)

Boolean: Pode ser declarado como True ou False (nao sei usar) :)

String: Frase

Exemplo de Integer(ou Single):

Dim a, b, c As Integer(ou Single)
a = Val(Text1.Text)
b = Val(Text2.Text)
c = a + b
Text3.Text = c

Exemplo de Double:

Dim a, b, c As Double
a = Val(Text1.Text)
b = Val(Text2.Text)
c = a + b
Text3.Text = c

Exemplo de String:

Dim a As String
a = Text1.Text
If a = lolol Then
MsgBox "Olá Mundo"
Else
MsgBox "Olá Espaço"
End If

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ve o anexo desta mensagem. É uma imagem com os vários tipos de dados e as suas diferenças.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

olhem... dgiam-me como faço para o pc randomizar um numero do 0 ao 100?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Aqui tens...

Dim MyValue
Randomize   ' Initialize random-number generator.

MyValue = Int((6 * Rnd) + 1)   ' Generate random value between 1 and 6.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Aqui tens...

Dim MyValue
Randomize   ' Initialize random-number generator.

MyValue = Int((6 * Rnd) + 1)   ' Generate random value between 1 and 6.

Sendo Int ... ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tiago, nao dava com 1 ciclo For ?

Tentei e deu

Dim a As Double
For a = 1 to 100
MsgBox Rnd // Salta 1 MsgBox com nºs ao acaso entre 1 e 100
Next // Um ciclo For Termina com Next

O Problema com que me deparei era que só saiam nºs decimais e todos 0,TAL, exemplo: 0,23122 ; 0,92321; 0,23512 e por aí ... :\

P.S.: A MsgBox é infinita pleo que, para a cancelares tens de ir ao Gestor de Tarefas XD (Ctrl+Alt+Del e fazer Terminar processo em VB6.EXE)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

e onde é ke eu ponho isso? no botao?

Ya num botao qualquer que cries vaurdan

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Aqui tens...

Dim MyValue
Randomize   ' Initialize random-number generator.

MyValue = Int((6 * Rnd) + 1)   ' Generate random value between 1 and 6.

Sendo Int ... ?

o Int() transforma-te o valor num numero inteiro. por exemplo

textbox.text = 100,2333

msgbox int(val(textbox.text)

Isto mostra-te uma msgbox com o numero 100. Ou seja, converte-te para um numero inteiro.

Tiago, nao dava com 1 ciclo For ?

Tentei e deu

Dim a As Double
For a = 1 to 100
MsgBox Rnd // Salta 1 MsgBox com nºs ao acaso entre 1 e 100
Next // Um ciclo For Termina com Next

O Problema com que me deparei era que só saiam nºs decimais e todos 0,TAL, exemplo: 0,23122 ; 0,92321; 0,23512 e por aí ... :\

P.S.: A MsgBox é infinita pleo que, para a cancelares tens de ir ao Gestor de Tarefas XD (Ctrl+Alt+Del e fazer Terminar processo em VB6.EXE)

Com um For tambem dá é claro, mas para o caso de quereres gerar varios numeros aleatórios. Isso é um ciclo infinito suponho por faltar-te indicar a variavel no Next

Poe assim:

For a = 1 to 100
...
Next a

n ha maneira + simples?

Eu acho essa maneira muito simples.  :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

n ha maneira + simples?

Eu acho essa maneira muito simples.  :P

Ya, mas ele tinha perguntado isso antes do cilco For ... lol

De resto só percebi a parte do Int, pk tipo ... no Next ter ou nao ter a variavel é igual ... e depois ... como é que no teu exemplo o "ciclo" nao se torna infinito, ou melhor ... explica o teu exemplo ... sff

Aqui tens...

Dim MyValue
Randomize   ' Initialize random-number generator.

MyValue = Int((6 * Rnd) + 1)   ' Generate random value between 1 and 6.

O que é que isto tem a ver com nºs randomizados de 1 a 100 ? :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isto já tá um bocado confuso...

De resto só percebi a parte do Int, pk tipo ... no Next ter ou nao ter a variavel é igual ... e depois ... como é que no teu exemplo o "ciclo" nao se torna infinito, ou melhor ... explica o teu exemplo ... sff

Qual exemplo ?

O que é que isto tem a ver com nºs randomizados de 1 a 100 ?

Não te pus o exemplo de como por a gerar numeros de 1 a 100, apenas pus a função que é usada para isso. Mas se queres o exemplo pra gerar os tais 100 numeros aí tens:

Randomize
For i = 0 To 100
    MsgBox (100 * Rnd)
Next

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
O que é que isto tem a ver com nºs randomizados de 1 a 100 ?

Não te pus o exemplo de como por a gerar numeros de 1 a 100, apenas pus a função que é usada para isso. Mas se queres o exemplo pra gerar os tais 100 numeros aí tens:

Randomize
For i = 0 To 100
    MsgBox (100 * Rnd)
Next

Mas para isso pode dar 200 ou até 2000 , pode mesmo dar 9900 que nao é de 1 a 100 ... creio que o 100*Rnd está aí a mais nao ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estranhamente, fui confirmar no VB6 e a tua soluçao está correcta ... nao percebo é o porquê do 100*Rnd

Tipo ... talvez por eu ter dito que dava sempre nºs do tipo 0,98321 que *100 dá 98,321 :P

Explain your Teory pLz

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

im confused :S tipo eu quero criar um jogo High-Low e tipo quero que o numero randomizado fique numa variavel :/ isso é possivel?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ya ... tipo

Dim a As Double // A Tua variavel será 'a' e será 'randomizada'
For a = 0 to 100 // Para a igual a zero até cem, ou seja de 0 a 100
MsgBox Rnd*100 // Rnd = Randomize, vai 'randomizar' de 0 a 100 (1 nº ao acaso entre 0 e 100)
Next

O *100 inda nao percebi 'CodeMente' o porquê de ter de pôr lá, mas logicamente já percebi ... é talvez por eu ter dito que dava sempre nºs do tipo 0,98321 que *100 dá 98,321

Espero ter-te ajudado

PS: Tens de perceber MimimaMente o ciclo FOR (eu só percebo minimamente mesmo lol)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

UnKnowN o *100 é para o que referiste. Com o Rnd() só gera valores entre 0 e 0,99(9) ...por isso acrescenta-se o "*N" em que N é igual ao valor máximo que pretendes gerar.

Mas para isso pode dar 200 ou até 2000 , pode mesmo dar 9900 que nao é de 1 a 100 ... creio que o 100*Rnd está aí a mais nao ?

Podes como é obvio gerar os numeros que bem entenderes...se queres até 200 fazes Rnd * 200 ...se for até 2000 fazes Rnd * 2000 ...tu escolhes

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ya ... tipo

Dim a As Double // A Tua variavel será 'a' e será 'randomizada'
For a = 0 to 100 // Para a igual a zero até cem, ou seja de 0 a 100
MsgBox Rnd*100 // Rnd = Randomize, vai 'randomizar' de 0 a 100 (1 nº ao acaso entre 0 e 100)
Next

O *100 inda nao percebi 'CodeMente' o porquê de ter de pôr lá, mas logicamente já percebi ... é talvez por eu ter dito que dava sempre nºs do tipo 0,98321 que *100 dá 98,321

Espero ter-te ajudado

PS: Tens de perceber MimimaMente o ciclo FOR (eu só percebo minimamente mesmo lol)

lol olha so para avisar que para comentar é um ( ' ) e não ( // ) as // é apenas no php xD

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

e tipo eu fiz print ao A i apareceu os numeros do 1 ao 100 :/ não randomizou

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Oi! Uma forma simples de randomizar é:

Faz um botao com este codigo

Private Sub Command1_Click()
Randomize
MsgBox (Int(100 * Rnd))
End Sub

Isto vai fazer aparecer uma mensagem com um numero aleatorio de 0 a 99 se quiseres de 1 a 100 tens de por

Private Sub Command1_Click()
Randomize
MsgBox (Int(10 * Rnd) + 1)
End Sub

E isto dá te so numeros inteiros, se quiseres tambem numeros com virgula tira o Int.

:P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Private Sub Command1_Click()

If Text1.Text > a Then

Label1.Caption = "Tenta um numero Menor!"

End If

If Text1.Text < a Then

Label1.Caption = "Tenta um numero Maior!"

End If

End Sub

Private Sub Command2_Click()

Dim a As Double

For a = 0 To 100

Next

End Sub

ate agora este assim :/ que posso fazer?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Entao no teu jogo sai um numero aleatorio e temos de adivinhar com varias tentativas??? é isso? Se for esquece o ciclo For.

Fazes um botao que sortei um numero inteiro como mostrei no post anterior e mantem o teu botao com os IF's nao te esqueças do If para o caso de acertar

:P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora