Boleta 1 #1 Postado 18 Novembro, 2006 Olá meu povo! Em mais uma aula sobre Visual Basic, hoje vou abordar um assunto muito importante para qualquer programador. O uso de Operadores. Eles variam de operadores matémáticos até comparações em condições de cláusulas ou adição de textos à outros textos. Vamos lá. Conceito: O que são Operadores Operadores são sinais ou expressões usadas para compararmos ou acrescentarmos algo. Veja logo asseguir: Operadores Aritiméticos: + : Operador de adição. Sua sintaxe é: Termo1 + Termo2 - : Operador de subtração. Sua sintaxe é: Termo1 - Termo2 * : Operador de multiplicação. Sua sintaxe é: Termo1 * Termo2 / : Operador de divisão (retorna casas decimais). Sua sintaxe é: Termo1 / Termo2 \ : Operador de divisão (não retorna casas decimais). Sua sintaxe é: Termo1 \ Termo2 Mod : Operador de Resto (retorna o resto de uma divisão). Sua sintaxe é: Termo1 Mod Termo2 ^ : Operador de Expoenciação. Sua Sintaxe é: Termo1 ^ Termo2 Operadores de Comparação: > : Maior que. Sua sintaxe é: If Termo1 > Termo2 Then < : Menor que. Sua sintaxe é: If Termo1 < Termo2 Then = : Igual. Sua sintaxe é: If Termo1 = Termo2 Then <> : Diferente de. Sua sintaxe é: If Termo1 <> Termo2 Then <= : Menor ou igual. Sua sintaxe é: If Termo1 <= Termo2 Then >= : Maior ou igual. Sua sintaxe é: If Termo1 >= Termo2 Then And : Acrescenta uma condição. O código é executado quando as duas condições forem verdadeiras. Sua sintaxe é: If Termo1 > Termo2 And Termo2 < Termo1 Then Or : Acrescenta uma condição. O código é executado quando uma das duas condições forem verdadeiras. Sua sintaxe é: If Termo1 > Termo2 Or Termo2 < Termo1 Then Xor : Este é um pouco mais complicado. Vou passar uma tabela Booleana para ficar mais fácil de entender. Primeiramente a sintaxe: If Termo1 > Termo2 Xor Termo2 < Termo1 Then False Xor True = True False Xor False = Flase True Xor False = True True Xor True = False Conclusão: O Xor retorna um valor Verdadeiro quando uma condição for Falsa e a outra Verdadeira, e vice versa. OBS: Pode-se usar loops ao invéz de Ifs Operadores de Concatenização de strings & : Acrescenta um valor ao texto. Sua sintaxe é: MsgBox Texto1 & Texto2Ao vermos os operadores de início, podemos nos confundir um pouco ou até ter má impressão em decora-los. Saiba que com o tempo você se acostuma com todos eles e que são de grande importancia numa aplicação. Exercício Faça uma calculadora completa. Coloque sistemas para somar, dividir, multiplicar, subtrair e expoenciar. Use variáveis sempre que possível. Evite ao máximo deixar erros no programa. Bom, espero que tenham gostado da aula. Ela foi bem trabalhosa :roll: Abraços, //Bol~ Compartilhar este post Link para o post Compartilhar em outros sites
-3C- 0 #2 Postado 18 Novembro, 2006 Oi,Haha..Sem palavras..PERFEITO!Muito bom mesmo cara..Tá de parabens!Abraços,-3C- Compartilhar este post Link para o post Compartilhar em outros sites
Boleta 1 #3 Postado 18 Novembro, 2006 Obrigado -3C- ! Obrigado mesmo! Fico muito feliz quando vejo que o que fiz foi bem feito. Ainda mais quando os outros gostam ^^. Essa foi a aula que mais me deu trabalho até agora. Então, tinha que sair bem feito né ;P Abraços, //Bol~ Compartilhar este post Link para o post Compartilhar em outros sites
Vasigap 0 #4 Postado 18 Novembro, 2006 aproveitando que o boleta tah ativao ae to com 1 duvida....na calculadora do exercicio eu to tentando faze ela + eu to com 1 duvida...eu criei 1 command button pra cada numero etc...só que como eu faço pra quando ele clicar o numero 1 seja adicionado 1 casa decimal ? pq exemploa pessoa clica 1 aparece 1 na tela....quando ela clicar 1 denovo vai aparecer 11 e quando clicar denovo vai aparecer 111 entendeu ?e se ela clicar 2 vai aparecer 1112 ?eu fiz + ou - assim :Private Sub Command1_Click()If Text1.Text = 0 ThenText1.Text = 1ElseText1.Text = Text1.Text + Text1.TextEnd IfEnd Subsó que os seguintes erros text1 vai ser sempre o text 1 + text 1...ou seja se fosse 11 no proximo vai ser 11+ 11 = 1111 e nao 111 entendeu ?espero respostas http://forum.otserv.com.br/style_emoticons/<#EMO_DIR#>/biggrin.gifbahhh sempre que eu posto dah 1 minuto eu descubro -.-que raiva....bom eu adicionei o Text1.Text = Text1.Text & 1vo tenta faze a calculadora qndo termina eu posto aki http://forum.otserv.com.br/style_emoticons/<#EMO_DIR#>/biggrin.gif Compartilhar este post Link para o post Compartilhar em outros sites
Boleta 1 #5 Postado 18 Novembro, 2006 Olá Vasigap! Sim, exatamente do geito que você colocou. De início, vou dar-lhe uma dica. Quando o usuário clicar em algum sinal matemático, apague o valor da tela e guarde-o em uma variável. Depois, execute o sinal juntando a variavel com o texto. Quando terminar, poste aqui ^^ abraços, //Bol~ Compartilhar este post Link para o post Compartilhar em outros sites
Vasigap 0 #6 Postado 18 Novembro, 2006 http://rapidshare.com/files/3854269/calcul...ladora.vbp.htmlBugs que eu descubri :divisao por 0 = debugmuitos numeros = overflowdividindo 9 por 3 dah 3...ae se vc apertar enter denovo ele volta pra 9..e axo que tem + alguns aeAgora cabe ao boleta me explicar o que eu fiz de errado,ou o que eu poderia ter cortado por ser desnecessario ou algumas coisas que poderiam ser simplificadas ...estaria muito agradecido http://forum.otserv.com.br/style_emoticons/<#EMO_DIR#>/biggrin.gifacompanhando todas tuas aulas comecei do 0 e agora jah sei o minimo to mto agradecido jah boleto...o suporte tbm e talz...te do nota 1000 vlwss Compartilhar este post Link para o post Compartilhar em outros sites
Boleta 1 #7 Postado 18 Novembro, 2006 Olá Vasigap! Os seus codes ficaram excelentes! Parabéns pelo trabalho! Sobre os erros, é o seguinte: Overflow -> O valor excede à capacidade da variavel. Tente usar do Tipo Long, para armazenar números maiores. Divisão por 0 -> Coloque um If para verificar os números do campo ;D Dividindo -> No botão de enter, mude o valor da variavel de novo. Tente armazenar o segundo valor também. Quando ele dividir por exemplo, torne o valor = campo. Qualquer dúvida, poste. Abraços, //Bol~ Compartilhar este post Link para o post Compartilhar em outros sites
Epaminondas 0 #8 Postado 18 Novembro, 2006 Originally posted by Boleta Olá Vasigap! Os seus codes ficaram excelentes! Parabéns pelo trabalho! Sobre os erros, é o seguinte: Overflow -> O valor excede à capacidade da variavel. Tente usar do Tipo Long, para armazenar números maiores. Divisão por 0 -> Coloque um If para verificar os números do campo ;D Dividindo -> No botão de enter, mude o valor da variavel de novo. Tente armazenar o segundo valor também. Quando ele dividir por exemplo, torne o valor = campo. Qualquer dúvida, poste. Abraços, //Bol~ Aproveitando que falaram da divisão por zero, já dou uma sugestão para você (Boleta) colocar na próxima aula, você poderia explicar o método de capturar erros (onError). Já daria uma ajuda aí pra galera que tá começando. http://forum.otserv.com.br/style_emoticons/<#EMO_DIR#>/biggrin.gif Ah, tá muito bom a aula mesmo, parabéns. ^^ Epaminondas Compartilhar este post Link para o post Compartilhar em outros sites
Boleta 1 #9 Postado 19 Novembro, 2006 Olá sinhô Epaminondas! Você leu meus pensamentos ^^! Meu plano para próxima aula é não só a depuração de erros, como também o loop For, um dos mais usados. Ainda não tive tempo de fazer, porém farei assim que sobrar meia horinah de meu tempo ^^. Abraços, //Bol~ Compartilhar este post Link para o post Compartilhar em outros sites
Axe 0 #10 Postado 19 Novembro, 2006 nao faço aminima ideia de ocmo começar uma calculadora x.x seiq tenho q por o text1..text sendo modificado e tals mais como adicionar o+ e etc? Compartilhar este post Link para o post Compartilhar em outros sites
Zero 0 #11 Postado 19 Novembro, 2006 Simples. Declare uma variável global para armazenar a opção escolhida pelo usuário(+, -, /, *, etc). Em cada um botão de opção de cáculo atribua o valor da opção à variavel exemplo: Private Sub cmdMais_Click() opcao = "+"End SubPrograme a entrada do segundo termo da expressão e no click do botão Resultado faça uma verificação da opção antes de calcular:Private Sub cmdResultado_Click() Select Case opcao Case "+" Resultado = Termo1 + Termo2 Case "-" Resultado = Termo1 - Termo2 '... End SelectEnd SubBom, isso é a base da lógica da opção de uma calculadora.Abraços! Compartilhar este post Link para o post Compartilhar em outros sites
Axe 0 #12 Postado 19 Novembro, 2006 ok vou tentar e depoiss posto aki xD qualquer coisa se der algum erro vo depender de vcs http://forum.otserv.com.br/style_emoticons/<#EMO_DIR#>/smile.gif e galera... postem mais aulas eu ja to na ultima e to amando aprender ^^ (tem coisas q vc uso por ex: o case e tals q n foi explicado nas aulas n eh?) e etc.. eu gostaria de saber se vcs sabem algum outro site pra eu ir aprendendo enquanto n postarem a aula 7 http://forum.otserv.com.br/style_emoticons/<#EMO_DIR#>/smile.gif Compartilhar este post Link para o post Compartilhar em outros sites
Zero 0 #13 Postado 19 Novembro, 2006 Bom, site com aulas de Visual Basic eu não sei.Mas um bom site com artigos interessantissimos é o Macoratti.net: http://www.macoratti.net/O Select Case é o seguinte:Você escolhe uma variável e usa os cases pra pegar o estado dela.A sintaxe é: Select Case [variavel] Case [estado1] [códigos] Case [estado2] [códigos] . . . Case [estadoN] [códigos] Case Else [códigos]End SelectPode ter quantos Cases você quiser, como mostra o esquema da sintaxe, e pode ter ou não um Case Else.Essa cláusula substitui o If em determinados códigos.Como eu mostrei o exemplo: Select Case opcao Case "+" Resultado = Termo1 + Termo2 Case "-" Resultado = Termo1 - Termo2 '... End SelectCom If ficaria:If opcao = "+" Then Resultado = Termo1 + Termo2ElseIf opcao = "-" Then Resultado = Termo1 - Termo2'...End IfO Select Case é melhor para visualizar o código e por isso melhor para fazer a manutenção!O Boleta está encarregado de fazer as aulas de Visual Basic, mas eu vou ficar com as de Visual Basic .net, então, os que quiserem aprender VB .net, e estão tendo que esperar um pouco, podem ir aprendendo VB com o Boleta, que 80% do que vocês estão aprendendo vão utilizar no VB .net!Abraços! Compartilhar este post Link para o post Compartilhar em outros sites
Convidado Bush #14 Postado 20 Novembro, 2006 Eu nao tenho a minima ideia de como começar isso...ja li e re-li...O que faço ?! Compartilhar este post Link para o post Compartilhar em outros sites
Boleta 1 #15 Postado 20 Novembro, 2006 Olá Bush! Tente olhar um por um e enteder o primeiro. Não adianta você ler tudo e não entender nenhum. Vamos ao primeiro: + -> Operador de adição. Sintaxe: Termo1 + Termo2Isso fará com que some o primeiro termo co o segundo. Um exemplo de uso disso é: Private Sub Form_Load()Dim Valor As IntegerValor = 7 + 9MsgBox ValorEnd SubAo executar o programa, ele retornará 16, pois irá somar o primeiro termo (7) com o segundo termo (9). Então, 7 + 9 = 16. Isso foi uma introdução. Tente reler o tópico novamente. Qualquer dúvida, poste. Abraços, //Bol~ Compartilhar este post Link para o post Compartilhar em outros sites
Convidado Bush #16 Postado 20 Novembro, 2006 Uma duvida que estou até agora , e quando e qual Private Sub xxxxxx()Eu vo plenamente no chute... tem como me explicar ..~Agradeço desde já. Compartilhar este post Link para o post Compartilhar em outros sites
Zero 0 #17 Postado 20 Novembro, 2006 Olá Bush, em programação existem rotinas que são bloco de códigos à serem executados sequencialmente pelo aplicativo. Em Visual Basic temos dois tipos de rotinas: Sub rotinas e Funções. A diferença entre elas não vem ao caso, pois do contrário ficará mais complicado o seu entendimento. Objeto, em programação "é tudo aquilo que se pode imaginar". Controles são os objetos visuais, como a janela, o botão, o campo de texto. Evento é a ação que se pode efetuar interagindo com os controles. Para programar um evento seguimos a sintaxe: Private Sub Controle_Evento()'códigosEnd Sub Por exemplo, se quisermos programar o evento Click do botão Command1, ficará assim: Private Sub Command1_Click()'CódigosEnd Sub Para saber quais são os eventos que um controle nos disponibiliza, nada melhor que o Object View, pressione F2 no compilador do Visual Basic e divirta-se! A grosso modo, é isso aí! Abraços! Compartilhar este post Link para o post Compartilhar em outros sites
Axe 0 #18 Postado 22 Novembro, 2006 kra descupa te encher mais eu axo q n vo aprender... mesmo com sua dica tentei fazer algo n sei se fis certo...Private Sub cmdMais_Click() opcao = "+"End SubPrivate Sub cmdMenos_Click() opcao = "-"End SubPrivate Sub cmdMultiplicar_Click() opcao = "*"End SubPrivate Sub cmdDividir_Click() opcao = "/"End SubPrivate Sub cmdResultado_Click() Select Case opcao Case "+" Resultado = Termo1 + Termo2 Case "-" Resultado = Termo1 - Termo2 Case "*" Resultado = Termo1 * Termo2 Case "/" Resultado = Termo1 / Termo2 Resultado = Termo1 Termo2 Resultado = Termo1 Mod Termo2 Case "^" Resultado = Termo1 ^ Termo2End SubPrivate Sub Command1_Click() If opcao = "+" Then Resultado = Termo1 + Termo2 ElseIf opcao = "-" Then Resultado = Termo1 - Termo2 End IfEnd Sub Compartilhar este post Link para o post Compartilhar em outros sites
Corel 0 #19 Postado 22 Novembro, 2006 Bem eu gostaria de saber , na Hora de eu abrir , eu gostario de saber o que colocar no formulario para colocar esses codigos ? ºEu Abro o CommandButton e coloco ? ºEu Abro o Label e coloco ? ºEu Abro o TextBox e coloco ? Alguem pode me explicar quando eu vo saber , qual desses coloca no formulario para colocar os codigos http://forum.otserv.com.br/style_emoticons/<#EMO_DIR#>/tongue.gif Obrigado Desde de Já. Começei com VB agora http://forum.otserv.com.br/style_emoticons/<#EMO_DIR#>/tongue.gif Compartilhar este post Link para o post Compartilhar em outros sites
Zero 0 #20 Postado 22 Novembro, 2006 Corel, clique com o botão direito no formulário e selecione o item "View Code". Axe, está quase tudo certo, só o Command1 que eu não entendi pra que você fez tendo o cmdResultado, além disso você fez confusão na divisão. E você esqueceu do End Select Você não pode ter 3 valores na mesma variável dessa forma, cada atribuição joga o valor antigo fora. Só não vi a atribuição ao termo 1 e ao termo 2, mas vamos fazer assim pra te facilitar: Tire todas as TextBoxs que tem no projeto e adicione 2, uma com nome de txtTermo1 outra com nome de txtTermo2. Agora onde está Termo1 no código altere para Val(txtTermo1.Text) e onde está Termo2 faça o mesmo, porém com a txtTermo2. Agora no fim do cmdResultado faça uma MsgBox para mostrar o resultado, ficando assim: Private Sub cmdResultado_Click()Select Case opcaoCase "+"Resultado = Val(txtTermo1.Text) + Val(txtTermo2.Text)Case "-"Resultado = Val(txtTermo1.Text) - Val(txtTermo2.Text)Case "*"Resultado = Val(txtTermo1.Text) * Val(txtTermo2.Text)Case "/"Resultado = Val(txtTermo1.Text) / Val(txtTermo2.Text)Case "^"Resultado = Val(txtTermo1.Text) ^ Val(txtTermo2.Text)End SelectMsgBox ResultadoEnd SubCertifique-se de que a variável Resultado já está declarada, caso contrário declare-a como Double!! Atenção: A variável opcao deve ser uma variável global! Isto é, deve ser declarada no inicio do módulo do formulário, na primeira linha caso não tenha outra variável e nenhum option! Abraços! Compartilhar este post Link para o post Compartilhar em outros sites