Arquivo para a categoria '::. VB.Net'

30
Set
09

Criando Tela de Atalho no Windows Form

Utilizando Visual Studio.NET 2005

Este artigo tem o objetivo de ajudar a você, desenvolvedor, a criar teclas de atalho como: F2, F4, F5 e outros utilizando o Visual Studio.NET 2005.

Requisitos:

  • Framework 2.0
  • Visual Studio.NET 2005;
  • Ter projeto criado do tipo Windows Forms;
  • Linguagem de Programação C#.NET

Na prática

Para início de conversa, imagino que você já tem um form MDI em sua aplicação.

1.1_ata

A referência 1.1 mostra claramente o form principal da solução MDI. Note que no menu há uma tecla de atalho como F12 (sair). Para cada item do menu colocarei uma tecla de atalho.

1.2_ata

O primeiro passo é: acesse as propriedades do formulário MDI e procure a properties chamada KEYPREVIEW.

Mude o valor de false para TRUE. Como mostrado na referência 1.2 ao lado.

Depois de colocado como true o evento KeyPreview, e continuando dentro das propriedades, clique no localizado no topo da mesma. Procure o item Key e o sub-item KeyDown. Depois de achado, clique duas vezes para que seja criado automaticamente o evento no formulário principal.

1.3_ata

Automaticamente foi criado um evento no código C#.NET do formulário.

private void FrmPrincipal_KeyDown(object sender, KeyEventArgs e)
{}

Agora, dentro deste método criado, programarei para que, ao clicar F2 ou qualquer outra tecla de atalho, o formulário específico seja chamado.

private void FrmPrincipal_KeyDown(object sender, KeyEventArgs e)
        {
            switch (e.KeyCode)
            {
                case Keys.F10:
                    notaFiscalToolStripMenuItem_Click(sender, e);
                    break;
                case Keys.F7:
                    clienteToolStripMenuItem1_Click(sender, e);
                    break;
                case Keys.F8:
                    contabilistaToolStripMenuItem_Click(sender, e);
                    break;
                case Keys.F9:
                    empresaToolStripMenuItem_Click(sender, e);
                    break;
                case Keys.F2:
                    gerarArquivoToolStripMenuItem_Click(sender, e);
                    break;
                case Keys.F3:
                    imprimirToolStripMenuItem_Click(sender, e);
                    break;
                case Keys.F4:
                    saldoISSToolStripMenuItem_Click(sender, e);
                    break;
                case Keys.F12:
                    sairToolStripMenuItem_Click(sender, e);
                    break;
            }
        }

 

Explicação:

Note que, no método, utilizei o comando switch(e.Keycode), dessa forma ele pega a tecla clicada pelo usuário.
Caso for F10, é chamado (notaFiscalToolStripMenuItem_Click(sender, e), que abre o formulário de nota fiscal.
O comando case Keys. : mostra várias teclas disponíveis para serem habilitadas como tecla de atalho.

1.4_ata

No menu, para mostrar a tecla de atalho especificamente como na figura de referência 1.7, basta editar o campo e digitar F7 ou o nome da tecla.

1.6_ata

via: imasters/mauriciojr

assinatura_blog

30
Set
09

Cache usando Visual Studio.NET 2005

Quero hoje mostrar na prática como utilizar “cache” em sistemas ASP.NET, ou seja, sistemas e sites WEB. Nos dias de hoje, com novas ferramentas e controles da ferramenta do Visual Studio.NET, o sistema do tipo WEB tem entrado mais no mercado com aceitação de clientes, tanto para intranet como para internet.

Problema

Com o uso popular da internet, a briga para carregar o site na tela o mais rápido possível a um custo baixo é prioridade, ou seja, mesmo que a conexão do usuário final seja lenta, o site deve aparecer em seu browser de uma forma rápida e eficaz. Nem todo usuário possui uma conexão banda larga em casa, com isso existe demora do carregamento do site ou sistema. Na demora excessiva da funcionalidade, a empresa poderá perder clientes e vendas, dependendo do estabelecimento.

Solução

O recurso no .NET chamado “cache” veio para tirar todo esse problema de lentidão no sistema ou site, para páginas que possuem os mesmos valores e não têm problemas para manter os dados em “cache”, não precisando ir ao banco de dados; essa solução é ideal e objetiva para o desenvolvedor. Pode melhorar consideravelmente toda página, principalmente as complicadas, que precisam ir ao banco de dados a todo o momento e mostrar ao usuário as informações do BD.

O “cache” pode ser feito de duas maneiras no ASP.NET:

  1. Com código dentro da página ASPX.CS ou ASPX.VB; ou
  2. Colocando uma tag no cabeçalho do arquivo ASPX.

Codificando

  • Primeira forma:

Ativando o “cache” em 10 segundos. (Referência c-1.1)

Note que criei um método chamado GetCache(). Ele não recebe nem envia valores e é protegido para aquela classe específica. Ele apenas pega o uso do “cache” no servidor, ou seja, se houver outro usuário no site ou sistema navegando, será detectado automaticamente e o sistema usará o mesmo “cache”, dados já exibidos para o próximo usuário que entrar, esse tempo é de 10 segundos. Com isso não precisará ir ao banco de dados.

Esses 10 segundos podem ser alterados para quantos segundos quiser. Geralmente não é bom colocar muito tempo, tente encontrar um tempo legal e ideal para seu sistema e site.

Depois de criar o método, basta apenas acrescentar dentro do método Load da página principal .ASPX. (Referência c-1.3)

protected void
GetCache()
 {
 //Uso do cache de saída do servidor
 Response.Cache.SetCacheability(HttpCacheability.Server);
 //Mostra que a página ficará ativa por 10 segundos
 //mantendo o cache
 Response.Cache.SetExpires(DateTime.Now.AddSeconds(10));
 }

Note que criei um método chamado GetCache(). Ele não recebe nem envia valores e é protegido para aquela classe específica. Ele apenas pega o uso do “cache” no servidor, ou seja, se houver outro usuário no site ou sistema navegando, será detectado automaticamente e o sistema usará o mesmo “cache”, dados já exibidos para o próximo usuário que entrar, esse tempo é de 10 segundos. Com isso não precisará ir ao banco de dados.

Esses 10 segundos podem ser alterados para quantos segundos quiser. Geralmente não é bom colocar muito tempo, tente encontrar um tempo legal e ideal para seu sistema e site.

Depois de criar o método, basta apenas acrescentar dentro do método Load da página principal .ASPX. (Referência c-1.3)

protected void Page_Load(object sender, EventArgs e)
{
 GetCache();
 if (!Page.IsPostBack)
 {
 preencheDataList();
 }
 }

O método foi acrescentado junto ao método Page_Load da página, o que resolve muito o problema de lentidão e carregamento das informações.

* Segunda forma:

A outra maneira de ativar o “cache” da página, ou seja, “cache” de saída, é alterar o cabeçalho da página específica (Referência c-1.4).

 <%@ OutputCache Duration="10" VaryByParam="None" %>

Referência: c-1.4

Exemplo na página (Refência c-1.5):

c-1.5

Os atributos e valores OutPutCache Duration e VaryByParam devem estar especificados corretamente na página.

OutPutCache Duration: significa quanto tempo a página será armazenada, esse tempo é medido em segundos;

VaryByParam: significa que quando houver um parâmetro a ser passado do tipo “query string”, o mesmo pode ser colocado no atributo. Dessa forma será feito “cache” da página mesmo que haja parâmetros que recebam ou não. No meu caso, não precisarei de parâmetro, coloquei “none”.
Dúvida

Qual das duas formas usar? É preciso testar. Os dois tipos funcionam corretamente para a função e desempenho. A minha opinião e preferência é usar a primeira opção mostrada, não gosto de mexer muito na página .ASPX, gosto mesmo de codificar em ambiente “code behing”; mas a outra forma também funciona corretamente.

Espero ter ajudado de alguma forma.

via: imasters mauricio jr

assinatura_blog

17
Set
09

Biblioteca: Visual Studio 2005 e 2008

Oi pessoal,

Bom dia!

Hoje minha passagem por aqui será breve devido a agenda cheia de compromissos (mas sempre acho uma brecha).

Mas deixo uma dica para vocês que estão começando a trabalhar com o VISUAL STUDIO 2005  e VISUAL STUDIO 2008.

Você pode ter inúmeras respostas através da biblioteca oficial da Microsoft/MSDN do Visual Studio.

Segue o LINK AQUI

;)

assinatura_blog

22
Jul
09

Declarando variáveis (vb.net)

Olá galera,

Declarar variáveis em um app vb.net é super simples e fácil.

Leia com atenção a dica abaixo.

No tópicos anteriores estávamos falando sobre variáveis e para que está começando costuma questionar “como declaro uma variável em vb.net?”

A forma mais simples de usar/declarar/dimensionar uma variável em vb.net é usar a palavra chave Dim (cujo significado é dimension).

Em seguida informe digitando o nome de sua variável.

Na sequência digite AS e informe o tipo de variável. Veja o exemplo abaixo:

Dim valor As Integer

Estamos apresentando ao app uma nova variável chamada valor. Esta variável  irá ocupar 4 bytes de memória e que poderá tratar (entender) valores numéricos na entre : -2.147.483.648 até 2.147.483.647

22
Jul
09

variáveis – parte 2 (.NET)

Olá galera,

Vamos a dica de hoje sobre variáveis.

Podemos criar três tipos básicos de variáveis no VB.NET:

  1. Variáveis simples -  usadas para guardar valores simples como números e strings (alfanuméricas)

  2. Variáveis complexas – usadas para guardar valores mais complexos , vetores , e tipos definidos pelo usuário

  3. Variáveis objeto – usadas para guardar variáveis objeto

Nos próximos tópicos vamos detalhar mais sobre este assunto de variáveis.

See you!! ;)

:: LUCIANA COSTA ::

22
Jul
09

Variáveis globais em VB .NET

Olá pessoal,

Com a Pandemia do Influenza AH1N1 (famosa e popular gripe suína) à solta… boas novas por aqui. O Instituto Butantan  em SP será responsável pela produção da vacina contra a tal gripe aqui no Brasil segundo nosso ministro da Saúde, José Gomes Temporão.

Já vi várias pessoas (na região central de SP) usando máscaras de proteção.  Portanto, fique atento! Procure uma UBS (posto de saúde) mais próximo diante de qualquer sintoma semelhante a gripe! Com saúde não se brinca! ;)

“Simbora” ao tópico de hoje… vamos falar um pouco mais sobre plataforma NET, em específico, sobre variáveis globais.

Um dica fácil, clara e breve é que em VB .NET para você declarar uma variável  como global a todo um projeto é necessário que crie primeiramente  um módulo onde colocar tais variáveis.

Esse módulo se cria através do menu projeto -agregar um módulo.

Uma vez criado você somente tem que declarar sua variável. Visualize e interprete este simples exemplo:

Module Module1
Public nome_variavel As Integer
End Module

Desta forma a variável será vista por todos os formulários e poderá operar com ela em qualquer formulário a qualquer momento do projeto.

::LUCIANA COSTA::

10
Fev
09

VB.Net-> Express Edition (limitações)

Olá Pessoal, 

Tudo bem?

Bom… estamos com mais um post sobre a plataforma Net. Em específico as versões disponíveis pela Microsoft:  EXPRESS EDITON

A Microsoft disponibiliza em seu site as versões Express (que  são versões gratuitas). Sendo ela gratuita você perceberá que a ferramanta terá alguns recursos limitados (por exemplo no Visual Studio 2005/2008).

Pois bem… sempre comunico em sala de aula que SOU 110% CONTRA A PIRATARIA e não recomendo a compra de alternativos (por milhares e ilhares de motivos), no entanto, a Microsoft nos libera  as versões Express que atendem totalmente às necessidades dos programadores  deixando muito pouco a desejar em relação a versão completa do Visual Studio( se comprdo com o que está disponível).

:)

Concordo que alguns dos recursos naõ estão disponíveis na versão Express, tais como:  ferramenta para criação de relatório como o Crystal Reports, solution folders, projetos de teste unitários…  

Outra diferença é que para cada linguagem existe uma ferramenta separada, assim como para web. Dessa forma, temos as seguintes ferramentas:

No site é possível fazer o download de uma imagem ISO com todas as ferramentas em um mesmo pacote (prepare tempo e banda- pois são quanse 3Gb se baixar tuuuuudo), para instalações offline.

-> Para seguir o link para Instalação Offline do Visual Studio Express Edition.

Também é necessário efetuar o registro de cada uma das ferramentas. A boa notícia é que o registro é gratuito.

;)

Agora cá entre nós tudo é negócio + lucro, imagine se uma empresa (seja ela qual for) ela produz softwares e lhe oferece um pacote full e gratuito… lhe pergunto: Qual motivo seria de sua existência? Qual a real razão de uma empresa existir? Se produz algo e espera-se naturalmente um retorno. 

:)

:: LUCIANA COSTA ::

04
Fev
09

Parte3: Como usar pipes nomeados para comunicação entre processos no Visual Basic .NET ou no Visual Basic 2005

Criar um cliente de pipe nomeado

Para criar um cliente de pipe nomeado que se comunica com o servidor, execute as seguintes etapas:

  1. Chame a função CreateFile para criar um identificador para o pipe nomeado.
  2. Chame a função ReadFile ou WriteFile para se comunicar através do pipe.
  3. Chame a função CloseHandle no identificador criado na função CreateFile.

Também é possível usar uma transação de pipe nomeado para a comunicação cliente/servidor. A transação de pipe nomeado combina uma operação de escrita e uma operação de leitura em uma única operação de rede. Uma transação pode ser usada apenas em um pipe duplex do tipo mensagem. Os processos podem usar a função TransactNamedPipe ou a função CallNamedPipe para executar transações de pipe nomeado.

Neste exemplo de código, você usa a função CallNamedPipe para conectar ao servidor de pipe nomeado, escrever os dados no pipe e ler os dados no pipe.

Projetar um aplicativo do Windows que se comunica com o servidor de pipe nomeado

Para projetar um aplicativo do Visual Basic .NET ou do Visual Basic 2005 Windows usado para conectar ao servidor de pipe nomeado, execute as seguintes etapas:

  1. Inicie o Microsoft Visual Studio .NET ou o Microsoft Visual Studio 2005.
  2. No menu File, aponte para New e clique em Project.
  3. Em Project Types, clique em Visual Basic Projects e clique em Windows Application em Templates.

    Observação No Visual Studio 2005, clique em Visual Basic em Project Types.

  4. Na caixa Name clique em MyClientApp e clique em OK. Por padrão, um formulário chamado Form1 é criado.
  5. Adicione um controle Button ao formulário Form1.
  6. Clique com o botão direito do mouse em Button1 e clique em Properties.
  7. Defina a propriedade Text como Connect to the server.
  8. Adicione um controle Label ao formulário Form1. O controle Label Label1 é adicionado ao formulário Form1.
  9. Defina a propriedade Visible do controle Label Label1 como False.
  10. Adicione dois controles TextBox ao formulário Form1.
  11. Escrever código para conectar ao servidor de pipe nomeado

    Conecte ao servidor de pipe nomeado usando a função CallNamedPipe. Depois de conectar ao servidor, a função CallNamedPipe escreve para o pipe, lê no pipe e fecha o pipe. Para conectar ao servidor, ler e escrever os dados, execute as seguintes etapas:

    1. Na exibição Design, clique duas vezes em Connect to the server e adicione o seguinte código ao procedimento Button1_Click:

      Dim i, res, cbRead,numBytes As Integer
      Dim bArray() As Byte
      Dim temp As String
      
      numBytes = CInt(TextBox1.Text)
      If numBytes < 0 Then
          MessageBox.Show("Value must be at least 0.", MsgBoxStyle.OKOnly)
          Exit Sub
      End If
      If numBytes = 0 Then
          Label1.Visible = True
          Label1.Text = "The connection to the server is disconnected."
          Button1.Visible = False
          TextBox1.Visible = False
          TextBox2.Visible = False
      End If
      If numBytes > BUFFSIZE Then
          numBytes = BUFFSIZE
      End If
      
      ReDim bArray(numBytes) 'Create the return buffer
      'Call the CallNamedPipe function to do the transactions
       res = CallNamedPipe(pipeName, numBytes, Len(numBytes), bArray(0), numBytes, cbRead, 30000)
      'Wait up to 30 seconds for a response
      'Format the data received, and then display the data in the text box
      If res > 0 Then
          temp = Format(bArray(0), " 000")
          For i = 1 To cbRead - 1
             If (i Mod 16) = 0 Then temp = temp & vbCrLf
                temp = temp & " " & Format(bArray(i), "000")
          Next i
          TextBox2.Text = temp
      Else
      MessageBox.Show("Error number " & Err.LastDllError & _
      "while trying to call the CallNamedPipe function.", MsgBoxStyle.OKOnly)
      End If

    2. Adicione o seguinte código antes do procedimento Button1_Click:

      Private Const pipeName As String = "\\.\pipe\MyPipe" Private Const BUFFSIZE As Integer = 10000 Private hpipe As Integer      Public Const INVALID_HANDLE_VALUE As Short = -1 Public Declare Function CallNamedPipe Lib "kernel32" Alias "CallNamedPipeA" _ (ByVal lpNamedPipeName As String, _ ByRef lpInBuffer As Integer, _ ByVal nInBufferSize As Integer, _ ByRef lpOutBuffer As Byte, _ ByVal nOutBufferSize As Integer, _ ByRef lpBytesRead As Integer, ByVal nTimeOut As Integer) As Integer

    3. No menu Build, clique em Build Solution.
    4. Verificar se o código funciona

      Para verificar se o código funciona, execute as seguintes etapas:

      1. Para iniciar o aplicativo do servidor, clique em Start no menu Debug do projeto MyServerApp.
      2. No formulário Form1, clique em Create a named pipe e em Wait for the client connections. Agora, o aplicativo está bloqueado e aguardando o cliente conectar.
      3. Para iniciar o aplicativo cliente, clique em Start no menu Debug do projeto MyClientApp.
      4. No formulário Form1, digite 10 na caixa TextBox1 e clique em Connect to the server. É possível ver a matriz de byte recebida na caixa TextBox2.
      5. Para desconectar o aplicativo cliente do servidor, digite 0 na caixa TextBox1 no aplicativo cliente e clique em Connect to the server.
      6. Feche o aplicativo cliente.
      7. Para desconectar a extremidade do servidor do pipe nomeado e fechar o aplicativo do servidor, clique em Disconnect the server no formulário Form1 do aplicativo do servidor.

fonte: microsoft

:: LUCIANA COSTA::

04
Fev
09

Parte2: Como usar pipes nomeados para comunicação entre processos no Visual Basic .NET ou no Visual Basic 2005

Criar um servidor de pipe nomeado

Para criar um servidor de pipe nomeado e se comunicar com o cliente através do pipe, execute as seguintes etapas:

  1. Crie um pipe nomeado.
  2. Chame a função ConnectNamedPipe para bloquear o servidor até que um cliente se conecte.
  3. Chame a função ReadFile ou WriteFile para se comunicar através do pipe.
  4. Chame a função DisconnectNamedPipe quando o processo terminar de usar o pipe.
  5. Chame a função CloseHandle no pipe nomeado.

 

Projetar um aplicativo do Windows que cria um servidor de pipe nomeado

Para projetar um aplicativo do Windows que cria um servidor de pipe nomeado usando o Visual Basic .NET ou Visual Basic 2005, execute as seguintes etapas:

  1. Inicie o Microsoft Visual Studio .NET ou o Microsoft Visual Studio 2005.
  2. No menu File, aponte para New e clique em Project.
  3. Em Project Types, clique em Visual Basic Projects e clique em Windows Application em Templates.

    Observação No Visual Studio 2005, clique em Visual Basic em Project Types.

  4. Na caixa Name, digite MyServerApp e clique em OK. Por padrão, um formulário chamado Form1 é criado.
  5. Adicione três controles Button ao formulário Form1.
  6. No menu View, clique em Properties Window.
  7. Defina a propriedade Text dos controles Button aos seguintes valores:
    Recolher esta tabelaExpandir esta tabela
    Name Text
    Button1 Crie um pipe nomeado
    Button2 Aguarde as conexões do cliente
    Button3 Desconecte o servidor
  8. Adicione um controle Label ao formulário Form1. O controle Label Label1 é adicionado ao formulário Form1.

Adicionar todas as declarações a um módulo no aplicativo do Windows

Para adicionar as declarações da função necessárias para implementar a comunicação entre processos usando o pipe nomeado, execute as seguintes etapas:

  1. No Solution Explorer, clique com o botão direito do mouse em MyServerApp, aponte para Add e clique em Add Module.
  2. Na caixa de diálogo Add New Item – MyServerApp, clique em Open.
  3. Adicione o seguinte código ao módulo Module1.vb:

    Public Const FILE_ATTRIBUTE_NORMAL As Short = &H80S
    Public Const FILE_FLAG_NO_BUFFERING As Integer = &H20000000
    Public Const FILE_FLAG_WRITE_THROUGH As Integer = &H80000000
    
    Public Const PIPE_ACCESS_DUPLEX As Short = &H3S
    Public Const PIPE_READMODE_MESSAGE As Short = &H2S
    Public Const PIPE_TYPE_MESSAGE As Short = &H4S
    Public Const PIPE_WAIT As Short = &H0S
    
    Public Const INVALID_HANDLE_VALUE As Short = -1
    
    Declare Function CreateNamedPipe Lib "kernel32" Alias "CreateNamedPipeA" _
    (ByVal lpName As String, ByVal dwOpenMode As Integer, _
    ByVal dwPipeMode As Integer, ByVal nMaxInstances As Integer, _
    ByVal nOutBufferSize As Integer, ByVal nInBufferSize As Integer, _
    ByVal nDefaultTimeOut As Integer, ByVal lpSecurityAttributes As IntPtr _
    ) As Integer
    
    Declare Function ConnectNamedPipe Lib "kernel32" _
        (ByVal hNamedPipe As Integer, ByVal lpOverlapped As Integer) As Integer
    
    Declare Function DisconnectNamedPipe Lib "kernel32" _
        (ByVal hNamedPipe As Integer) As Integer
    
    Declare Function WriteFile Lib "kernel32" _
    (ByVal hFile As Integer, ByRef lpBuffer() As Byte, _
    ByVal nNumberOfBytesToWrite As Integer, ByRef lpNumberOfBytesWritten As Integer, _
    ByVal lpOverlapped As Integer _
    ) As Integer
    
    Declare Function ReadFile Lib "kernel32" _
    (ByVal hFile As Integer, ByRef lpBuffer As Integer, _
    ByVal nNumberOfBytesToRead As Integer, ByRef lpNumberOfBytesRead As Integer, _
    ByVal lpOverlapped As Integer _
    ) As Integer
    
    Declare Function FlushFileBuffers Lib "kernel32" _
        (ByVal hFile As Integer) As Integer
    
    Declare Function CloseHandle Lib "kernel32" _
        (ByVal hObject As Integer) As Integer

Escrever código para criar um servidor de pipe nomeado

Após a criação de um pipe nomeado, aguarde as conexões do cliente. Quando o cliente conecta ao servidor, leia ou escreva as dados através do pipe. Para fazer isto, execute as seguintes etapas:
  1. No Solution Explorer, clique com o botão direito do mouse em Form1 e clique em Open.
  2. Na exibição Design do formulário Form1, clique duas vezes em Create a named pipe e adicione o seguinte código ao procedimento Button1_Click:
    Dim openMode, pipeMode As Integer
    'Create the named pipe
    openMode = PIPE_ACCESS_DUPLEX Or FILE_FLAG_WRITE_THROUGH
    pipeMode = PIPE_WAIT Or PIPE_TYPE_MESSAGE Or PIPE_READMODE_MESSAGE
    hPipe = CreateNamedPipe(pipeName, openMode, pipeMode, 10, 10000, 2000, 10000, IntPtr.Zero)
    Label1.Text = "Created the named pipe and waiting for the clients."
    Button1.Visible = False
    Button2.Visible = True
    Button3.Visible = True

  3. Adicione o seguinte código antes do procedimento Button1_Click:

    Private Const pipeName As String = "\\.\pipe\MyPipe"
    Private Const BUFFSIZE As Short = 10000
    Private Buffer(BUFFSIZE) As Byte
    Private hPipe As Integer

  4. No Solution Explorer, clique duas vezes em Form1.vb.
  5. Na exibição Design do formulário Form1, clique duas vezes em Wait for the client connections e adicione o seguinte código ao procedimento Button2_Click:

    Dim byteCount, i, res, cbnCount As Integer
    For i = 0 To BUFFSIZE - 1 'Fill an array of numbers
       Buffer(i) = i Mod 256
    Next i
    'Wait for a connection, block until a client connects
    Label1.Text = "Waiting for client connections"
    Me.Refresh()
    Do
       res = ConnectNamedPipe(hPipe, 0)
       'Read the data sent by the client over the pipe
       cbnCount = 4
       res = ReadFile(hPipe, byteCount, Len(byteCount), cbnCount, 0)
       If byteCount > BUFFSIZE Then 'Client requested for byteCount bytes
           byteCount = BUFFSIZE 'but only send up to 20000 bytes
       End If
       'Write the number of bytes requested by the client
       res = WriteFile(hPipe, Buffer, byteCount, cbnCount, 0)
       res = FlushFileBuffers(hPipe)
       'Disconnect the named pipe.
       res = DisconnectNamedPipe(hPipe)
       'Loop until the client makes no more requests for data.
    Loop Until byteCount = 0
    Label1.Text = "Read or Write completed"
    Button2.Visible = False

  6. Na exibição Design, clique duas vezes em Form1 e adicione o seguinte código ao procedimento Form1_Load:

    Button2.Visible = False
    Button3.Visible = False

  7. No Solution Explorer, clique duas vezes em Form1.vb.
  8. Na exibição Design do formulário Form1, clique duas vezes em Disconnect the server e adicione o seguinte código ao procedimento Button3_Click:
    Dim res As Integer 'Close the pipe handle when the client makes no requests CloseHandle(hPipe) Label1.Text = "Disconnected the named pipe"
  9. No menu Build, clique em Build Solution.

Acompanhe a continuação da matéria no próximo post.

::LUCIANA COSTA ::

04
Fev
09

Parte1: Como usar pipes nomeados para comunicação entre processos no Visual Basic .NET ou no Visual Basic 2005

Esse artigo discute detalhadamente como usar pipes nomeados no Microsoft Visual Basic .NET ou no Microsoft Visual Basic 2005 para comunicação entre processos. Esse artigo inclui um exemplo de código que demonstra a comunicação cliente/servidor usando um pipe nomeado no Visual Basic .NET ou no Visual Basic 2005. O artigo descreve a comunicação entre processos criando um servidor de pipe nomeado e um cliente de pipe nomeado. A comunicação através do pipe é executada da seguinte maneira:
  • Crie um pipe nomeado.
  • Bloqueie o aplicativo do servidor usando a função ConnectNamedPipe até que um cliente se conecte.
  • Conecte ao servidor usando a função CallNamedPipe.
  • Chame a função ReadFile ou WriteFile para se comunicar através do pipe.
  • Chame a função DisconnectNamedPipe quando o processo terminar de usar o pipe.
  • Chame a função CloseHandle no pipe nomeado após o término da comunicação através do pipe.

Um pipe nomeado é um pipe unidirecional ou duplex para comunicação entre um servidor de pipe e um ou mais clientes de pipe. É possível usar pipes nomeados para fornecer comunicação entre processos no mesmo computador ou entre processos em diferentes computadores através de uma rede. O termo “servidor de pipe nomeado” refere-se a um processo que cria um pipe nomeado e o termo “cliente de pipe nomeado” refere-se a um processo que se conecta a uma instância de um pipe nomeado.

É possível usar o Microsoft Visual Basic .NET ou Microsoft Visual Basic 2005 para criar aplicativos que se comunicam com outros processos usando pipes nomeados. Esse artigo contém um exemplo de código que usa um pipe nomeado para se comunicar entre dois aplicativos do Visual Basic .NET ou Visual Basic 2005 Windows.

Requisitos

Este artigo presume que você esteja familiarizado com os seguintes tópicos:

  • Aplicativos do Windows
  • Programação do Visual Basic .NET
  • Utilização de pipes

A seguinte lista descreve a infra-estrutura de rede, software, hardware e os service packs recomendados:

  • Microsoft Visual Studio .NET ou Microsoft Visual Studio 2005
  • Microsoft .NET Framework
fonte: microsoft

Veja mais no próximo post (parte 2).

:: LUCIANA COSTA ::

03
Fev
09

VB.Net Básico: Estruturas (FOR/NEXT)

Olá dando presseguimento as estruturas falaremos um pouco sobre a estrutura FOR:

Sintaxe:

FOR Variável_de_controle = Valor_Inicial to falor_Final
 Instruções
Next

 

As Estruturas de Repetição, são conhecidas normalmente por Loop (em portugues – laços) .

As ER´s permitem  que um mesmo  trecho do código seja  executado  várias vezes.

No caso da estrutura FOR (considerado o mais simples de todos)  apenas o utilizamos quando de antemão sabemos  o número de vezes  que o trecho do código  precisa ser executado.

Exemplo :

For i = 0 to 520

 

:: LUCIANA COSTA ::

03
Fev
09

VB.Net Básico: Estruturas (IF/THEN)

Olá,

Tudo bem? Aproveitando o horário (meio tarde) de almoço e como as coisas andam punk aqui na empresa… sabe como é fechamento de mês… um corre-corre danado! Parametrizações,  reuniões, fechamentos, relatórios (inúmeros!), gráficos e etc etc etc.

O mundo BUSINESS! Mas confesso que este ritmo é bacana !!!

:)

Dentro desta brecha de tempo optei por colocar um assunto de VB.NET na qual faz parte do cotidiano de qualquier profissional da área de desenvolvimento de apps: a Estrutura IF/Then.

Inclusive coincide com duas turmas que estou ministrando no período. Portanto, turmas de programação… segue o reforço por aqui. Antena ligada!!!!!!!!!

:)

Dentro do VB.NET BÁSICO falamos normalmente sobre as estruturas (laços). Vamos conhecer um pouco de cada uma delas:

IF/THEN

É utilizada para avaliar uma expressão lógica e com base no resultado obtido (verdadeiro ou falso) o programa deve executar ou não uma determinada ação.

 If <expressão> Then 
   <instrução> 
End If 
EXEMPLO 1 :
 If dblSaldoContaCC < 0 Then
MsgBox (“Não há saldo disponível na conta corrente”)
End If
EXEMPLO 2:
If dblSaldoContaCC < 0 Then    MsgBox (“Não há saldo disponível na conta corrente”) Else    dblSaldoContaCC = dblSaldoContaCC - dblValorDebitoCC End If
Por enquanto ficamos por aqui... espero tê-los apoiado de alguma forma.
:: LUCIANA COSTA::
27
Jan
09

Em algum fórum na net…

Olá Pessoal,

Aproveitando o breve intervalo da tarde… e passeando por alguns foruns que participo assiduamente… deparei com uma pergunta:

Então VB.NET ñ tem nada a ver pra desenvolvimento em Internet não ? .NET é apenas assim, um nome de uma nova versão ? mellow.gif

Opssssss!!! Não é nada disto! No próprio post um profissional respondeu (antes do meu post ) hehe

A Resposta:
Bom dia a todos.

Mas é claro que o VB.NET tem tudo a ver com desenvolvimento para internet. Inicialmente quando o Visual Basic foi lançado, era tão somente para aplicações desktops indo até a sua versão 6, e não era orientada a objetos, somente aplicações orientadas a Eventos, como disse o nosso amigo.

Com o uso frequente da Internet, a Microsoft adapta um linguagem de script que utiliza alguns códigos do VB para Internet, chamada de VBScript, linguagens estas que são incorporadas as Tags HTML, este conceito foi aprimorado para linguagem ASP (Active Server Pages), só que estas últimas linguagens não dispunha de Interface gráfica, tal qual o VB original dispunha, ou seja, voce arrastar componentes para dentro do Form e já ter todo o código pré-inicial definido, onde posteriormente programava-se os novos eventos e os novos recursos da sua aplicação, em suma, o VBScript, o ASP e o VB passaram a ser linguagens distintas.

O VB.Net, já incorpora um interface gráfica onde o código fonte pré-definido já o ASP com alguns códigos em HTML.

Já as novas versões a partir do Visual Studio 2005, dizem as más línguas, que já é totalmente orientada a objetos, tanto voltada para aplicações desktop, quanto para aplicações de Internet.

Porque voce disse que as más línguas ? Simples, porque eu não programo mais em VB desde 1999, onde programava na versão 6, e posteriormente em 2000 passei a programar em ASP, e depois passei para Delphi, e foi ai que abandonei o VB de vez. Motivo, o Delphi já era orientado o Objetos desde aquela época.

Viu como a Plataforma Net é ampla… e isto é só o começo!
Nos falamos por aqui.
See You!
onde? fórum imasters
:: LUCIANA COSTA ::
27
Jan
09

Visual Basic.Net – conceito

Não sou muito adepta da enciclopédia livre: wiki. Como para algumas regras existem as exceções, neste assunto (sobre o VB.Net) traduz de forma clara e verídica o conceito de Visual Basic.Net.

Para você que está acompanhando este blog a pouco tempo, olhe as categorias aí ao lado (esquerdo) e temos duas delas destinadas a tal assunto (categorias: Tudo.Bet e Vb.Net). Faça sua visita nestas “catigurias” e leias outros assuntos e dicas correlatos.

Visual Basic.NET é uma linguagem de programação totalmente orientada a objetos e com suporte total a UML, criada pela Microsoft e distribuída com o Visual Studio .NET (Versão seguinte ao Visual Basic 6.0), embora hoje já haja o Visual Basic 2008.

O Visual Basic.NET é um produto extremamente diferente do antigo Visual Basic 6.0, não podendo ser considerada uma versão seguinte. Não apenas a maneira de programar foi alterada, mas todo conceito de orientação a objetos trouxe poder para a linguagem. A Microsoft simplesmente descontinuou o antigo Visual Basic 6.0 tornando o produto parecido com as demais linguagens do Visual Studio, parecido em questões de recursos e portabilidade pois o Visual Basic.NET ainda é muito diferentes de liguagens como o Visual C++, C#, etc. Porém esta nova versão aproximou o Visual Basic.NET das grandes linguagens de programação, aumentando a aceitação dos programadores Java e até mesmo C++, embora programadores Java caso tenham que migrar para plataforma Microsoft preferem o C#. Apesar da linguagem ser parecida com o antigo Visual Basic 6.0 a migração destes programadores para a nova plataforma e utilização do Visual Basic.NET é mais fácil para programadores que utilizam linguagens orientada a objeto por causa da grande diferença. Os programadores do antigo Visual Basic 6.0 acostumados com a orientação a eventos encontram dificuldades para utilizar o Visual Basic.NET.

Bom… caso você tenha algum cometário ou dúvida deixe seu post por aqui (logo abaixo deste artigo).

Abraços

::LUCIANA COSTA::

27
Jan
09

Dica: VB.Net (Básico)

Olá Pessoal,

Neste breve post  estarei comentando sobre os 4 elementos fundamentais da OOP (programação orientada a objetos).

Uma das ferramentas que trabalho é justamente o Visual Studio 2005/2008 da Microsoft (poderosa ferramenta!)  e quando o assunto é OOP, vale apnea lembrar de tais elementos. Mesmo porque é comum profissionais e alunos perguntarem a diferença ou relação entre objeto, método, propriedades e eventos.

A tempo, informo que, esta pergunta chegou esta semana (por e-mail de um leitor que nos acompanha por aqui), e embora pareça ser um assunto básico/simples para um resposta, sempre chego à plena conclusão que uma resposta objetiva, simples não passaria seu real conceito e deixaria muito a desejar, pois o que está nas entrelinhas da pergunta é um tanto complexo que apenas definir o sentido de cada termo. Com este raciocínio me fez analisar (compor) a seguinte pergunta:

“Qual a relação que existe entre objeto, eventos, métodos e propriedades dentro do mundo gerenciado na plataforma. NET?”

As respostas para ambas são essencialmente a mesma, porem com a segunda terei a oportunidade de explorar mais algumas características que devem ser fixadas para os desenvolvedores que desejam se aprofundar na plataforma. NET.

Antes de responder a pergunta vamos ao contexto que ela deve ser respondida:

Os sistemas inicialmente estavam voltados para aplicações desktop, mono tarefas com ou sem interfaces gráficas. Foram evoluindo para suporte a cliente/servidor, aplicações distribuídas e internet. Esta evolução veio da necessidade por parte do cliente de ter mais informações e cada vez mais complexa. Os modelos utilizados até então se baseavam em APIs do windows que se mostravam cada vez mais inadequadas a medida que as complexidades aumentavam. Juntou-se a este contexto uma diversidade maior de devices Ex : Palms (computadores de mão), Celulares (smartphones), tables, etc.

Para atender a esta demanda não bastava uma nova versão de linguagem mas toda uma nova plataforma de desenvolvimento, toda uma nova organização das chamadas ao sistema operacional buscando uma aderência maior com uma forma de programação que absorvesse estas complexidades. A resposta por parte da Microsoft a esta necessidade foi o Framework.NET que tem como base a orientação a objetos que incorporou diversos serviços que antes fornecidos pelas linguagens. Para dar suporte a este novo modelo que passou a ser chamado de ambiente gerenciado foi criado o CRL (Commom Language Runtime) que tem como objetivo simplificar o processo de implementação de objetos para qualquer tipo de linguagem desta plataforma. Para atender a esta característica (atender a várias linguagens de forma unificada) a base dos tipos de dados do framework foi modelada totalmente orientada a objetos para que diferentes linguagens possam se falar e fazer uso da uma única biblioteca de tipos a CTS (Commom Type System).

Dentro deste contexto vamos a resposta:

Objeto: É o menor elemento de abstração que temos dentro do ambiente gerenciado .NET, sendo qualquer tipo de dados derivado deste item, ou seja , tudo é objeto. A medida que especializamos um objeto ele adquire mais características possuindo mais detalhes, a estes conjuntos de características damos os nome de: eventos, métodos e propriedades, que fundamentalmente são a forma que um objeto irá interagir e se comportar. A este conjunto de comportamentos e interação damos o nome de classe.

Métodos: Para que um objeto possa interagir deve possuir meios para que possa descrever como uma determinada operação ou característica deve ou possa ser executada (Ex: ler, gravar…), se vai ou não receber parâmetros, se retorna algum valor ou não, etc. A esta característica dar-se o nome de método de um objeto.

Propriedades: É na realidade um método especializado (descreve uma característica de um objeto). A principal diferença para um método é que em uma propriedade os valores e possíveis retornos estão disponíveis de forma direta, ou seja, podem receber ou enviar seu conteúdo com atribuições de igualdade de forma direta (claro quando é definido desta forma, pois podemos ter propriedades só de leitura e só de gravação).

Eventos: Também em sua essência é um método especializado (descreve uma ação que será disparada de acordo com alguma regra que seja atendida) Exemplo de uma especificação fictícia: “a cada ação de execução de um método “Gravar” deve-se dispara um evento de nome “AlteracaoDeDados” que terá como parâmetro o numero de registro que foram alterados. Ou seja evento é um método que tem como característica principal notificar alguma ação a um meio externo ao objeto.

Pois é! O conceitos da Plataforma Net não param por aqui! A coisa é bem maior do que aparentemente apresenta.  Teremos mais dicas como esta sobre o UNIVERSO .NET.

onde: linhadecódigo

Até o próximo post.

See you!

:: LUCIANA COSTA ::

 

08
Jan
09

Finalização inesperada do Visual Studio 2003

Olá…

Tudo bem?

Hoje foi dia de elogios quanto ao cenário profissional… e fico EXTREMAMENTE grata pelo reconhecimento e confiança em meu trabaho e experiência.

Vamos ao tema deste post:

Não somente um problema que acontecia comigo… mas com muitos. Vale a pena comartilhar tal texto com vocês… que assim como eu são fascinados pelo universo .Net.

1. Introdução

Nos últimos dias enfrentei um problema que me deixou um tanto quanto surpreso: a finalização inesperada do Visual Studio 2003. Foram vários dias de testes, pesquisas e muita “dor de cabeça”, até que a solução fosse encontrada. Neste artigo mostrarei a solução utilizada para resolver o problema.

2. Descrevendo o problema

A finalização inesperada do Visual Studio 2003 ocorria no ato da compilação / execução de uma determinada solução em um ambiente controlado onde o ambiente de desenvolvimento não estava atualizado com os pacotes disponibilizados pela Microsoft.

O ambiente apresentava o seguinte cenário:

Microsoft Windows XP

  • Professional v2002
  • Service Pack 2

Microsoft Visual Studio .NET 2003

  • Microsoft Development Environment 2003 v7.1.6030
  • Microsoft .NET Framework 1.1 v1.1.4322
  • Microsoft Visual Studio .NET 2003 Service Pack 1

Microsoft Enterprise Library January 2005

O problema relatado anteriormente ocorria varias vezes ao dia e gerava os seguintes arquivos de log:

img1

Este arquivo de log aponta um erro ao Enterprise Libray Instrumentation.

img2

Já este arquivo de log aponta um erro ao Microsoft Development Environment mencionando o arquivo csproj.dll.

3. Descrevendo a solução

Quanto ao erro do Enterprise Libray Instrumentation, encontrei no site Channel9 Wiki (http://channel9.msdn.com/wiki/default.aspx/Channel9.EnterpriseLibraryFAQ) algumas soluções interessantes que repliquei no meu ambiente de desenvolvimento.

Agora, para resolver o erro do Microsoft Development Environment, o primeiro passo é atualizar o Windows, o Visual Studio e o .NET Framework através do site Windows Update (http://windowsupdate.microsoft.com), para que seu ambiente de desenvolvimento esteja atualizado com os últimos pacotes da Microsoft.

Após atualizar o ambiente de desenvolvimento, substitua o arquivo csproj.dll, localizado no diretório [b]C:/Arquivos de

programas/Microsoft Visual Studio .NET 2003/Vc7/vcpackages[/b], pelo arquivo csproj.dll do CD do Visual Studio 2003.

O último passo é registrar o novo arquivo csproj.dll no Windows. Para tal feito basta abrir o Prompt de comando e executar o seguinte comando: regsvr32 "C:\Arquivos de programas\Microsoft Visual Studio .NET 2003\vc7\vcpackages\csproj.dll".

É importante enfatizar que ao final do processo, a ferramenta “Desfragmentação” do Windows foi utilizada no ambiente de desenvolvimento.

4. Finalizando

Neste artigo abordamos o que pode ser feito em relação ao problema de finalização inesperada do Visual Studio 2003.

No meu ambiente de desenvolvimento o problema foi corrigido, espero que no seu aconteça o mesmo!

Fonte: Imasters/Diego Ggazotto

:: LUCIANA COSTA ::

09
Dez
08

VB.Net – Basicão

Segue a dica super-básica de VB.Net para que usa o VS ou o próprio VB. Esta é para quem tem pouquíssima experiência com tais ferramentas.

Para rodar o formulário:

  • Na Barra de Menu - click Debug
  • No Menu Drop Down - click Start
  • Uma outra alternativa é pressionar  a tecla de função F5 

Simples, não?!

 - – - – - – - – - – - – - – - – -

Segue uma outra dica – ToolBox:

A ToolBox, que nos permite criar interfaces dos nossos formulários, adicionando controles para então programá-los.

A ToolBox contém várias divisões como você poder ver na figura abaixo, contendo em cada uma delas vários controles com diversos propósitos/funções.

toolbox1

Para expandir  basta clicar no sinal +.

Inicialmente uma das mais utilizadas é a Common Controls, nela estão contidas a TextBox, Label, Button entre outros que você pode ver abaixo:

commoncontrol

Até o próximo post.

Obrigada.

:: LUCIANA COSTA ::

09
Dez
08

VB – Teste de arquivo em branco

Olá,

O assunto de hoje aborda um conceito muito utilizado dentro da programação (qualquer linguagem) -> Estrutura IF.

Como nosso assunto por aqui é VB , neste exemplo, foi aplicado o teste a fim (“com o propósito de“, portanto, separado ;) ) de verificar se o arquivo está em branco ou não. É uma boa metodologia (e óbvia) é o uso do IF neste caso para validar sim/não.

IF FileLen(“informe o nome do arquivo”) = 0  THEN
      O arquivo está em branco
ELSE
      O arquivo tem conteúdo
END IF

Claro que podemos complementar com mais linhas de códigos, mas a idéia inicial é a Estrutura IF (por enquanto!).

 Até o próximo post.

:: LUCIANA COSTA ::

20
Nov
08

VB.Net – Simples código

Olá,

Conforme post abaixo… (básico do básico) e aproveitando o tema… segue mais um café-com-leite. Digite e de um Debug (F5) e veja o resultado.

Neste pequeno exercício estamos utilizando o conceito de variáveis, na qual já falamos sobre o assunto por aqui.

codigo1

A variável que está armazenando o resultado é: resposta, portanto é justamente ela que chamamos em nossa MessageBox (caixa de mensagens).

:: LUCIANA COSTA :: 

20
Nov
08

Básico – VB.Net (o básico do básico)

Ao programamrmos deerminado controle via Vb.Net de imediato o app nos paresenta algumas linhas de códigos.

Abaixo segue algumas explicações:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
...
End Sub
 

Private

Área restrita, privada. Private significa que nenhuma outra parte do programa pode ver este código, exceto o nosso botão. Exclusivo do controle Button1.


Sub

O termo Sub vem da abreviação de Subroutine. A palavra “Sub”  diz ao VB que algum código vem a seguir, e que precisa ser executado (são as linhas de comandos que acrescentamos).
 

Button1
Este é o nome do nosso botão adotado pelo VB. O nome do botão se refere a propriedade Name, que contém a identificação de cada objeto, ou seja o nome na qual ele é conhecido dentro do programa. Assim como você tem uma propriedade que lhe diferencia de outros alunos, colegas, …

 

_Click ( )

Sim… o _Click é denominado de Evento. O evento normalmente depende por exemplo da ação do usuário (quando ele clica sobre o botão). Tecnicamente, quando o botão (button1) for clicado o evento Click será disparado e o código que tivermos colocado (dentro do Private e End Sub) será executado.
 

End Sub
Tradução ao pé da letra: End = Fim e Sub = Subrotina, portanto, a subrotina voltada ao botão (button1) termina aqui. Isto significa o fim do código.

 

Viu como é fácil?!

Programar não é difícil, apenas deve ter dedicação e treino. Muito treino. Tal qual um atleta ou um jogador… faz-se necessário horas diárias de treino para conseguir atingir uma mlehor performance. Sem treino não há resultado (o quanto meus alunos ouvem isto diarimente…)

:)

:: LUCIANA COSTA ::

16
Nov
08

VB.Net – Foco

Atualmente estou ministrando 3 turmas de VB.Net. Conversa vai, conversa vem… em sala de aula normalmente alunos perguntam qual é a macro área do .Net. Portanto lá vai:

  • Desenvolvimento para Windows – chamamos de Windows Application/Windows Forms:

Permite criar o aplicativo e a interface do usuário usando Windows Forms. Um aplicativo Windows Forms se baseia nas classes do namespace System.Windows.Forms. O Windows Forms é o componente de smart-client do .NET Framework, um conjunto de bibliotecas gerenciadas que habilita tarefas comuns de aplicativo como a leitura e a gravação no sistema de arquivos.

  • Desenvolvimento para Web:

Aqui envolve o ASP.Net para a criação de aplicativos para Web Dinâmicos

  • Desenvolvimento Móvel:

Para este temos dois ambientes:

  • Aplicativos da Web móveis são executados em um servidor Web e são processados em formatos diferentes em uma variedade de dispositivos móveis equipados com navegadores.
  • Os aplicativos cliente avançados baseados em Windows CE são executados no próprio dispositivo. Geralmente, essa abordagem é o que conhecemos por “aplicativo para dispositivos móveis”.

(info: Microsoft)

:: LUCIANA COSTA ::

16
Nov
08

Visual Studio 2008 Express Edition em Português!

Olá!

Uma dica bacana para você que não domina o idioma do Tio Sam (é uma personificação nacional dos Estados Unidos da América).

Pois é, a gigante Microsoft liberou um pacote para o Visual Studio 2008 Express que  permite alterar o idioma da ferramenta para o Português do Brasil.

O download pode ser feito em :

http://www.microsoft.com/downloads/details.aspx?FamilyId=BF3CB4CB-4C4D-43BF-90AB-652BFA9EEC5B&displaylang=pt-br

Depois de instalado, para ativar o Pacote de Idiomas:

  • Vá ao menu Tools > Options > Janela de opções.
  • Selecione [Show all Settings].
  • Na opção Environment, selecione International Settings.
  • Em Language, selecione Português, e clique OK.
  • Feche o programa e abra novamente. O pacote estará habilitado.

:: LUCIANA COSTA ::

16
Nov
08

Visual Studio 2010

Olá, em momento oportuno já haviámos comentado sobre o Visual Studio 2010, apenas esqueci de complementar que de quebra teremos o NetFramework 4.0.

Ótimo!

http://blogs.msdn.com/brada/archive/2008/10/29/net-framework-4-poster.aspx

http://www.microsoft.com/presspass/press/2008/sep08/09-29VS10PR.mspx

http://msdn.microsoft.com/en-us/vstudio/products/cc948977.aspx

:: LUCIANA COSTA ::

28
Out
08

VB.Net ->Overloads – Replace

Dentre os métodos existentes no VB, eis um que tem a finalidade de realizar substituição. Veja o assunto logo abaixo:

Replace - É um método que localiza por um texto ou mesmo caractere específico em uma string e o substitui por outro texto/caractere indicado. Observe a faixa de código:

Neste exemplo estamos inicialmente declarando a variável  como string

Dim texto As String = ” Olá ! Você viu a Maria por aí? “

Agora o replace entra em cena, ou seja, substituímos o caractere ! por !!!

texto = texto.Replace(“!”, “!!!”)

‘A seguir substituímos a string ‘Maria’ pela string ‘Ana’

texto = texto.Replace(“Maria”, “Ana”)

‘Exibimos o resultado com um msgbox – Olá !!! Você viu a Ana por aí?

MsgBox(texto, MsgBoxStyle.Information)

Simples e bacana, não?!

Luciana Costa

28
Out
08

VB.Net – Form Modal e não Modal

Olá,

De todos os treinamentos que ministro em Vb.Net sempre aplicamos o tópico acima quando o assunto é formulário.

Nada melhor do que a própria Microsoft (faço dela as minhas palavras):

A propriedade Form..::.Modal

Obtém um valor que indica se este formulário é exibido modalmente.

Namespace: System.Windows.Forms

Assembly: System.Windows.Forms (em System.Windows.Forms. dll)

A propriedade Value

Tipo: System..::.Boolean
true Se o formulário for exibido modalmente; caso contrário, false.

Quando um formulário é exibido modalmente, nenhuma entrada (teclado ou mouse clique) pode ocorrer, exceto aos objetos no formulário de janela restrita.O programa deve ocultar ou fechar um formulário de janela restrita (geralmente em resposta a alguma ação do usuário) antes da entrada para um outro formulário pode ocorrer.Os formulários que são exibidos modalmente são normalmente usados como caixas de diálogo (Caixa de mensagem, por exemplo) em um aplicativo.

Você pode usar essa propriedade para determinar se um formulário que você tiver obtido a partir de um método ou propriedade tem sido exibido modalmente.

Para exibir um formulário modalmente use o método ShowDialog.

O exemplo de código a seguir usa a propriedade Modal para determinar se um formulário é exibido como um formulário de janela restrita.Se ele for não FormBorderStyle e as propriedades TopLevel são alteradas para tornar o formulário um formulário não-nível superior com uma borda janela de ferramentas.

28
Out
08

VB.Net -> Linguagem e Sintaxe

Linguagem e Sintaxe

1 . Mudanças

Esses topicos representam características que existiam, mas são tratadas de forma diferente:

  • Variaveis
VB6 VB.NET
Integer Short
Long Integer
Currency Decimal
Variant Object
  • Declarações

Antes uma variável devia ser instanciada para depois ser atribuido um valor. Agora isso não é mais necessário. Conforme o código do exemplo seguinte:

Exemplo:
VB6
Dim sTexto as String
sTexto = “meu texto”

VB.NET
Dim sTexto as String = “Meu texto”

Até a versão do VB6 era necessário declarar todas as variáveis com seus tipos, agora isso não é mais necessário:

Exemplo:
VB6
‘a e b são do tipo variant, apenas c é inteiro
Dim a, b, c As Integer

‘para corrigir isso é necessário a declaração de cada variável
Dim a As Integer, b As Integer, c As Integer

VB.NET
‘a, b e c são do tipo inteiro
Dim a, b, c As Integer

  • Parâmetros

Os parâmetros no VB6 são, por definição, passados por referência (ByRef). No VB.NET os valores são passados por valor (ByVal) como padrão:

O VS.NET preenche automaticamente o comando de atribuição ByVal quando ele não é fornecido na definição de uma variável de parâmetro.

  • Arrays (Vetores)

No VB.NET não se declara o número de termos e sim o índice do último termo desejado. Veja no exemplo a seguir

Exemplo:
Dim vTeste(5) as Integer

VB6
vTeste(0) – primeiro termo
vTeste(1) – segundo termo
vTeste(2) - terceiro termo
vTeste(3) - quarto termo
vTeste(4) - quinto termo

VB.NET
vTeste(0) – primeiro termo
vTeste(1) - segundo termo
vTeste(2) - terceiro termo
vTeste(3) - quarto termo
vTeste(4) - quinto termo
vTeste(5) - sexto termo

  • Tipos definidos pelo usuário

No VB6 os tipos de dados definidos pelo usuário são bastante utilizados para armazenar uma estrutura de dados mais complexa. O conceito não mudou, mas a sintaxe sim, conforme o código abaixo:

Exemplo:
VB6

Public Type EmployeeRecord   ' Cria o tipo definido pelo usuário.
   ID As Integer                    ' Define elementos de um tipo de dados.
   Name As String * 20
   Address As String * 30
End Type
VB.NET
Public Structure EmployeeRecord
   ID As Short
   Name As String * 20
   Address As String * 30
End Type

  • Comando Option

Lembra do comando “Option Explict”? Caso esta opção estivesse ativa, o compilador fazia uma varredura para saber se uma variável estava ou não declarada, se não o sistema dava um erro de compilação. Existem outras opções para o comando Option, conforme a seguir:

Tipo (Default) Descrição VB6 VB.NET
Option Compare Compara textos de acordo com os parâmetros (binário ou texto) OK OK
Option Explict Obriga a declaração de variáveis antes de usá-las OK OK
Option Base (0 ou 1) Inicia vetores no índice (0 ou 1) OK Não
Option Private Indica que o arquivo em questão é restrito ao projeto OK Não
Option Strict (On ou Off) Não permite a conversação automática de tipos(de short para Long automático, por exemplo) Não OK

  • Funções e Sub-rotinas

Agora no VB.NET o parênteses a chamada de funções é obrigatória. Digamos que exista uma procedure teste (Arg1,Arg2)

Exemplo:
VB6
teste Arg1, Arg2

VB.NET
teste (Arg1, Arg2)

VB6 e VB.NET
Call teste (Arg1, Arg2)

Outra característica é que agora os parâmetros opcionais no VB.NET são obrigatóriamente fornecidos com seus valores padrão. Além disso não há mais a necessidade de colocar o nome da função ou sub-rotina como receptora dos valores de resposta. Pode-se utilizar o termo “return”, que facilita a manutenção do código, caso haja de trocar o nome da rotina.

Exemplo:
Public Function teste(ByVal P1 As Double, optional ByVal P2 As Double = 10) _
As Double

return P1 * P2
End Function
  • Definição de propriedades em classes

Ocorreu uma mudança na formatação de definição de atributo nas classes, de maneira a tornar mais intuitivo e organizado o código.

Exemplo:
VB6

Public Property Let TamanhoFonte (ByVal tam as Double)
’seta o novo valor da fonte
nTamFonte = tam

End Property
Public Property Get TamanhoFonte () As Double
‘Le o valor da fonte
TamanhoFonte = nTamFonte

End Property

VB.NET

Public Property TamanhoFonte As Double
’seta o novo valor da fonte
Set (ByVal Value As Double)

ntamanhoFonte = Value
End Set
‘Le o valor da fonte
Get
TamanhoFonte = nTamanhoFonte
End Get
End Property

Chegamos assim ao fim da primeira parte… na segunda parte (página) abordaremos as novidades.

PortalVbWeb
28
Out
08

Botões Padrão (“Default” e “Cancel”)

Para quem conheceu/trabalhou com o VB6, sabia que era plenamente possível configurar um botão (“CommandButton”) dentro do form aplicando/alterando apenas a propriedade “Default” e “Cancel” para que ele aceitasse, respectivamente, as teclas “Enter” e “Esc” para chamar automaticamente o evento “Click”.

Já no VB.NET a funcionalidade não sumiu, ela existe sim porém é feita de modo diferente, pois não existem mais botões com estas propriedades e sim o form com as propriedades que são atribuídas a qualquer botão que esteja contido nele, ou seja, no formulário existe a propriedade “AcceptIButton” e “CanceIButton”, que é atribuída ao botão que se deseja que realize este papel.

15
Out
08

InfoPath 2003 Toolkit para Visual Studio .NET

baboo

Você é um desenvolvedor .NET que deseja codificar as regras e as lógicas comerciais personalizadas em seus aplicativos InfoPath usando linguagens de código gerenciado? Você deseja obter vantagens do .NET Framework e usar os XML Web Services, criptografia e ASP.NET em seus aplicativos InfoPath? Deseja gerenciar o desenvolvimento dos seus aplicativos InfoPath no VS .NET IDE e usar recursos, como o IntelliSense, em seus projetos? Em caso afirmativo, o InfoPath 2003 Toolkit for Visual Studio .NET é o que você precisa.

O InfoPath™ 2003 Toolkit for Visual Studio .NET foi criado para desenvolvedores interessados em criar modelos de formulários no InfoPath 2003 usando o Visual Studio .NET 2003.

O InfoPath 2003 Toolkit for Visual Studio .NET fornece recursos de integração e documentação que permite o uso do Visual Studio .NET para criar, depurar e desenvolver projetos do InfoPath que usem o código gerenciado do Visual C# ou do Visual Basic .NET. Os recursos de integração fornecidos pelo kit de ferramentas permitem que você use uma combinação do InfoPath para o design do formulário e o Visual Studio .NET para escrever e depurar o código do formulário. Usando o kit de ferramentas, você pode criar novos modelos de formulários do InfoPath ou adicionar código gerenciado a modelos existentes.

Requisitos do Sistema

15
Out
08

Microsoft explica fim do suporte ao Visual Basic 6

Não pense que é um assunto novo. Isto foi divulgado  em meados 2005.

Veja abaixo:

Microsoft is axing standard support for the Visual Basic 6.0 development tool at the end of the month, so developers will have to pay for extended supported from April.

The move has angered some in the developer community, with a number starting a petition to persuade Microsoft to reverse its decision.

Microsoft wants developers to adopt its Visual Basic .net development tool, but the protesters have pointed out that applications written with Visual Basic 6 would have to be re-written to work with the newer platform.

Traduzindo e resumindo os trechos acima:

Para os que optarem ainda em trabalhar com a versão supra-citada terão que pagar para ter o suporte estendido.

A medida irritou muitos desenvolvedores. A Microsoft quer que os desenvolvedores migrem para o Visual Basic .Net, mas estes rebatem afirmando que as aplicações escritas em Visual Basic 6 têm de ser reescritas para funcionarem na nova plataforma.

Ainda bem que foi em 2005. Mas confesso que fiquei muito irritada  pois migrar para uma nova ferramenta não seria nada fácil, ainda mais com aplicações desenvolvidas. Todo processo de migração por si só é um imenso desgaste.  Mas nada impossível, mas deve-se ter MUITO CUIDADO com a migração das aplicações 6.0 para .net, ou seja terá que dispor de horas e horas (e porque não noites de sono) para reescrever a linhas de comando.

É IMPORTANTE QUE PRIMEIRAMENTE FAÇA UM BOM PLANEJAMENTO, reveja a documentação do sistema, SINTONIA DE EQUIPE (DBA, ANALISTA DE NEGÓCIOS, CLIENTE, ANALISTA DE SISTEMAS E PROGRAMADOR) E MUITA PACIÊNCIA E RACIOCÍNIO!

Está preparado? Posso lhe dizer que é um bom desafio, mas não é impossível!

Luciana Costa

15
Out
08

Overview of Visual Basic 9.0

Pode parecer novidade mas desde o ano passado a Microsoft anunciou o Visual Basic 9.0

Visual Basic .NET , Visual Basic 2005 e agora o Visual Basic 9 (codinome Orcas)

Mal deu tempo de você saber sobre o .net e já está na hora de se atualizar. Sim…. assim é a vida de um profissional de TI. Uma constante atualização!

Em suma –> apresentaremos, por capítulo, aqui no site LuCIANA COSTA uma visão geral da linguagem Visual Basic novas funcionalidades e novas linguagens que suportam extensões de programação intensiva de dados.

Deixo a sugestão para que visite o site da Microsoft e descobrirá a infinidade de melhorias e recursos que a  última versão traz.

Luciana Costa




{{ Siga-me os bons!!! TWITTER }}

Twitter Button from twitbuttons.com

Blog Stats

  • 40,308 hits

Meu Twitter

  • Recomendo: SWEETLUCY.COM.BR 1 day ago
  • Pelo jeito a conexão DIA- UP é melhor que o SPEEDY 2Megas da Telefonica!!! Quem merece pagar para não ter um serviço proximo do ideal?! :X 1 week ago
  • Principlamente em dias de chuva: NÃO FUNCIONA nem com reza brava!!!!! 1 week ago
  • SPEEDY da TELEFONICA é espetacular 1 week ago
  • @PatriciaCarsi Já ganhou o convite (orkut)? Se quiser tenho disponível, ok? bjks 2 weeks ago