Dicas diversas

Dicas diversas

Dicas Visual Basic

 

Há coisas tão simples, mas tão simples, que de simples se tornam impossíveis de se achar no vasto mundo da internet. Aqui estão umas dicas nas quais gastei quase todos os meus neurônios e um pouco de dinheiro.


‘OPERAÇOES MATEMATICAS

Dim A As ValidationConstraints

 

        A = Val(FOGO.Text)

        FOGO.Text = A + 1

   'CARREGA A FOTO

    Esta Rotina carrega uma foto com o caminho especificado em um textbox ou label.

Private Sub carregafoto()

        Try

            Dim nomeImagem As String

            nomeImagem = textbox.Text

            picfoto.Image = Image.FromFile(nomeImagem)

        Catch ex As Exception

            MsgBox("NÃO FOI  POSSÍVEL CARREGAR A FOTO!")

        End Try

    End Sub

 

 

Transformar qualquer valor na moeda corrente

Dim dado as string

 

dado = text1.text


text1.text = format(dado,"CURRENCY")

 

 

O arquivo existe ou não

Se vc quiser saber se existe ou não um arquivo insira o código abaixo em qualquer lugar do seu prg.:

If Dir$("X:XXXXXXXXX.XXX") <> "" Then

'O arquivo existe
Else
'O arquivo não existe

End If

 

 

CRITÉRIOS DE BUSCA E OBTENÇÃO DE DADOS

Definida a string de conexão para obter dados da aplicação Office , no caso o arquivo mdb , vou utilizar os objetos : OleDbConnection, OleDbCommand e OleDbDataReader. (Não vou utilizar DataAdapter e DataSets pois vou apenas obter e exibir os dados)

Para obter os dados vou usar instruções SQL e como vamos acessar uma base de dados Access é bom que você tenha em mente que a sintaxe para instruções SQL para o Access não é 100% compatível com a do SQL Server.

O problema principal esta nas expressões de critério , onde você vai decidir qual dados deseja obter. Geralmente nestas expressões usamos a cláusula WHERE seguido das expressões com valores.

·         Então lembre-se que no Access valores para datas e horas devem ser envolvidos com sinal (#)

ð  Ex: SELECT nome FROM Clientes WHERE datapedido > #10/10/04#;

·         Valores não numéricos devem ser envolvidos por aspas simples (')

ð  Ex: SELECT Pedido FROM Clientes WHERE nome = ' " & txtNome.text & " ' ".

 

Limpar campos (caixa de texto) do formulário

 

Existe uma maneira bem simples e rápida de limpar todos os campos de um formulário de uma única vez. Para isso utiliza a seguinte sintaxe:

 Private Sub LIMPARCAMPOS()

 

 Dim i as integer


   For i=1 to Form1.Controls.Count-1


      If TypeOf me.Controls(i) Is TextBox then
'verifica são caixa de texto


          me.Controls(i).Text=""


      end if


  
Next i

 

End sub

REALIZAR A FUNÇÃO DA TECLA TAB POR ENTER

 

Esta Dica é para quem quer que a tecla enter funcione como um tab para mudar de campo.

- Mude a propriedade KeyPreview do formulário para true.


- Coloque o seguinte código no evento KeyDown do formulário.

 

        If e.KeyCode = Keys.Enter Then

            SendKeys.Send("{tab}")

        End If

 

 

‘ADICIONA OBJETOS EM TEMPO DE EXECUÇAO

Private Sub criaobjetos()

 

        'CRIA UM CONTROLE

        Dim MENU = New StatusBar()

        'CRIA SUBCONTROLES

        Dim ABRIR = New StatusBarPanel()

        Dim SALVAR = New StatusBarPanel()

        Dim NOVO = New StatusBarPanel()

        Dim HORA = New StatusBarPanel()

 

        'CONFIGURA OS SUBCONTROLES

        ABRIR.Text = "ABRIR"

        SALVAR.Text = "SALVAR"

        NOVO.Text = "NOVO"

        HORA.Text = TimeOfDay

 

        'ADICIONA O CONTROLE NO FORM

        Me.Controls.Add(MENU)

 

        'ADICIONA OS SUBCONTROLES NO CONTROLE

        MENU.Panels.Add(ABRIR)

        MENU.Panels.Add(SALVAR)

        MENU.Panels.Add(NOVO)

        MENU.Panels.Add(HORA)

 

        'TORNA VISIVEIS OS SUBCONTROLES

        MENU.ShowPanels = True

 

    End Sub

 

Alinhando controles no formulário

Para alinhar controles no formulário, basta incluir o seguinte código no procedimento que você desejar:

 

Para alinhar horizontalmente:

controle.Left = (Form.Width / 2) - (controle.Width / 2)

 

Para alinhar verticalmente:

controle.Top = (Form.Height / 2) - (controle.Height / 2)

 

Observações:

 

controle é o nome do controle que você deseja alinhar, e form é o nome do formulário onde está o controle.

 

Se o formulário que contém o controle, for redimensionável, então é bom que você coloque o código no procedimento Form_Resize. Assim, sempre que você modificar o tamanho do formulário, o controle será automaticamente centralizado.

 

 

­­­Ajustando os controles dentro do Formulário

 

Como já dito em uma dica enviada por não sei quem, podemos centralizar os controles no Form usando os procedimentos já citados. Você pode também, fazer com que o tamanho de seus controle fique proporcional ao tamanho do Formulário. É fácil, veja o tamanho e altura(Width e Height) do Form e do controle que vai utilizar. Veja a diferença entre eles, vamos supor que seja 600.

No evento Form_Resize(que ocorre qdo o tamanho da form é alterado), atualize a proporção:

frame1.width = form1.width - 600

frame1.height = form1.height - 600

 

Qdo vc maximizar a tela o controle se ajustará, e qdo alterar o tamanho também. Nesse evento vc também pode escrever os procedimentos p/ centralizar os controles como mandou um colega aí, e fazer várias outras coisas.

 

PASSAR VALORES ENTRE FORMULÁRIOS


TextBox3.Text = My.Forms.Form1.TextBox1.Text

 


FAZ O FORM ABRIR DEVAGAR OU FECHAR DEVAGAR

 

ABRIR

 

' ----- Faz o formulário desvanecer

        Dim contador As Integer

        For contador = 10 To 100 Step +1

            Me.Opacity = contador / 100

            Me.Refresh()

            Threading.Thread.Sleep(60)

        Next contador

FECHAR

 

        ' ----- Faz o formulário desvanecer

        Dim contador As Integer

        For contador = 90 To 10 Step -1

            Me.Opacity = contador / 100

            Me.Refresh()

            Threading.Thread.Sleep(60)

        Next contador

        Me.Close()

 

 

Não se esqueça de agradecer recomendando o Blog

 

Jacob Samuel