Patrocínio Natura
Controle do Programa no Visual Basic – Parte Final
Programação , Visual Basic / 19 de junho de 2009

O Aplicativo Banco Vamos usar o conhecimento recém-adquirido para escrever um programa que servirá de banco privado, contendo alguma informação diferente. Quando o usuário introduzir em uma caixa combinada os montantes de todos os cheques emitidos durante um certo período, o programa avisará ao usuário sobre o valor médio por cheque. Para encontrar essa média, o programa irá acumular todos os valores e dividi-los pela quantidade de cheques – uma tarefa perfeita para um laço Do While. Crie um novo projeto no Visual Basic. A interface do programa requer uma caixa combinada para armazenar o valor de todos os cheques, um botão de comando para calcular a média e um rótulo para exibir a média. Desenhe um form contendo esses objetos, configurando as suas propriedades de acordo com a Figura 6.13. O seu form deverá parecer-se com o mostrado na Figura 6.14. Agora, você deve modificar ligeiramente a caixa combinada. Normalmente, uma caixa combinada oferece uma lista de opções para o usuário. Neste caso, você irá usá-la para construir uma lista de entradas do usuário. Cada vez que o usuário introduzir um valor na parte de texto da caixa combinada, o programa adicionará o valor aos itens da parte de…

Controle do Programa no Visual Basic – Parte 2
Programação , Visual Basic / 17 de junho de 2009

O Aplicativo Caça-níqueis Para explorar um pouco mais a instrução If, vamos construir uma simulação de um caça-níqueis. Com o botão de comando fazendo o papel de uma alavanca, o programa Caça-níqueis exibirá três ícones aleatoriamente toda vez que o botão de comando for acionado. Caso os três ícones sejam iguais, o usuário vence. O programa manterá um registro das vitórias do jogador. Voltaremos a usar aqui os ícones Copas, Paus, Ouro e Espadas, encontrados, respectivamente, nos arquivos HEART.ICO, CLUB.ICO, DIAMOND.ICO e SPADE.ICO no diretório \PacoteVB\Icones\Misc do primeiro cd deste produto. O programa pegará aleatoriamente um desses ícones para cada uma das três janelas do visor. Cada jogada custará R$ 1, 00. Se os três ícones combinarem, o jogador ganhará R$ 10, 00. Se os três forem de Ouro, o jogador ganhará R$25,00. Pensando a Respeito Reveja com rigor todas as condições, quando estiver programando com instruções If. É preciso ser cuidadoso para não incluir acidentalmente opções inesperadas ou, inversamente, excluir condições que deveriam ser tratadas. Não seja precipitado em assumir que o seu primeiro impulso para escrever uma cláusula Else cubra somente as alternativas possíveis. A codificação escrita para identificar os Três Patetas, por exemplo, assume que, se Curly…

Controle do Programa no Visual Basic – Parte 1
Programação , Visual Basic / 15 de junho de 2009

Os pequenos programas que você escreveu são extremamente simples: executam instruções seqüenciais, realizam tarefas sem grandes desvios e, via de regra, são relativamente descomplicados. Este capítulo introduz conceitos que lhe ajudarão a ter um controle adicional sobre como um programa é executado, permitindo-lhe criar mecanismos que possam tratar de várias condições, repetidamente e com ampla variedade de dados. Fazendo Escolhas Os programas escritos nos capítulos anteriores eram formados exclusivamente por instruções e expressões, o equivalente a frases imperativas da língua portuguesa. Porém, ninguém, nem mesmo o mais exaltado ditador vitalício, pode passar a vida inteira apenas dando ordens. Na vida real, as pessoas precisam fazer escolhas. A ferramenta principal do Visual Basic para tratamento de escolhas é a instrução If. A Instrução If Suponhamos que você esteja ensinando a um amigo como obedecer aos sinais de tráfego. Em particular, o que deve ser feito quando se encontra um sinal de Atenção. Você pode explicar o sinal de Atenção da seguinte forma: “Reduza a velocidade para 20 Km/hora. Caso não venha ninguém, continue o seu caminho; do contrário, pare e deixe o carro passar”. Em Visual Basic, essas instruções poderiam ser transformadas em:

Mantendo um número serial único
Programação , Visual Basic / 1 de junho de 2009

Há situações em que você precisa de um campo a ser usado como identificador único e crescente para algum documento, porém sem deixar lacunas na numeração entre um documento e outro. No Access, campos de auto-numeração não são bons para isto, porque qualquer transação que adicione um registro, provoca o crescimento do campo em uma unidade, mesmo que a transação seja abortada. Se tiver uma tabela para conter o último número usado, você também terá que se preocupar em evitar que dois usuários peguem o mesmo número antes dele ser incrementado pela última rotina que o utilizou. A dica para resolver este problema é simples. A rotina que pega o número, deve realizar todas as suas ações no banco de dados dentro de uma transação. Antes de fechar a transação que usou o número, a tabela que o mantém é atualizada com uma instrução Update. Esta instrução adiciona 1 ao número apenas se ele ainda estiver com o mesmo valor que foi pego no início da transação, caso contrário, a transação é abortada e se reinicia pegando novamente o novo valor do número serial. Um exemplo deste esquema poderia ser como segue: Dim rs As ADODB.Recordset, cn As ADODB.Connection Dim…

Viva Sem Bloquear Registros
Programação , Visual Basic / 27 de maio de 2009

Num ambiente multi-usuários o programador tem sempre que se preocupar com o problema do uso simultâneo das mesmas informações por vários usuários. O que muitas vezes se faz é recorrer ao bloqueio de registros, que pode ser feito só no momento da alteração do registro ou tão logo o usuário o acesse para iniciar uma atualização. Se partirmos para a segunda forma de bloqueio, vamos segurar um registro bloqueado por quanto tempo? E se o usuário que o está bloqueando sair para almoçar ou tomar um café? Seja qual for a forma de bloqueio nenhuma delas é boa. O bloqueio otimista, que só se dá no momento da atualização, não nos impede de acessar um registro, exibir suas informações na tela e, baseado nestas informações, realizar uma alteração que pode estar em total discordância com o estado atual do registro no momento em que o atualizamos. Enquanto exibimos os dados, um outro usuário pode acessar o mesmo registro e fazer uma alteração que cria uma condição completamente nova na base de dados. Além de desconhecermos esta alteração (o que poderia nos fazer mudar de idéia a respeito da nossa atualização), também poderemos estar enviando dados antigos para a base de…