Boleta 1 #1 Postado 15 Dezembro, 2006 Olá exloradores do incrível muito OTServ Networks! Em mais uma aula sobre Visual Basic, hoje vou abordar dois assuntos muito legais e bastante úteis no Visual Basic: O uso de Types em posts, porém é sempre bom relembrar). Tudo bem, vamos começar. Os Types Como você já viu em aulas anteriores, objetos tem propriedades, funções e Sub-Rotinas, que são chamadas na sintaxe: 'Propriedades Objeto.Propriedade 'Funções Variavel = Objeto.Função 'SubRotinas Objeto.SubRotina Os Types são um pouco parecidos, porém não chamam funções nem subrotinas. Eles são usados apenas para receber e atribuir valores para o programador, em tempo de execução. Vamos entende-lo um pouco mais. Primeiramente, ele deve ser colocado em General Declarations, onde vocês já sabem onde fica (na parte superior dos códigos). Sintaxe: Private Type [referencia] [variavel] As [tipo] End Type Dim [nome] As [referencia] OMG Boleta, isso ai não é meio complicado não? Pelo contrário, é bem simples de se usar. Vamos enteder a sintaxe: [referencia] - É o indicador do Type. Todo Type precisa ser declarado após criado. Esta declaração atribui a estrutura do Type à uma variavel. Então ele é feito de referencia para a declaração. [nome] - É uma declaração de variavel, onde usaremos a referencia para captarmos a estrutura do type. [variavel] - Nome da variável usada para atribuição e captação de valores. Igual uma variavel normal. É equivalente a certa propriedade de certo objeto, por exemplo. [tipo] - Tipo de valor que a variável receberá. Você já conhece a maioria deles ;D. O tipo será atribuido para o tipo de valor que a variavel receberá. Esclareceu um pouco mais ainda ficou um pouco confuso né? Vamos entender de uma vez, com um exemplo prático. Abra um projeto, adicione um botão chamado Command1. No projeto, coloque o seguinte: Private Type Person Name As String Idade As Integer End Type Dim User As Person Private Sub Form_Load() User.Name = InputBox("Digite seu nome", "Nome") User.Idade = CInt(InputBox("Digite sua idade", "Idade")) End Sub Private Sub Command1_Click() MsgBox "Olá! Você se chama " & User.Name & " e tem " & User.Idade & " anos!" End Sub Execute o projeto e veja o que acontece. Viu como é legal? Entendendo o código... Note que em General Declarations, eu montei o type e declarei como User, fazendo referencia à Person, nome do type. Ele será usado em todo o formulário, e atribuirá e armazenará valores até que esteja ativo (formulario). No evento Load do formulário, atribuí valores às variaveis de User, já que declarei-o como type. Note que usamos a mesma sintaxe de um objeto. Já no botão, exibi os valores contido nas variaveis. Viu como foi simples? Você pode adicionar quantas variáveis quizer, e usar Arrays também (serão explicadas mais pra frente). PS: A função CInt será estudada mais pra frente, então não se preocupe com ela agora. A Cláusula Select Case Muito simples de usar, ela estabelece condições, como as clausulas If, porém foi criada para uma verificação maior de valores. Sua sintaxe é: Select Case [variavel] Case [valor] [codigos] Case [valor] [codigos] Case Else [codigos] End Select Essa foi mais simples. Vamos ver: [variavel] - É a variável que será verificada e que será submetida a condições, onde estas, verificam valores. [valor] - É o valor a ser submetido à verificação. Nele, verificamos se certo valor está presente na variável. [codigos] - Códigos a serem executados caso a condição seja verdadeira. Case Else - É executado, caso nenhuma case retorne um vlaor verdadeiro. End Select - Fecha a cláusula. Exemplo simples: Dim i As Long i = CInt(InputBox("Insira um número", "Numero")) Select Case i Case i <= 100 MsgBox "O valor de i é menor ou igual à 100" Case Else MsgBox "O valor de i é maior que 100" End Select Viu como foi fácil? Exercício Faça um programa qualquer usando os dois assunstos abordados hoje. ------------------------------------------ Espero que a aula tenha sido produtiva. Dúvidas? POSTE AQUI!! Abraços, //Bol~ Compartilhar este post Link para o post Compartilhar em outros sites
Boleta 1 #2 Postado 15 Dezembro, 2006 Olá exloradores do incrível muito OTServ Networks! Em mais uma aula sobre Visual Basic, hoje vou abordar dois assuntos muito legais e bastante úteis no Visual Basic: O uso de Types em posts, porém é sempre bom relembrar). Tudo bem, vamos começar. Os Types Como você já viu em aulas anteriores, objetos tem propriedades, funções e Sub-Rotinas, que são chamadas na sintaxe: 'Propriedades Objeto.Propriedade 'Funções Variavel = Objeto.Função 'SubRotinas Objeto.SubRotina Os Types são um pouco parecidos, porém não chamam funções nem subrotinas. Eles são usados apenas para receber e atribuir valores para o programador, em tempo de execução. Vamos entende-lo um pouco mais. Primeiramente, ele deve ser colocado em General Declarations, onde vocês já sabem onde fica (na parte superior dos códigos). Sintaxe: Private Type [referencia] [variavel] As [tipo] End Type Dim [nome] As [referencia] OMG Boleta, isso ai não é meio complicado não? Pelo contrário, é bem simples de se usar. Vamos enteder a sintaxe: [referencia] - É o indicador do Type. Todo Type precisa ser declarado após criado. Esta declaração atribui a estrutura do Type à uma variavel. Então ele é feito de referencia para a declaração. [nome] - É uma declaração de variavel, onde usaremos a referencia para captarmos a estrutura do type. [variavel] - Nome da variável usada para atribuição e captação de valores. Igual uma variavel normal. É equivalente a certa propriedade de certo objeto, por exemplo. [tipo] - Tipo de valor que a variável receberá. Você já conhece a maioria deles ;D. O tipo será atribuido para o tipo de valor que a variavel receberá. Esclareceu um pouco mais ainda ficou um pouco confuso né? Vamos entender de uma vez, com um exemplo prático. Abra um projeto, adicione um botão chamado Command1. No projeto, coloque o seguinte: Private Type Person Name As String Idade As Integer End Type Dim User As Person Private Sub Form_Load() User.Name = InputBox("Digite seu nome", "Nome") User.Idade = CInt(InputBox("Digite sua idade", "Idade")) End Sub Private Sub Command1_Click() MsgBox "Olá! Você se chama " & User.Name & " e tem " & User.Idade & " anos!" End Sub Execute o projeto e veja o que acontece. Viu como é legal? Entendendo o código... Note que em General Declarations, eu montei o type e declarei como User, fazendo referencia à Person, nome do type. Ele será usado em todo o formulário, e atribuirá e armazenará valores até que esteja ativo (formulario). No evento Load do formulário, atribuí valores às variaveis de User, já que declarei-o como type. Note que usamos a mesma sintaxe de um objeto. Já no botão, exibi os valores contido nas variaveis. Viu como foi simples? Você pode adicionar quantas variáveis quizer, e usar Arrays também (serão explicadas mais pra frente). PS: A função CInt será estudada mais pra frente, então não se preocupe com ela agora. A Cláusula Select Case Muito simples de usar, ela estabelece condições, como as clausulas If, porém foi criada para uma verificação maior de valores. Sua sintaxe é: Select Case [variavel] Case [valor] [codigos] Case [valor] [codigos] Case Else [codigos] End Select Essa foi mais simples. Vamos ver: [variavel] - É a variável que será verificada e que será submetida a condições, onde estas, verificam valores. [valor] - É o valor a ser submetido à verificação. Nele, verificamos se certo valor está presente na variável. [codigos] - Códigos a serem executados caso a condição seja verdadeira. Case Else - É executado, caso nenhuma case retorne um vlaor verdadeiro. End Select - Fecha a cláusula. Exemplo simples: Dim i As Long i = CInt(InputBox("Insira um número", "Numero")) Select Case i Case i <= 100 MsgBox "O valor de i é menor ou igual à 100" Case Else MsgBox "O valor de i é maior que 100" End Select Viu como foi fácil? Exercício Faça um programa qualquer usando os dois assunstos abordados hoje. ------------------------------------------ Espero que a aula tenha sido produtiva. Dúvidas? POSTE AQUI!! Abraços, //Bol~ Compartilhar este post Link para o post Compartilhar em outros sites
Vufusuf 1 #3 Postado 15 Dezembro, 2006 Boa boleta, só uma duvida quando eu coloco uma case, automaticamente aparece um Is (exemplo, escrevi aqui Case >= 30, apareseceu, Case Is >= 30) Ignoro isso? EDIT: Já axei o problema, não tinha declarado a variável no Case. Descobri que quando não á declaro tem que ter o Is EDIT2: Meu Exercicio (tava sem a minima criatividade lol) Private Type Member Posts As Integer End Type Dim Sobre As Member Private Sub Command1_Click() Sobre.Posts = InputBox("Digite a quantidade de posts que você tem", "Posts") Select Case Sobre.Posts Case Is < 30 Label1.Caption = "Você é apenas um viajante" Case Is >= 30 Label1.Caption = "Você já é um cidadão em nossa cidade" End Select End Sub OMG! Que code mais complexo e criativo, mereço um prêmio nobel hahaha Só uma duvida boleta, Como passaria essa clausula If para uma Select Case?: num = blabla If num > 30 and num < 50 then blablabla End If tentei assim: num = blabla Select Case num Case num > 30 And num < 50 blablabla End Select Mas não deu não sei porque Obrigada por mais uma aula, Vufusuf Compartilhar este post Link para o post Compartilhar em outros sites
Vufusuf 1 #4 Postado 15 Dezembro, 2006 Boa boleta, só uma duvida quando eu coloco uma case, automaticamente aparece um Is (exemplo, escrevi aqui Case >= 30, apareseceu, Case Is >= 30) Ignoro isso? EDIT: Já axei o problema, não tinha declarado a variável no Case. Descobri que quando não á declaro tem que ter o Is EDIT2: Meu Exercicio (tava sem a minima criatividade lol) Private Type Member Posts As Integer End Type Dim Sobre As Member Private Sub Command1_Click() Sobre.Posts = InputBox("Digite a quantidade de posts que você tem", "Posts") Select Case Sobre.Posts Case Is < 30 Label1.Caption = "Você é apenas um viajante" Case Is >= 30 Label1.Caption = "Você já é um cidadão em nossa cidade" End Select End Sub OMG! Que code mais complexo e criativo, mereço um prêmio nobel hahaha Só uma duvida boleta, Como passaria essa clausula If para uma Select Case?: num = blabla If num > 30 and num < 50 then blablabla End If tentei assim: num = blabla Select Case num Case num > 30 And num < 50 blablabla End Select Mas não deu não sei porque Obrigada por mais uma aula, Vufusuf Compartilhar este post Link para o post Compartilhar em outros sites
Boleta 1 #5 Postado 16 Dezembro, 2006 Hmm 2 coisas: blabla é uma variavel? Se não, você tem de declara-la. Além disso, terá de ter um valor integer, para armazenar numeros, de acordo com a condição ali que você tá tentando criar. Sobre o Is, eu não sabia dessa o0 Abraços, //Bol~ Compartilhar este post Link para o post Compartilhar em outros sites
Boleta 1 #6 Postado 16 Dezembro, 2006 Hmm 2 coisas: blabla é uma variavel? Se não, você tem de declara-la. Além disso, terá de ter um valor integer, para armazenar numeros, de acordo com a condição ali que você tá tentando criar. Sobre o Is, eu não sabia dessa o0 Abraços, //Bol~ Compartilhar este post Link para o post Compartilhar em outros sites
Vufusuf 1 #7 Postado 16 Dezembro, 2006 Sim, é uma variável, mas o blabla é só um exemplo, nao coloquei como integer nada, so pra saber mesmo O que queria fazer é assim, Se o valor for maior que 30 e menor que 50, então... Mas com select Case Tem como?? Valeu Compartilhar este post Link para o post Compartilhar em outros sites
Vufusuf 1 #8 Postado 16 Dezembro, 2006 Sim, é uma variável, mas o blabla é só um exemplo, nao coloquei como integer nada, so pra saber mesmo O que queria fazer é assim, Se o valor for maior que 30 e menor que 50, então... Mas com select Case Tem como?? Valeu Compartilhar este post Link para o post Compartilhar em outros sites
Boleta 1 #9 Postado 16 Dezembro, 2006 Tá certinho... Só acho que não precisa do Is ali não... Só se você não atribuir uma variável à cláusula. Abraços, //Bol~ Compartilhar este post Link para o post Compartilhar em outros sites
Boleta 1 #10 Postado 16 Dezembro, 2006 Tá certinho... Só acho que não precisa do Is ali não... Só se você não atribuir uma variável à cláusula. Abraços, //Bol~ Compartilhar este post Link para o post Compartilhar em outros sites
Johnnie Walker 0 #11 Postado 20 Dezembro, 2006 Boleta sempre arrasando no VB! Boleta é meu mestre em VB ^^" Boleta é Safado! Boleta~~ Hahaha, da próxima vez da um exerício mais legal Compartilhar este post Link para o post Compartilhar em outros sites
Johnnie Walker 0 #12 Postado 20 Dezembro, 2006 Boleta sempre arrasando no VB! Boleta é meu mestre em VB ^^" Boleta é Safado! Boleta~~ Hahaha, da próxima vez da um exerício mais legal Compartilhar este post Link para o post Compartilhar em outros sites
Jovial 2 #13 Postado 24 Dezembro, 2006 muito bom... fiz um programinha legal zuando uns amigos ehauehauehau Private Type Char nick As String lvl As Long End Type Dim User As Char Private Sub Command1_Click() On Error GoTo aff If User.nick = "soul mezert" Then MsgBox "Seu nick do seu char é " & User.nick & " Level: " & User.lvl & " Voçe se chama Paulo, sua mae se chama Rosangela e sua prima é d+", vbExclamation + vbOKOnly, "Informações" ElseIf User.nick = "Soul Mezert" Then MsgBox "Seu nick do seu char é " & User.nick & " Level: " & User.lvl & " Voçe se chama Paulo, sua mae se chama Rosangela e sua prima é d+", vbExclamation + vbOKOnly, "Informações" ElseIf User.nick = "Pi of Guardia" Then MsgBox "Seu nick do seu char é " & User.nick & " Level: " & User.lvl & " Voçe se chama Luis Henrique, sua mae se chama Elaine e sua irmã é d+", vbExclamation + vbOKOnly, "Informações" ElseIf User.nick = "pi of guardia" Then MsgBox "Seu nick do seu char é " & User.nick & " Level: " & User.lvl & " Voçe se chama Luis Henrique, sua mae se chama Elaine e sua irmã é d+", vbExclamation + vbOKOnly, "Informações" Else MsgBox "Seu nick do seu char é " & User.nick & " Level: " & User.lvl & " Não sei mais nada sobre voçe", vbExclamation + vbOKOnly, "Informações" End If Exit Sub aff: MsgBox "Essa merda deu pau", vbOKOnly + vbExclamation, "Aff deu pau" End Sub Private Sub Form_Load() On Error GoTo aff2 User.nick = InputBox("Digite seu nick", "Nick") User.lvl = CInt(InputBox("Digite seu level", "Level")) Exit Sub aff2: MsgBox "voçe nao pode deixar campos em branco", vbExclamation + vbOKOnly, "Erro" End Sub Professor boleta é melhor que meu professor de Biologia =P Compartilhar este post Link para o post Compartilhar em outros sites
Vufusuf 1 #14 Postado 24 Dezembro, 2006 Muito bom seu programinha Jovial! Ta aprendendo bem Mas da pra você trocar isso If User.nick = "soul mezert" Then MsgBox "Seu nick do seu char é " & User.nick & " Level: " & User.lvl & " Voçe se chama Paulo, sua mae se chama Rosangela e sua prima é d+", vbExclamation + vbOKOnly, "Informações" ElseIf User.nick = "Soul Mezert" Then MsgBox "Seu nick do seu char é " & User.nick & " Level: " & User.lvl & " Voçe se chama Paulo, sua mae se chama Rosangela e sua prima é d+", vbExclamation + vbOKOnly, "Informações" Por isso: If User.nick = "soul mezert" or User.nick = "Soul Mezert" Then MsgBox "Seu nick do seu char é " & User.nick & " Level: " & User.lvl & " Voçe se chama Paulo, sua mae se chama Rosangela e sua prima é d+", vbExclamation + vbOKOnly, "Informações" Ficou 2x menor o code, e teve o mesmo efeito. Quando você tem mais de uma condição para realizar o mesmo code na cláusura, você usa Or (ou). Lembrando que se vc usar And para interligar as condições, todas deverão ser verdadeiras para realizar o códio, e se você usar Or, se apenas uma das condições for verdadeiras o código já será rodado. Exemplo: If [condição1] And [condição2] ThenAi ambas condições deve ser True If [condição1] Or [condição2] ThenNesse caso qualquer uma das condições podem ser verdadeiras para a ação acontecera. São detalhes bobos que agente aprende com o tempo, eu mesmo todo dia tou aprendendo uma coisa. O conhecimento no mundo da programação não tem limite. Abraços, Vufusuf Compartilhar este post Link para o post Compartilhar em outros sites
Boleta 1 #15 Postado 26 Dezembro, 2006 Muito bem Jovial e Vufusuf! Estão de parabéns. Sobre a correeção do código ali, ficou excelente, porém, não excepcional, pois se a intenção do usuário é verificar se o cara digitou "Soul Mezert" independente das letras maiúsculas, ele não retornará "True" quando o cara digitar "Soul MEzert" não é? Em todo o caso, no Visual Basic temos uma função que converte tudo o que está em certa string em minúsculo. Vejamos um exemplo de como usar: Dim Variavel As String Variavel = InputBox("Digite seu nome", "Nome") If LCase(Variavel) = "soul mezert" Then Codigos End if Você também pode transformar a váriavel e retornar o valor à ela mesma: Dim Variavel As String Variavel = "LaLaLaLaLaLaLaLaLa" Variavel = LCase(Variavel) Enfim, como eu não havia ensinado, não há problema errar(na verdade, não há problema errar nunca), então que sirva de exemplo pros seus próximos códigos. Dúvidas? Não hesite em postar. Abraços, //Bol~ Compartilhar este post Link para o post Compartilhar em outros sites
Vufusuf 1 #16 Postado 26 Dezembro, 2006 Aprendi ontem em uma aula a usar as funções (LCase, Str, Val, UCase, Left...) Boleta, dava pra você incluir na proxima aula essas função, que é bem simples e facil. Compartilhar este post Link para o post Compartilhar em outros sites
viniciusfeijo 0 #17 Postado 30 Dezembro, 2006 Aew bele velho? seguinte, pq vc n posta apostilas de Vb.Net, eh o VB mais atualizado que tem, mas pra quem quiser usar o Vb.Net tem q baixar o programa de desenvolvimento de VB.net ou entao o Visual Studio que inclui o VB.net e muitas outras linguagens juntas para desenvolvimento... da uma pensada ai, flw xD Compartilhar este post Link para o post Compartilhar em outros sites
Vufusuf 1 #18 Postado 30 Dezembro, 2006 Cara, tem uma seção para VB.NET Aqui é apenas VB Compartilhar este post Link para o post Compartilhar em outros sites
sipmann 0 #19 Postado 14 Fevereiro, 2008 huasahuh vlw meus type n tavam funcionando e eu n sabia pq ASHUASHUASHUASHUASHU vlw descubri o erro ^^' Compartilhar este post Link para o post Compartilhar em outros sites