Posts de Maio, 2007

Artigos sobre Windows Vista – Clube do Hardware

Maio 5, 2007

Dando uma passada no Clube do hardware, Percebi dois otimos artigos sobre o Microsoft Windows Vista.
Vale a pena dar uma olhada.
Segue abaixo os link’s dos artigos:
O Que Há de Novo no Windows Vista Para os Entusiastas de Hardware
Limitações do Windows Vista Starter

XML com VB.NET – Agenda de contatos XML

Maio 5, 2007

Tive o interesse de aprender a manipular arquivos XML utilizando o Visual Basic .NET, após algumas consultas no oraculo, havia encontrado várias dicas.
Resolvi então compilar tudo, e criar uma aplicação que cria um arquivo XML, monta a estrutura, escreve dados e deleta dados.
Com certeza esta não é a unica nem a melhor maneira de se manipular xml usando vb .net, mas resolvi colocar os códigos on-line caso possa servir de consulta para alguem.
Desculpem pelo português e pela logica de macaco da NASA.

Recomendo baixar o projeto no link abaixo, para observação e estudos, o mesmo está comentado, e é bem simples de entender.

Download do Projeto/Código fonte

AgendaXML.rar

Para o projeto foi utilizado o Visual Basic 2005 Express Edition, que pode ser baixado gratuitamente no site da Microsoft

Inicie um novo projeto e renomeie para AgendaXML
Para iniciarmos a aplicação vamos precisar dos seguintes componentes:

5 TextBox:

1º – txtNome
2º – txtTelefone
3º – txtEndereco
4º – txtEmail

1 DataGrid:

1º – dtgCadastro

5 Buttons:

1º – cmdAdicionar
2º – cmdSalvar
3º – cmdRemover
4º – cmdApagar
5º – cmdSair

Utilize os seguintes Namespaces:
Imports System.Data
Imports System.IO

Na Classe frmAgendaXML declare a seguinte variavel
Private datatable As DataTable

No evento Load do formulario digite o seguinte código:
datatable = New DataTable(“cadastro”)
datatable.Columns.Add(“nome”)
datatable.Columns.Add(“endereco”)
datatable.Columns.Add(“telefone”)
datatable.Columns.Add(“email”)
If File.Exists(“c:\cadastro.xml”) Then
Try
datatable.ReadXml(“c:\cadastro.xml”)
Catch
datatable.WriteXml(“c:\cadastro.xml”)
End Try
dtgCadastro.DataSource = datatable
Else
File.Create(“c:\cadastro.xml”)
MsgBox(“O sistema criou o arquivo cadastro.xml no seu drive c:\. Reinicie a aplicação!”)
Application.Exit()
End If

De 2 cliques no botão Sair e digite o seguinte codigo:
Me.Close()

De 2 cliques no botão Adicionar e digite o seguinte código:
If (txtNome.Text.Trim() “”) Or (txtTelefone.Text.Trim() “”) Or (txtEndereco.Text.Trim() “”) Or (txtEmail.Text.Trim() “”) Then
Dim linha As DataRow = datatable.NewRow()
linha(“nome”) = txtNome.Text
linha(“telefone”) = txtTelefone.Text
linha(“endereco”) = txtEndereco.Text
linha(“email”) = txtEmail.Text
datatable.Rows.Add(linha)
dtgCadastro.Refresh() ‘refresh no Datagrid
txtNome.Text = “”
txtTelefone.Text = “”
txtEndereco.Text = “”
txtEmail.Text = “”
Else
MsgBox(“Preencha todos os campos!”)
End If

Dois cliques no botão Salvar e digite:
datatable.WriteXml(“c:\cadastro.xml”)
MsgBox(“Arquivo salvo com sucesso!”)

Dois cliques no botão Remover e digite o seguinte codigo:
Dim i As Integer = dtgCadastro.CurrentRowIndex()
If (i -1) Then
datatable.Rows(i).Delete()
datatable.AcceptChanges()
dtgCadastro.Refresh()
End If

No botão Apagar digite:
File.Create(“c:\cadastro.xml”)
MsgBox(“O sistema criou um novo arquivo cadastro.xml no seu drive c:\. E vai reiniciar a aplicação!”)
Application.Exit()

Dois cliques no objeto DataGrid(dtgCadastro), Vá ao evento CurrentCellChanged e digite:
Dim i As Integer = dtgCadastro.CurrentRowIndex()
If (i -1) Then
txtNome.Text = datatable.Rows(i)(“nome”).ToString()
txtTelefone.Text = datatable.Rows(i)(“telefone”).ToString()
txtEndereco.Text = datatable.Rows(i)(“endereco”).ToString()
txtEmail.Text = datatable.Rows(i)(“email”).ToString()
End If

Download do Projeto/Código fonte

AgendaXML.rar

Boa sorte.

Instalação e configuração do modem PC-Tel no Ubuntu 7.04

Maio 4, 2007

Os procedimentos a seguir foram executados na versão 7.04 do Sistema operacional Ubuntu GNU/Linux.

Obs: No “leia-me” que acompanha o driver, foi citado compatibilidade com vários modelos de modem da mesma linha.

Para iniciar verifique o modelo do modem:
Você poderá utilizar um aplicativo chamado ScanModem que pode ser baixado no seguinte link:
http://linmodems.technion.ac.il/packages/scanModem.gz

Como opção você poderá executar o comando lspci.
Para isso acesse o console(Shell) como super usuario(root), ou então utilize o comando sudo.
em seguida digite o comado:

lspci

Este comando te retornara todo o hardware pci em seu PC , entre eles, estará o seu modem.
Identifique o modem, se tudo estiver certo passe para a próxima fase.

É necessário para compilação do driver que o pacote build-essential esteja instalado.
Caso não esteja, instale-o a partir do cd de instalação do Ubuntu.
Para isso, insira o CD do Ubuntu, quando aparecer a janela que detectou um CD do Ubuntu, escolha para “Abrir o Gerenciador de Pacotes”.
Vá em Procurar e localize o build-essential, marcando para instalação, aceitando as dependências e aplicando.

Baixe os drivers do modem no seguinte endereço:

Diretório de drivers: http://linmodems.technion.ac.il/pctel-linux/
driver para kernel: 2.16 – http://linmodems.technion.ac.il/pctel-linux/pctel-0.9.7-9-rht-6.tar.gz
driver para kernel: 2.19 – http://linmodems.technion.ac.il/pctel-linux/pctel-0.9.7-9-rht-7.tar.gz

O arquivo contem aproximadamente 1,4 mb.

Na página seguinte você encontrará a documentação do modem PC-TEL em português:

http://linmodems.technion.ac.il/linmodems_support_brpo.html

Para mais informações sobre Modens/Drivers, segue o seguinte endereço:

linmodens: http://linmodems.org/

No pacote em que se encontra o driver, existe um script auto-instalador(setup), portanto bastaria rodar $ sudo ./setup (ou acessando o terminal como root ./setup), entretanto ocorre um erro.

A saida de erro é a seguinte:
###########################################################
checking for running kernel version…2.6.17
checking for ptserial…ptserial- 2.6.c
checking for gcc…4.1.2
searching for kernel includes…found at /lib/modules/2.6.17-10-generic
/build/include
checking for autoconf.h…/lib/modules/2.6.17-10-generic/build/include/linux/autoconf.h
checking for asm/mach-default…yes
checking for kernel version in version.h…** error
could not determine a proper UTS_RELEASE
** compilation error
please read the FAQ about reporting compilation problems
and report this problem. A transcript of the build process
has been saved in src/make.log. When reporting problems to
the development team, please send us this file.
###########################################################

O mesmo erro ocorre se executar o script manualmente com $sudo ./configure -manual

Para resolver, edite o arquivo /src/configure e apaguei as linhas abaixo:

(Mais ou menos da linha 456 até mais ou menos a 484).

###########################################################
# find out exact kernel version from version.h file
#
echo -n “checking for kernel version in version.h…”
cat >t.c
#include “$kernel_inc/linux/version.h”
int main() {
printf(“%s\n”, UTS_RELEASE);
return 0;
}
EOF
gcc -I${kernel_inc} -o t t.c
uts_release=`./t`
rm ./t ./t.c
if [ -z ${uts_release} ]
then
echo “** error”
echo “could not determine a proper UTS_RELEASE”
exit 1
fi
echo “UTS_RELEASE is ${uts_release}”
###########################################################

Após apagar estas linhas do arquivo /src/configure, salve o arquivo, feche e execute novamente o script:

$sudo ./setup

Caso haja algum erro ao executar o arquivo, verifique as permissões do mesmo.
Para tornar o arquivo executável digite no console:

chmod a+x “nome do arquivo”

Recomendo baixar o discador do Gnome (Gnome-ppp).
Segue abaixo endereço para download:

http://ubuntu.c3sl.ufpr.br/ubuntu/pool/universe/g/gnome-ppp/gnome-ppp_0.3.23-1_i386.deb

Configure o Gnome-ppp e boa sorte.