domingo, 17 de fevereiro de 2013

GERANDO CÓDIGO DE BARRAS E DIMINUINDO O SEU TAMANHO


Eis uma pequena aplicação usando a biblioteca barcodelib.dll desenvolvida por Brad Barnhill e postada no The code Project (http://www.codeproject.com/Articles/20823/Barcode-Image-Generation-Library).

A idéia aqui é gerar a imagem de um código de barras e diminuir seu tamanho para impressão do código de barras e de sua numeração com o Print Document que você deve também adicionar ao projeto:


O botão Generate contêm o seguinte código-fonte:



Private Sub BtnGenerate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnGenerate.Click

    If TxtBarcode.Text <> "" Then

      Dim Barcode As New BarcodeLib.Barcode(TxtBarcode.Text, BarcodeLib.TYPE.CODE128)
     PicCodebar.Image = Barcode.Encode(BarcodeLib.TYPE.CODE128, TxtBarcode.Text, 200, 100)
            Barcode.SaveImage("C:\Temp\BARRAS.JPG", BarcodeLib.SaveTypes.JPG)

            Dim fs As New FileStream("C:\Temp\BARRAS.JPG", FileMode.Open)
            Dim br As New BinaryReader(fs)

            br.Close()
            fs.Close()

            br = Nothing
            fs = Nothing


        End If

    End Sub



Note que o tamanho da imagem está definido com 200 e 100.

O botão Print deverá conter o seguinte código:


Private Sub BtnPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnPrint.Click

        PrintDocument1.Print()

    End Sub


Dê dois cliques sobre o componente PrintDocument1 adicionado ao projeto e acrescente este código:


 Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage

        Dim logo As Image = Image.FromFile("C:\Temp\barras.jpg")
        Dim fnt As Font

        'Font definition
        fnt = New Font("Arial Narrow", 8)

        'Redimensionar o Código de Barras
        e.Graphics.DrawImage(logo, 10, 10, 130, 15)
        e.Graphics.DrawString(TxtBarcode.Text, fnt, System.Drawing.Brushes.Black, 39, 39)
        logo.Dispose()

    End Sub 

Esse pequeno projeto pode criar códigos de barra em vários formatos. A bibliote barcodelib pode ser obtida do link informado. Basta adicioná-la nas Referências de seu projeto através do menu Project -> Nomedoprojeto Properties. 

Sucesso a todos!

sábado, 9 de fevereiro de 2013

VB.NET - CRIANDO APLICATIVOS PARA O WINDOWS 7 64 BITS


Olá, pessoal!

Dentre as muitas surpresas que podem ocorrer na criação de aplicativos a maior delas pode acontecer com relação a versão do sistema operacional. 

Um aplicativo desenvolvido em Vb.NET para uma base de dados em MySQL em uma máquina com o Windows 7 de 32 bits terá problemas para funcionar adequadamente em uma máquina de usuário com o Windows 7 com a versão de 64 bits. Quem é desenvolvedor sempre esbarra nessas situações.

Agora... Como resolver o problema na sua aplicação?

É bem verdade que há boas explicações da microsoft sobre este problema. Você pode começar vendo o link abaixo:

http://support.microsoft.com/kb/942976/pt-br

Em uma máquina Windows 7 em 64 bits há duas versãos de ODBC. A que faz referência a 64 bits fica localizado na pasta \Windows\SysWoW64.

O que é necessário inicialmente é instalar a versão correta do conector odbc para o MYSQL, no caso que estou abordando aqui. Neste caso seria a mysql-connector-odbc-3.51.30-winx64.exe que você pode baixar da página do mySQL:

http://dev.mysql.com/downloads/connector/odbc/3.51.html

Após instalar o conector, você deverá ir até a pasta SysWoW64 e executar o ODBC e verificar se o conector realmente foi instalado com sucesso.

Feito isso, devemos voltar à sua aplicação.

Veja o texto abaixo:




Se suas conexões forem escritas desse modo elas funcionarão tanto para um computador de 32 bits quanto para um computador de 64 bits. 

No caso de uma máquina de 64 bits você não poderá usar um odbDataReader propriamente, ou mesmo um OdbcCommand porque as mesmas retornarão erro de conexão porque sua aplicação estará esbarrando na limitação apresentada no artigo KB942976 (do primeiro link aqui do post): uma máquina com Windows 7 em 64 bits sempre enxergará dois ODBC´s e poderá dar preferência ao de 32 bits em alguns casos. 

Ao utilizar o MysqlCommand, o MysqlConnection e o MysqlDatareader internamente na sua aplicação você força a mesma a evitar o problema de 32 ou 64 bits.

E assim se elimina o nó górdio das aplicações para 64 bits com uma base de dados MySQL.

Sucesso a todos!!!

UM APLICATIVO PARA LEITURA DEVOCIONAL ANUAL DA BIBLIA EM ANDROID

Olá, pessoal!  Este novo projeto foi criado em Visual Studio 2019 em C#.Net com o Xamarin. Já está disponível no Google Play para vocês baix...