Jump to content

Duvida VB 6.0 - variaveis


Recommended Posts

  • Replies 66
  • Created
  • Last Reply

Top Posters In This Topic

  • vaurdan

    26

  • UnKnowN

    22

  • Tiago Salgado

    13

  • M@KO

    5

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

Link to post
Share on other 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

Link to post
Share on other 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)

Link to post
Share on other sites
Tiago Salgado

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

Link to post
Share on other 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 ? :)

Link to post
Share on other sites
Tiago Salgado

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

Link to post
Share on other 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 ?

Link to post
Share on other 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

Link to post
Share on other 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)

Link to post
Share on other sites
Tiago Salgado

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

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.