segunda-feira, 14 de junho de 2010

Executar um programa externo em C#

Uma tarefa simples e um post curto dessa vez.

Para executar um programa externo em C# há o namespace 'System.Diagnostics.Process'.
Você pode inserí-lo no início do programa, ou simplesmente utilizá-lo por extenso junto com o método quando precisar.
Por exemplo:

{
.
.
.
    //linhas
    //de
    //código

    System.Diagnostics.Process.Start("C:\Pasta\programa.exe");

    //linhas
    //de
    //código
.
.
.
}

Só vou fazer uma observação. Se na string do caminho para executar o programa houver algum caracter especial ('\t', '\n' ou outros do gênero) coloque um @ antes da aspa inicial para que ele não interprete esses caracteres como caracteres especiais.
Exemplo:

{
.
.
.
    //linhas
    //de
    //código

    System.Diagnostics.Process.Start(@"C:\Pasta\trabalho\arquivo.exe");

    //linhas
    //de
    //código
.
.
.
}

Eu não vou entrar em detalhes de como o 'System.Diagnostics.Process.Start' pode ser usado.
No site abaixo há vários exemplos de como utilizá-lo, eu apenas estaria copiando de lá.

Site útil:
http://social.msdn.microsoft.com/Forums/pt-BR/vscsharppt/thread/762f056e-85e9-4adf-8af6-d12abd3d78b0

segunda-feira, 7 de junho de 2010

Conectando a um banco de dados MySQL com C#

Bom. Primeiro você precisará baixar e instalar o MySql Connector Net, para usar MySQL no Visual Studio.
    Link:
    http://dev.mysql.com/downloads/connector/net/6.1.html

Segundo. Será necessário um servidor MySQL.
    XAMPP
    http://www.baixaki.com.br/download/xampp.htm

Sempre que precisar conectar ao banco de dados você deverá estar com o xampp em execução e o MySQL do xampp iniciado (conforme a imagem). Para iniciar ele é só clicar no "Start" ao lado do MySQL.


Agora ao que interessa.
Na Solution Explorer do programa em que pretende utilizar o banco de dados, clique com o botão direito do mouse em 'References' e então clique em 'Add Reference'.


Abrirá uma nova janela. Na aba '.NET' ache o componente 'MySql.Data' selecione-o e então clique OK.


Feito isso adicione o namespace no início do programa utilizando a instrução 'using'.
Exemplo:
using System;
using System.Text;
using System.Collections.Generic;
using MySql.Data.MySqlClient;\\ <====

Feito isso vamos aos atributos.


quarta-feira, 2 de junho de 2010

Criar planilha do Excel em C#

Para criar uma planilha do Excel em C# podemos proceder de duas maneiras.

A primeira seria utilizar um StreamWriter comum para criar um arquivo com extensão ".xls" e utilizar tabulação (\t) e nova linha (\n) para separar colunas e linhas.
Eu fiz isso a princípio, e até consegui abrir o arquivo no Excel, mas há uma forma mais apropriada para fazê-lo. E foi a forma que eu preferi adotar.

No Visual Studio 2008:

Primeiro será preciso adicionar uma referência ao projeto. No "Solution Explorer" clicar em "References" com o botão direito do mouse e clicar em "Add Reference".



Nas abas superiores da janela que abriu vá para a aba "COM".
Na lista de componentes da aba COM procure em "Component Name" por:

     Microsoft Excel 12.0 Object Library

OBS.: O '12.0' é referente à versão, então pode não ser esse o número.

Selecione o componente e clique OK.



Próximo passo...

No início da classe em que pretende fazer os métodos do Excel adicionar o namespace Microsoft.Office.Interop.Excel, utilizando a instrução 'using', da seguinte maneira. Exemplo:

using System;
using System.Collection.Generics;
using System.Text;
using Excel = Microsoft.Office.Interop.Excel;

terça-feira, 1 de junho de 2010

Acessando porta serial com C#

Enviar uma string via porta serial.
Esse é o objetivo.

Em C# há um namespace próprio para trabalhar com portas seriais do computador:
System.IO.Ports

Ele fornece uma série de métodos e propriedades que podemos usar para trabalhar com porta serial.
O primeiro passo é incluir o namespace no início do arquivo de código fonte da classe onde você pretende acessar a porta serial, junto com os demais namespaces que estiver usando. Exemplo:

using System;
using System.Collection.Generics;
using System.Text;
using System.IO.Ports;

Dentro desse namespace há uma classe chamada SerialPort. O próximo passo é criar um atributo, que é um objeto da classe SerialPort, dentro da classe que estiver usando.

class Nome_da_classe
{
    static SerialPort _portaCOM;

.
.
.
}

"_portaCOM" é um nome para o atributo. Você pode escolher outro nome.

OBS.: Se estiver criando um programa diretamente no método Main(), a classe deve ser declarada antes do Main().

public class Nome_da_classe
{
    static SerialPort _portaCOM;

    public static void Main()
    {
        //linhas
        //de
        //código
    }
}

Feito isso vamos ao que interessa.

Início

Bom, esse é o primeiro post do blog e não será muito extenso.
Na verdade ele é só para explicar sobre o que o blog será.

O blog será, basicamente, sobre programação e a intenção é registrar o que precisei fazer durante meu período de estágio, as dificuldades que encontrei e como contornei elas.
A princípio trabalharei principalmente com C# (mas isso pode mudar no decorrer do caminho) em Windows e, ocasionalmente, em Linux.

Ao final do meu período de estágio talvez eu mude um pouco o blog.
Mas isso não importa agora.

Acho que por enquanto era isso.