segunda-feira, 26 de setembro de 2011

Programando em C# apartir de um bloco de notas parte II

Olá pessoal, como sempre estou ocupado. Mas agora vou colocar o que prometi. Pelo menos vou tentar. Amanhã tenho que levantar cedo, logo não tenho muito tempo. Vou postar um código para construir um simples formulário com bloco de notas. Apesar de ter uma forma mais simples achei por bem colocar essa. Não vou comentar o código por questão de tempo. Fica a critério de quem quiser descobrir como lição de casa ou para interagirmos é só perguntar caso haja dúvida.

No Windows basta colar ou digitar o código abaixo num bloco de notas e salvar com extensão .cs nomeie o arquivo com o mesmo nome da classe. No prompt de comando vá até o diretório onde foi gravado o arquivo e digite o comando para o compilador compilar. Ex csc .cs
Se tudo der certo vai ser criado um arquivo .exe. Pronto é só clicar e executar. Lógico que vc deve ter o framework instalado.

No Linux instale o Momodevelop crie uma solução vazia e adicione as referências 'System' e System.Windows.Forms; Depois é só compilar. Estou usando o fedora 15 e meu windows está sem o visual. Mas o mono também é muito legal. Tem muito a crescer mas é legal inclusive ele cria binários executáveis windows e pacotes para linux.


Se abaixo o código para gerar o formulário acima:

using System;
using System.Windows.Forms;

namespace formulario
{
public class Form1 : System.Windows.Forms.Form
{
private System.ComponentModel.Container components = null;

public Form1()
{
InitializeComponent();
}
protected override void Dispose (bool disposing)
{
if (disposing)
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose(disposing);
}
private void InitializeComponent()
{

}
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
}
}

Abaixo segue um código mais simples que terá o mesmo resultado:
using System;
using System.Windows.Forms;
namespace formulario
{
public class Form1 : System.Windows.Forms.Form
{
public Form1()
{

}


public static void Main()
{
Application.Run(new Form1());
}

}
}

domingo, 26 de setembro de 2010

EXIBINDO DADOS DE UM BANCO EM TEXTBOX

Bom! Tinha desistido do blog por falta de tempo. Mas como teve gente que me pediu ajuda resolvi aqui em alguns minutos dar um exemplo para iniciantes em como exibir dados do banco numa caixa de textos, ou melhor textBox. Se alguém quizer o projeto todo com os códigos é só me enviar um email pedindo o mesmo. Usei dessa vez o velho conhecido de todos o "Access" como banco de dados, apesar dele ser apenas um gerenciador de planilhas.

A primeira caisa é criar uma tabela em um banco. Eu criei no access. como mostra a figura abaixo! Trabalhar com o access é muito fácil.


Agora vamos criar um form no C# e colocar os seguintes componentes.
Um textBox com o a propriedade name = txtHomem.
Um textBox com o a propriedade name = txtMulher.Um textBox com o a propriedade name = txtPessoa.
Um label com o a propriedade text = Homem.
Um label com o a propriedade text = Mulher. Um label com o a propriedade text = Qtde de Pessoas.
Um Button com o a propriedade text = Contar.

Veja como ficou o form.





Agora vamos criar duas propriedades private, podem ser public. Já que no nosso caso vamos trabalhar somente com um form e uma única classe. Uma dessas strings vai ser responsável por mostrar o caminho do banco para a classe . Logo sua string de conexão não poderá ter o mesmo Data Source que a minha não ser que vc crie o mesmo caminho.

private string strSQLconn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Dados\enocDB.mdb";
private string strSQL = "";


Agora vamos criar um método do tipo dataTable. Esse método irá armazenar a tabela do banco. Como estamos trabalhando com uma única tabela então usamos apenas um datatable. Se estivessemos trabalhando com muitas tabelas ao mesmo tempo então deveríamos usar um dataSet. Mas não é o nosso caso.

private DataTable contapessoas()
{
OleDbConnection Conn = new OleDbConnection(strSQLconn);
OleDbCommand cmd = Conn.CreateCommand();
cmd.CommandText = strSQL;
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
Conn.Open();
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
}

se cria um único método datatable para não precisar criar mais de um. Sendo assim todos os textBoxs irão utilizar o mesmo método. Por isso estamos criando do tipo dataTable. Poderíamos criar do tipo void mas ai precisaríamos de três métodos. Um para cada textBoxs.

Agora vamos dar dois cliques no botãoe criar os códigos que irão selecionar os dados do dataTable e também fazer o cálculo.

private void button1_Click(object sender, EventArgs e)
{
//agora é só mudar o camando de sql e executar o método tabpessoa.

strSQL = "Select * From tabPessoa where sexo = 'm'";
txthomem.Text = contapessoas().Rows.Count.ToString();
strSQL = "Select * From tabPessoa where sexo = 'f'";
txtMulher.Text = contapessoas().Rows.Count.ToString();
strSQL = "Select * From tabPessoa";
txtpessoa.Text = contapessoas().Rows.Count.ToString();
}

Pronto agora é só executar os códigos.
Um abraço! Espero que os iniciantes tenham gostado!

sábado, 27 de fevereiro de 2010

Programando em C# apartir de um bloco de notas

Estou pensando em mostrar como criar um programa em C#, apartir de um bloco de notas. Se vc acha isso interessante deixe um recado. Se houver um número considerável de pessoas interessadas eu farei isso. Mas porque aprender isso se o visual já faz todo trabalho? Bom, primeiro pra se entender realmente como o C# funciona, segundo vc poderá programar sem uma IDE.

domingo, 7 de fevereiro de 2010

A NATUREZA HUMANA


Hoje terminei de ler o testemunho de Wladyslaw Szpilman. A muito queria ler esse livro, mas não o encontrava em nenhuma livraria, até que nessa última sexta-feira o achei em Floripa. Você já deve conhecer a história, que foi contada no filme premiadíssimo do cineasta Roman Polanski. O Pianista.

Apesar do filme representar muito esse triste episódio da história, o livro narra acontecimentos que o filme, não sei porque não revela, como o método preferido de matar crianças. Elas eram suspensas pelas pernas e eram lançadas contra as paredes que ficavam empregnadas com a massa encefálica dos inocentes.

É preciso mensionar que o livro traz partes do diário do capitão alemão Wilm Hosenfeld, que escondeu e alimentou Wladyslaw. Ele é o homem da capa do livro, ao lado.

As vezes me pergunto como monstros, iguais a Josef Mengeli o anjo da morte que morrreu no Brasil, conseguiram escapar e como homens decentes, iguais ao capitão Hosenfeld, receberam a tortura como reconpensa da sua lucidez.

Os judeus já sofreran tanto que na lingua portuguesa existe o verbo judiar como ação de maltratar alguém.

Mas se você pensa que a as atrocidades cometidas na Segunda Grande Guerra não vão se repetir lembre-se das palavras de Jesus Cristo: Porque haverá então grande tribulação, como nunca houve desde o princípio do mundo até agora, nem tampouco há de haver. Mateus 24:21.

terça-feira, 24 de novembro de 2009

Como formatar os trabalhos acadêmicos e monografia no padrão da Unopar rapidamente.

Pra quem não sabe ou é meio desavisado a UNOPAR tem modelos de trabalhos acadêmicos que em apenas alguns cliques coloca seu trabalho rapidamente no padrão exigido, tanto para trabalhos acadêmicos bem como TCC e Monografias. Em si tratando de monografia é uma beleza. O sumário que era um problema ficou muito fácil construir. Ou melhor, o programa constroi pra você na velocidade de um clique, e a gente nem precisa se preocupar com número de paginas.
A primeira coisa a fazer é acessar o site da unoparvirtual e entrar na biblioteca digital. A sua esquerda vai encontrar uma setinha azul apontando para Padronização. Clique logo abaixo em: Capa, trabalhos acadêmicos e normas para disertação. como mostra a figura abaixo.


Depois abrirá uma outra página como mostra a figura abaixo. Para baixar o modelo para monografia ou TCC clique no texto indicado pela seta vermelha. Para baixar o modelo para trabalho acadêmico clique no texto indicado pela seta azul como mostra a figura abaixo.

Pronto agora você já tem os modelos de que precisa. Para colocar seu trabalho no padrão exigido pela UNOPAR é muito simples. Lógico que vc notou que é um documento do microsoft word. Mas não é um documento comum. Na barra de ferramentas há muitas novas funcionalidade que o word convencional não possúi. Você simplesmente vai colar o seu trabalho nesse documento e formatar seu texto. Por exemplo: Para atualizar seu sumário, basta apenas destacar o sumario antigo e clicar no botão sumário. Aparecerá uma caixa de diálogo perguntando se você quer atualizar somente o número das páginas ou o índice inteiro. Click em indice inteiro e pressione OK como mostra a figura abaixo. Pronto seu sumári o foi atualizado completamente.


Se você quizer o titulo 1 é só destacar seu título e clicar no botão titulo 1 que o programa automaticamente colocaráno padrão. Se quizer colocar os parágrafos no padrão é só destacar os parágrafos e clicar no botão parágrafo que o programa formatará seu texto no padrão, e assim por diante.

Até mais.

Um abraço!!

Porque C# é melhor que JAVA


Muitos falam mal da tecnologia Microsoft. Sei também que muitos falam que não existe linguagem de programação melhor ou mais eficiente que outras. Sabendo disso listei 3 artigos de Mauro Sant'Ana sobre a comparação de C# e Java. Vale a pena conferir e tirar suas próprias conclusões. Mas já dando a minha C# é melhor que Java pelo simples fato de compilar novamente para codigo nativo enquanto Java apenas interpreta.




Mas nada contra Java, estamos apenas dando opiniões de preferencia sobre utilização de linguágens de programação.

terça-feira, 22 de setembro de 2009

Conexão de dados com visual C# e FireBird parte II (trabalho unopar)

Bem! Antes de mais nada quero aqui deixar claro que não tenho o objetivo de mostrar a melhor maneira ou a forma correta de fazer um programa de acesso a dados. Espero que o que seja escrito seja sufiente para se entender as classes básicas do ADO.NET responsáveis pela conexão com o banco de dados. Volto a dizer que existem muitas maneiras de se fazer isso.

Também não fiz nenhum tratamento de exessoes try/catch/finally. Ou usado a clausula using(){}.

Se vc não se lembra como referenciar o data Provider FirebirdClient veja a primeira parte Conexão de dados com visual C# e FireBird .

Acrescente no form 04 buttons, 01 datagridview, 02 Label e 02 textbox. Eu coloquei um groupbox simplesmente por questão estética. Veja como ficou o form.


A primeira coisa que vamos fazer é criar a string de conexão. Ela será usada em todos os métodos que fazem a conexão com o firebird.

private string strConn = "User=SYSDBA;Password=masterkey;"
+ @"Database=C:\PastaFireBird\BANCOFIREBIRD.FDB;"
+ "DataSource=localhost;Port=3050;"
+ "Dialect=3;Charset=NONE;Role=;"
+ "Connection lifetime=0;"
+ "Connection timeout=15;"
+ "Pooling=True;Packet"
+ " Size=8192;Server Type=0";

Se sua string de conexão for dividida em mais de uma linha como foi meu caso nunca esqueça do operador '+' se não dará um erro. Não esqueça o @ dispensa \\.

Vamos criar um metodo void para lipar as caixa de texto assim que gravarmos ou alterarmos os dados.

public void limpaTbx()
{
textBox1.Text = "";
textBox2.Text = "";
}

Vamos criar um metodo tipo void para acessar o banco o mesmo que foi feito no primeiro artigo.

public void acessar()
{
string sqlSelecionar = "Select * From tabApostolos";

FbConnection conn = new FbConnection(strConn);
FbCommand cmd = new FbCommand(sqlSelecionar, conn);
FbDataAdapter dataApt = new FbDataAdapter(cmd);
DataSet DS = new DataSet();
conn.Open();
dataApt.Fill(DS,"tabApostolos");
dataGridView1.DataSource = DS;
dataGridView1.DataMember = "tabApostolos";
conn.Close();
}

Vamos criar outro método para incluir dados no banco.

public void incluir()
{
string sqlIncluir = "INSERT INTO tabApostolos (Codigo, nome)"
+ "Values ( ' " + textBox1.Text + " ' ,' " + textBox2.Text + " ' )";

FbConnection conn = new FbConnection(strConn);
FbCommand cmd = new FbCommand(sqlIncluir, conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}

Vamos Criar um outro método do tipo void para excluir os dados.

public void excluir()
{
string sqlExcluir = "DELETE FROM tabApostolos WHERE CODIGO = ' "
+ int.Parse(textBox1.Text) + " ' ";

FbConnection conn = new FbConnection(strConn);
FbCommand cmd = new FbCommand(sqlExcluir, conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}

Agora vamos criar o metodo que irá alterar os dados no banco.

public void alterar()
{
string sqlAlterar = "UPDATE tabApostolos SET Nome = ' " + textBox2.Text.Replace(" ' ", " ' ' ")
+ " ' WHERE Codigo = ' " + int.Parse(textBox1.Text) + " ' ";

FbConnection conn = new FbConnection(strConn);
FbCommand cmd = new FbCommand(sqlAlterar,conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}

Altere o texto do primeiro button para ACESSAR, dê dois clicks nele e acrescente o código;

private void button1_Click(object sender, EventArgs e)
{
acessar();
}

Altere o texto do segundo button para INCLUIR, dê dois clicks nele e acrescente o código;

private void button2_Click(object sender, EventArgs e)
{
incluir();
acessar();
limpaTbx();
}

Altere o texto do terceiro button para ALTERAR, dê dois clicks nele e acrescente o código;

private void button3_Click(object sender, EventArgs e)
{
alterar();
acessar();
limpaTbx();
}

Altere o texto do quarto button para EXCLUIR, dê dois clicks nele e acrescente o código;

private void button4_Click(object sender, EventArgs e)
{
excluir();
acessar();
limpaTbx();
}

Digite um número no primeiro textbox e digite um nome no segundo textbox e clique no botão incluir. Depois poderá digitar o mesmo código novamente no primeiro textbox e alterar ou excluir o nome como quizer, pois o código acima funciona perfeitamente.


Devemos notar que não foi preciso declarar a classe FbParameter, no exemplo em questão, pois as strings SQL indicam o comando que a classe FbCommand irá fazer e passam os parâmertros automaticamente. IMPORTANTE não esqueça de declarar os apostrofos ' antes e depois da declaração dos textbox. Senão não será considerado como um valor e o compilador dará erro. Note também que nos metodos de alterar, incluir e excluir não foi necessário o uso das classes dataSet e fbDataAdapter.

cmd.ExecuteNonQuery(); // O método ExecuteNonQuery do objeto cmd executa as operações de alteração, inclusão e exclusão.

ATENÇAO: SE VC NOTOU ALGUNS CÓDIGO SÃO REPETIDOS COLOQUE A CUCA PRA FUNCIONAR QUE DÁ PRA ELIMINÁ-LÓS

Se vc gostou do post e se acha que isso vai lhe ajudar no trabalho ou se tem alguma dúvida posta um comentário ai.

"""Disse Jesus: Eu Sou o Caminho e a Verdade e a Vida; ninguém vem ao Pai senão por mim. Jo14:6.Procure uma igreja evangelica e entregue sua vida a JESUS e o deixe salvá-la!!!"""


free counters