Você está na página 1de 20

<Editorial>

<ndice>

<03> Notcias
<04> Tema de capa
<09> A programar
<15> GNU/Linux
<16> Internet
<17> Em anlise
<18> Dvidas
<19> Blue screen
<20> Comunidade P@P

<Equipa PROGRAMAR> A segunda vaga


<Administrao>
deathseeker25 (Rui Maia) Aps o lanamento da primeira edio da revista PROGRAMAR, foi possvel
d_pintassilgo (David Pintassilgo) receber o feedback de muitos leitores que conheciam, ou passaram a conhecer
melSpeedl.ine (Mrcio Lima)
a comunidade Portugal-a-Programar. Em geral, a revista foi muito bem
satanuke (Hugo Violante)
recebida e foi possvel recolher muitas crticas construtivas. Com base nessas
crticas e na nossa auto-avaliao, procurmos tornar esta edio da revista
<Coordenador> como um exemplo da nossa dedicao em partilhar todos os conhecimentos
neon_prannock (Srgio Santos)
que fomos adquirindo. Assim, tentmos tambm elevar o nvel deste nosso
projecto, para que seja reconhecido por todos os programadores. Esse o
<Redaco> nosso objectivo.
vbmaster (Miguel Pais)
marceluh (Marcelo Martins)
Para o desenvolvimento desta edio, podemos contar com o apoio de mais
revX (Ricardo Ribeiro)
Ped@ntilva (Pedro Silva) voluntrios, aos quais desde j agradecemos. A sua presena e participao
perdido_e_sozinho (Srgio Matias) foram importantes para manter a motivao e dar novas ideias nossa equipa.
Com o lanamento da segunda edio da revista, determinmos o perodo de
desenvolvimentos desta. A partir de agora uma nova edio ser lanada a
<Colaboradores>
AriOps (Daniel Correia) cada dois meses. Esta edio marca tambm o aniversrio da comunidade
Portugal-a-Programar, assunto a ser abordado na seco Comunidade.
</neon_prannock>
<Contacto>
revistaprogramar@portugal-a-programar.org

<2>
<Notcias>

Kids Programming Language Google em grande


O KPL, Linguagem de Programao para Crianas, uma
linguagem muito recente, criada exclusivamente para atrair as
crianas ao mundo da programao. Morrison Schwartz, criador
desta nova linguagem, orientou esta linguagem para o
desenvolvimento de jogos, pois talvez ser a melhor forma de
incentivar as crianas a utilizarem a mesma. Para programarem O Google obteu um aumento de 60% nos
em KPL, ser apenas necessrio a leitura, a matemtica e a lucros do primeiro trimestre de 2006. Esse
digitao, necessidades estas que sero desenvolvidas mais valor equivale a lucro lquido de 592,5
rapidamente com a ajuda da programao. milhes de dlares, segundo o anncio da
empresa. Na origem dos bons resultados est
Com o IDE disponvel para download, possvel fazer a o aumento das vendas de publicidade.
converso dos nossos programas em KLP para VB.NET ou C#. Entre Janeiro e Maro, as receitas da
empresa que gere o motor de busca mais
Site Oficial: popular do mundo cresceram 79%,
http://www.kidsprogramminglanguage.com/ ultrapassando pela primeira vez a barreira
dos dois mil milhes de dlares (2,25 mil
milhes). No primeiro trimestre de 2005 o
Google havia registado receitas de 1,26 mil
milhes de dlares.

No perodo em anlise, o Google viu a sua


liderana entre os motores de busca mais
utilizados reforada, aumentando a quota de
pesquisas online de 50 por cento para 60 por
cento, frente do Yahoo! e do MSN.

O presidente do Google, Eric Schmidt no


esconde a sua satisfao: "Estamos
obviamente muito felizes com os nossos
resultados do primeiro trimestre. Tivemos
boas notcias em todas as divises".

Ganhe dinheiro convertendo utilizadores para o Firefox


Foi criado um novo projecto para ajudar a converter utilizadores do Internet Explorer. A ideia consiste
num script que os webmasters podem adicionar ao site, e que detecta que browser os visitantes esto a
usar. O script pode simplesmente alert-los para as vantagens de usar o browser da Mozilla, colocando
um link para obterem o Firefox com a Google Toolbar, ou at mesmo bloquear os users do browser da
Mircrosoft. A parte mais atractiva que a Google ir dar $1 por cada pessoa convertida. Para isso
basta ter uma conta Google AdSense.

Mais informaes em: http://www.explorerdestroyer.com

<3>
<Tema de capa> Iniciao programao em Visual Basic

A lgo em que a nossa comunidade tem vindo a


querer intervir, e que tem sido um dos objectivos
principais desde a sua criao, foi o objectivo de
Antes de pormos as mos ao trabalho, convm ambientarmo-
nos com o ambiente em que vamos produzir e desenvolver os
nossos programas de iniciao. Como puderam constatar na
alargar a programao a todos os utilizadores de caixa Requisitos, h vrias verses disponveis do Visual
computador. Esta, ao contrrio do que muitos Studio, pacote que permite o desenvolvimento de linguagens
pensam, no aquele bicho de sete cabeas que s de programao desde o c++ ao vb, passando pelo c# e asp
(algumas delas s a partir da verso .net 2002/2003).
os mais inteligentes conseguem aprender. Pelo
Em primeiro lugar, vamos analisar as trs verses do Visual
contrrio, a sua iniciao bastante fcil, s Studio, nas quais podero desenvolver os vossos programas.
dificultada pelos programas que se possa
eventualmente precisar para programar na linguagem
em questo.
A primeira, e mais antiga (aproximadamente de 1998) o
Este pretende ser um tutorial que apoie os utilizadores Visual Studio 6. Apesar de j estar bastante desactualizada e
novatos nos seus primeiros passos com a linguagem de no conter as facilidades e funes importantes das outras
programao Visual Basic, para que comecem a sentir-se duas, ainda se comporta na perfeio para um iniciante em vb
vontade, e para que percebam realmente que qualquer um poder comear a programar, proporcionando-lhe um IDE
pode programar. rpido e eficaz.

Requisitos:
IDE Microsoft Visual Studio 6 ou Microsoft
Visual Studio.net 2002/2003 ou ainda Microsoft Por volta de 2002 a Microsoft decidiu fazer uma mini
Visual Studio.net 2005 ( venda em lojas de revoluo na forma como se programava e para isso lanou
software); uma nova verso do seu pacote de IDE's, desta vez
Disponibilidade para aprender; denominada Visual Studio.net 2002, ou Visual Studio 7.
Pacincia (qualidade que ter de vos Integrando a verso posterior de 2003, com a de 2002,
acompanhar ao longo da vossa cruzada da
podemos caracteriz-la por uma srie de inovaes que
programao);
deixaram todo o mundo da programao pasmado. Apesar de
Curiosidade (nem imaginam o montante de
tudo, os programadores da Microsoft souberam, nalguns
coisas que se descobrem bastando apenas possuir
curiosidade);
aspectos, complicar o que era simples no Visual Studio 6, pelo
que o upgrade de conhecimentos tornou-se um pouco
Apertem os cintos, pois sairo daqui como um peixe na gua, atribulado.
com o Visual Basic.

O ambiente de desenvolvimento integrado do


O ambiente de desenvolvimento integrado do Visual Basic.net 2003
Visual Basic 6

<4>
Iniciao programao em Visual Basic <Tema de capa>

Outras das janelas mais


Quando todos pensavam que j no se podia inovar mais, eis importantes a Proprieties
que os programadores da Microsoft do um safano ao Window. nela que podemos
mundo e o pem-no de novo surpreendido. A nova verso editar todas as propriedades dos
que tinham acabado de lanar era simplesmente estupenda. objectos inseridos na Form, bem
Integrava toda as vantagens a que tnhamos ficado como as suas prprias
habituados no .net 2002/2003, com a simplicidade que propriedades. De referir que tudo
reinava no vb6. A classe My. foi umas das grandes vantagens. o que l se faz pode ser feito por
a verso que eu recomendo para os iniciantes e para todos cdigo.
os programadores desta grande linguagem. A Proprieties Window

Por fim, um utilizador novato


apenas precisa de tomar
conhecimento da barra mais
importante do IDE, a Toolbox, esta
onde se encontram todo os
componentes que se podem
desenhar na Form, e
posteriormente adicionar cdigo.
Aspecto do ambiente de desenvolvimento Inclu desde botes a caixas de
integrado do Visual Basic.net 2005 texto, passando por menus,
optionboxes, comboboxes, etc, etc.

A Toolbox

Agora que j demos uma olhadela pelos vrios ambientes nos


quais podemos desenvolver os nossos programas, convm dar
ao utilizador uma ideia do porqu das janelas que l se
Mas no meio de tudo isto, natural que o utilizador iniciante
encontram e para que servem. Tentarei ao mximo manter a
se sinta confundido, sem sequer saber como chegar s janelas
compatibilidade com as restantes verses, mas os exemplos
mostradas nas imagens dos IDE's.
dados sero da .net 2005.
Bem, para comearmos a codar precisamos apenas de:
Em VB6: Abrir o Visual Basic 6, visto que nesta
verso ele encontrava-se separado do resto dos
IDE's, e no integrado como nas .net. Em seguida
Logo esquerda (na maior parte dos
aparece uma janela que nos pergunta o tipo de
IDE's), encontramos a Solution
projecto que queremos. O Standard d perfeitamente
Explorer. Esta a janela que nos d
para a maior parte dos casos;
informaes sobre a quantidade e
Em vb.net 2002/2003 e vb.net 2005, visto que todos
contedo de ficheiros que compe o
os IDE's se encontram aglutinados num programa, h
nosso projecto. l que por exemplo
que fazer, New Project, seleccionar Visual Basic
podemos adicionar mais Forms (comum
Project e por fim Windows Application, no
janela do Windows standard que
esquecendo de dar o nome respectivo.
aparece ao fazer um novo projecto de
Visual Basic) ao nosso projecto, bem
como todo o tipo de itens.
Vamos ento entrar um pouco mais no mbito desta
linguagem.
A Solution Explorer
Window

<5>
<Tema de capa> Iniciao programao em Visual Basic

Mais algumas informaes...

Antes de comearmos propriamente a programar convm Nota: Pode-se aceder ao General Declarations fazendo duplo
saber algumas noes sobre programao. click na nossa Form, para abrir a janela de cdigo e, em
Vamos comear por falar de variveis. seguida, seleccionar no primeiro drop-down que se observa
no topo dessa janela, General, e no segundo dropdown,
Variveis so locais reservados na memria do computador seleccionar Declarations.
para receber um determinado valor. Estas tm
obrigatoriamente de ter um nome e um tipo especificado. Por
exemplo, podemos reservar na memria espao com o nome
de nmero, que fica, durante a execuo do nosso programa, Como de pequenino que se torce o pepino, convm tambm
espera que lhe seja passado um valor numrico a guardar. passar j neste momento ao utilizador alguns truques que o
podero ajudar a organizar o seu cdigo. Se tem um esprito
Em Visual Basic, estas declaram-se com o seguinte cdigo: curioso, certamente j se fartou de adicionar e tirar
componentes da Form, e de certo j reparou que ao adicionar,
por exemplo, uma texbox, ela toma o valor de Texbox1
(Text1 em vb6). Se adicionar outra, tomar o valor TextBox2
Dim nome_da_variavel As Tipo
(Text2 em vb6). Ao fim de pouco tempo, num projecto de
grandes dimenses, estaria confuso sobre qual qual e o que
faz cada um, e ento, para quem possivelmente fosse analisar
O tipo pode ser inteiro, real, string (texto), etc. Convm o cdigo do seu programa mais confuso pareceria.
tambm ver que o nome destas nunca deve conter nmeros
ou espaos.

Deve-se ter sempre ateno ao nmero de variveis que o para isso que a notao Hungara surgiu: ao adicionar
nosso programa vai utilizar, de maneira a declar-las logo o componentes, lhes d um nome que tanto diga que espcie de
mais cedo possvel, e tornar a posterior leitura do cdigo objecto so, bem como a funo que tm no programa.
muito mais simples. Geralmente podemos declar-las em
qualquer rea, mas por vezes isso pode trazer inconvenientes.
Como tal, quando se tem dvidas, declara-se sempre as Ex: uma texbox de um programa calculadora que resulta a
variveis no General Declarations,. Esta uma instncia que soma entre dois valores, poder chamar-se txtResultado.
as mantm pblicas para toda a Form, sem nunca trazer Repare as primeiras trs letras referem que o objecto uma
inconvenientes, a no ser na leitura do cdigo, se o user no TextBox e as restantes o que que ela executa no programa.
for cuidadoso. Pode mudar o nome dos objectos ao seleccion-los quando j
desenhados na Form, e alterar a Propriedade Name na
Proprieties Window.

Mais frente nesta edio encontrar um tutorial sobre este


mesmo assunto, de nome Coding Conventions, Porqu?.

O General Declarations

<6>
Iniciao programao em Visual Basic <Tema de capa>

Programa Hello World

Este um programa bastante simples, que apenas vai


introduzir a palavra 'ol' na caixa de texto txtMensagem
quando carregado o boto btnMensagem. Para testar o seu programa basta fazer F5, ou carregar no
smbolo semelhante a um boto de Play no seu IDE.

Precisamos de:
Uma Label de nome lblTexto; Para um iniciante o fazer o seu primeiro programa uma
Uma TextBox de nome lblMensagem; sensao de alegria que no se consegue exprimir por
Um Button (ou CommandButton em vb6) de nome palavras. Esperemos que tenha ficado motivado com a
btnMensagem; programao em vb, e prepare-se para as prximas lies.

Nota: Para distribuir o seu programa a amigos basta, nas


Para fazer tal coisa, basta desenhar os controlos na Form, verses .net, ir ao menu Build e fazer Rebuild All. Em vb6,
assim como eles aparecem na imagem (todas as propriedades basta ir ao menu File e fazer Make programa.exe. Na
dos controlos esto acessveis na Properties Window, entre primeira hiptese o executvel h-de ficar guardado no
elas a propriedade Text das Labels (Caption em vb6), que a directrio do projecto, na pasta Debug. Na segunda hiptese,
que define o texto que apresentam, bem como a Text dos o prprio programa pergunta onde quer guardar o .exe.
botes (Caption em vb6) ).

Para fazer com que, ao carregar no boto, o texto aparea


na TextBox muito simples: basta fazer um duplo clique
sobre o boto. Novamente aparece a janela de cdigo, e l
em cima no dropdown deve estar seleccionado, no da
esquerda, btnMensagem, e no da direita, o evento Click. ou
seja, este ser o cdigo a ser executado quando fazemos um
clique sobre o boto.

O cdigo o seguinte (e deve ser colocado entre o Private


Sub e o End Sub):

txtMensagem.Text = "Ol

O aspecto do nosso primeiro programa

Ao carregar no boto, iremos portanto, editar a


propriedade Text da txtMensagem (que a que determina o
texto inserido nesta), e mud-lo para a palavra Ol. Ao
adicionar uma TextBox em vb6 e vb.net 2002/2003 o texto
inserido por defeito o seu prprio nome, como j deve ter
percebido podemos alterar esse valor na Proprieties Window.

<7>
<Tema de capa> Iniciao programao em Visual Basic

O aspecto do nosso segundo programa

Programa - Soma
Eu sei que soube a pouco, mas prometemos continuar a
Este programa vai nos permitir inserir dois valores ensinar Visual Basic nas prximas edies. At l, no tenham
numricos, e em seguida apresentar numa TextBox o resultado. medo do vosso prprio computador.... o vosso computador
que deve ter medo de vocs. :)
</vbmaster & marceluh>
Precisaremos de:
Uma Label lblTtulo;
Uma TextBox txtN1, uma TextBox txtN2 e uma
txtResultado;
Um boto btnCalcular;

Para que o programa funcione basta apenas adicionar o Procuram-se


seguinte cdigo no evento Click do btnCalcular:

Programadores dispostos ajudar


txtResultado.Text = Val(txtN1.Text) +
Val(txtN2.Text)
na criao de artigos para revista
de programao nica no
mercado portugus. Mais
Visto que as TextBox so, como o prprio nome indica, informaes em:
caixas de texto, necessrio incluir a preposio Val() antes de
somar os dois valores. Desta maneira, o programa pegar no
valor introduzido na primeira TextBox e no valor Introduzido na www.revista-programar.info
segunda TextBox e som-los-, apresentando-os na
txtResultado ao editar a sua propriedade Text.

<8>
PHP - Iniciao <A programar>

Como funciona um ficheiro PHP?

O ficheiro tem como extenso .php, por exemplo


pagina.php e este ficheiro funciona como um HTML limpo
aos olhos do Navegador. O cdigo do ficheiro PHP executado
antes e cria o output HTML, simples e directo sendo
interpretado em conjunto com o restante cdigo HTML do
ficheiro.
Uma linguagem dinmica server-side
Ol mundo

PHP a sigla de Hypertext Preprocessor


que em portugus significa processador
de Hipertexto. uma linguagem open-source (o
Como com todos os programadores quando interagem com
uma nova linguagem de programao pela primeira vez, esta
interaco comea pelo simples Ol mundo! e consiste em
simplesmente imprimir o texto Ol mundo nessa linguagem.
cdigo disponibilizado aos utilizadores) e usada
principalmente no desenvolvimento de aplicaes Aqui podemos observar que no fundo um ficheiro html onde
server-side (as operaes ocorrem do lado do adicionamos as tags <?php ?> e l dentro executamos o
servidor). Ou seja, o PHP usado no servidor para comando PHP neste caso o echo que o comando PHP que
tornar o cdigo PHP em HTML legvel aos browsers de imprime texto no ecr.
Internet. <?php
echo "Ol mundo!";
Podem at perguntar E qual a vantagem disso?.A ?>
vantagem que podemos usar o PHP para fazer clculos,
manipular dados, ligar a Bases de Dados, fazer com que 10
pginas HTML fiquem em apenas uma PHP, ter uma pgina Resultado:
com login de utilizador para tornar contedos privados, entre Ol mundo!
muitas outras coisas que iro aprender nestes tutoriais.
A linguagem PHP uma linguagem baseada noutras Aqui podemos observar que no fundo um ficheiro HTML
linguagens, nomeadamente C, Java e Perl. Com o tempo tem onde adicionamos as tags "<?php" e "?>" e l dentro
vindo a atingir uma grande dinmica e est cada vez mais executamos o comando PHP neste caso o echo que o
poderosa, com novas funcionalidades. comando PHP que imprime texto no ecr.

Antes de comearem a trabalhar em PHP aconselhvel que


tenho alguma noo de HTML, pois o output do PHP feito
para HTML. PHP uma linguagem de
programao livre e muito
Esta linguagem interage com uma enorme quantidade de
sistemas de base de dados entre as quais se podem destacar:
usada para gerar contedos
MySQL; dinmicos para Web.
Oracle;
IBM DB2;
Microsoft SQL Server; Utilizar Variveis
PostgreSQL;
SQLite. Em PHP podemos definir variveis. As variveis consistem
essencialmente num modo de diminuir o tamanho do cdigo e
O download do ficheiro de instalao PHP pode ser feito em de o simplificar. Para definir variveis utilizamos o smbolo $.
http://www.php.net/downloads.php As variveis podem ser letras, nmeros, ou conjuntos de
objectos.

<9>
<A programar> PHP - Iniciao
Lgica:
<?php && ( e Ex. consideremos x=9 e y=7 ento x < 10 && y > 3
$nome_da_variavel = "Ol mundo!";
d verdadeiro
echo $nome_da_variavel;
|| ( ou Ex. consideremos x=9 e y=7 ento x == 10 || y == 3
?>
d falso
! ( no Ex. consideremos x=9 e y=7 ento !(x == y) d
verdadeiro
Resultado:
Ol mundo!
Um pequeno exemplo:
Aqui definimos a varivel que se chama nome_da_variavel e
o seu contedo que o texto Ol mundo!. De seguida <?php
fazemos o echo e imprimimos o contedo dessa varivel para o $x = 7;
ecr do utilizador. $y = 7;
$z = 2;
Para imprimir 2 variveis seguidas usamos um ponto ( . ) .
if ($x == $y){ // Se x igual a y
Como por exemplo, para escrever-mos as variveis $ola="ola" echo "x = y = " . $x . "<br>";
e $mundo="mundo" de modo a obtermos : "ola mundo" }
fazemos:
$x += $z;
echo "x = " . $x . "<br>";
echo "".$ola." ".$mundo;
if ($x > $y){ // Se x maior que y
echo "x maior que y <br>";
Operadores }
else { // Seno
echo "x no maior que y";
Aritmticos: }
+ ( sinal de adio Ex. x+y ) ?>
- ( sinal de subtraco Ex. x-y )
* ( sinal de multiplicao Ex. x*y )
/ ( sinal de diviso Ex. x/y ) Resultado:
% ( obtm o nmero de casas decimais da diviso entre 2 nmeros x=y=7
Ex. 5%2 que d 1 c.d. )
x=9
x maior que y
Definio:
= ( define que o primeiro nmero igual ao segundo Ex. x=y ) A tag <br> interpretada pelo HTML como mudana de
+= ( define que x a soma de x com y Ex. x+=y igual a x=x+y )
linha. Para colocarem comentrios no vosso PHP utiliza-se //,
isto faz com que o PHP ignore tudo o que est para alm
-= ( define que x a subtraco de x por y Ex. x-=y igual a x=x-
y) desse smbolo na linha. Para se fazer um comentrio em vrias
*= ( define que x igual multiplicao de x com y Ex. x*=y linhas pode-se utilizar /* e no final do comentrio */.
igual a x=x*y ) muito importante termos o nosso cdigo devidamente
/= ( define que x igual diviso de x por y Ex. x/=y igual a comentado para que seja de fcil leitura para ns e para os
x=x/y ) outros. Quando se tem centenas de linhas de cdigo pela
%= ( define que x o n. de casas dcimas da diviso de x por y frente se estiver comentado fcil de perceber a sua
Ex. x%=y igual a x=x%y ) funcionalidade.

Comparao: Concluso
== ( igual a Ex. 7==9 d falso )
!= ( no igual a Ex. 7!=9 d verdadeiro ) E aqui fica a iniciao ao PHP. Esperamos que este artigo seja
> ( maior que Ex. 7>9 d falso ) do vosso agrado e que compreendam que um nico artigo
< ( menor que Ex. 7<9 d verdadeiro ) nunca chegaria para incluir tudo, deste grande universo que
>= ( maior ou igual que Ex. 7>=9 d falso ) a linguagem PHP.
<= ( menor ou igual que Ex. 7<=9 d verdadeiro )
</revX & Ped@ntilva>

<10>
Visual Basic.NET Coding Conventions, porqu? <A programar>

Comentrios
Todos os procedimentos devem ser correctamente
comentados, de forma a possurem informao que permita
definir a sua finalidade e funcionamento.
Deve-se tambm comentar as variveis e blocos lgicos. O
comentrio deve reflectir o que faz o bloco de cdigo e no
repetir o cdigo:

ERRADO
A importncia das Coding Conventions

N
'Abrir um ficheiro de texto
em todos os programadores concordam com as Dim sr as new StreamReader("c:\texto.txt")
convenes de cdigo, o facto que estas so 'Declarar um Inteiro
muito importantes, uma vez que permitem uniformizar Dim i as Integer
'Repetir a leitura de cada linha
o cdigo, permitindo que vrios departamentos While sr.ReadLine()
programem da mesma maneira de forma a unir mais 'Acrescentar 1
i = i +1
tarde todo um projecto. Imaginem o caos de End While
programar um Windows ou Linux com milhes de
linhas de cdigo onde cada programador programava
com as suas prprias regras. CORRECTO

Quando nunca se utilizou qualquer regra na definio de


'Conta o nmero de linhas no ficheiro
controlos e variveis, difcil comear a usar regras, uma vez Dim sr as new StreamReader("c:\texto.txt")
que se perde por vezes mais tempo, mas o facto que em Dim i as Integer
grandes programas esse tempo ganho mais tarde. Alm While sr.ReadLine()
quantos de vocs no voltaram a pegar num projecto e no i = i +1
perceberam nada do que haviam desenvolvido algum tempo End While
atrs.

As Melhores Prticas para VB A ter em Conta


Option Strict On
Esta opo obriga a que todas as variveis sejam declaradas o Muitas pessoas acham que usar funes do namespace
facto que evitam erros desenvolvidos sem razo melhorando Microsoft.VisualBasic incorrecto. No podiam estar mais
a qualidade do cdigo. erradas, o facto que estas funes fazem parte do prprio
framework, e como tal no tm qualquer incompatibilidade
Camel Casing com o framework. O que pode causar problemas e deve ser
Camel Casing consiste em colocar em minscula a primeira evitado ao mximo so as funes do namespace
letra, num formato idntico ao seguinte: listaUtilizadores, Microsoft.VisualBasic.Compactility que surge normalmente na
dadosRegisto... converso de projectos de VB6 para VB.NET. Este namespace
No VB deve ser utilizado em variveis locais, privadas(private) apenas temporrio e tem de ser includo nos projectos,
ou protegidas (protected) que no esto acessveis causando muitos problemas.
externamente. Devem ser sempre usados nomes consistentes e reveladores
do contedo das variveis. Variveis i,j,k podem ser usados em
Pascal Casing loop's triviais, mas se necessita de uma varivel para guardar
Pascal Casing consiste em colocar em maiscula a primeira dados deve usar um nome consistente como por exemplo
letra de cada palavra num formato idntico ao seguinte: sNomeAluno.
ListaUtilizadores, DadosRegistos... No VB deve ser utilizado
sempre que no se aplique o Camel Casing e em objectos.

<11>
<A programar> Visual Basic.NET Coding Conventions, porqu?

Hungarian Notation ToolBarButton tbb


TooTip tip
TrackBar trk
A Hungarian Notation foi criada com o objectivo de identificar o TreeNode nod
tipo de varivel atravs do seu nome, o facto que quando TreeView tvw
trabalhamos com muitos controlos ou em grupo, isto pode ser VScrollBar vsb
muito til. De facto a Hungarian Notation universal e usada
em diversas linguagens. Data Objects
Connection cnn
Para utilizar a Hungarian Notation basta adicionar um prefixo
Command cmd
em minsculas ao nome da varivel. Cada Prefixo tem um CommanderBuilder cb
significado. Ex.: frmMenu no VB uma form chamada Menu. DataAdapter da
DataColumn dcl
DataReader dr
Controlos Standart DataRow drw
DataSet ds
DataTable dt
Button btn
DataView dv
CheckBox chk
CheckedListBox clst
ColorDialog cdlg
ColumnHeader chdr As coisas que sempre foram ms, so ms e sempre sero
ComboBox cbo ms!
ContextMenu cmnu
CrystalReportViewer crv
DataGrid grd O Goto, Option Explicit Off e On Error Resume Next nunca
DateTimePicker dtp foram muito boas ideias. E ainda no so. Para controlo de
DomainUoDown dud erros deve-se utilizar a estrutura Try.
ErrorProvider erp
FontDialog fdlg
Form frm
GroupBox grp
HelpProvider hlp Try
HScrollBar hsb Dim x as Integer
ImageList img x = x / 0
Label lbl Catch ex as Exception
LinkLabel lnk MsgBox(ex.Message)
ListBox lst Finally
ListView lvw ' Este cdigo corre sempre
Menu mnu End Try
MonthCalendar cal
NotifyIcon nico
NumericUpDown nud
OpenFileDialog odlg Esta forma de controlo de erros evita que o programa tenha
PageSetupDialog psd problemas e ainda permite determinar com preciso o tipo de
PictureBox pic erro, assim como correr algum cdigo de correco.
PrintDialog pdlg
PrintDocument pdoc
PrintPreviewControl ppc Deve-se ainda evitar o uso de caracteres fora do padro A-Z,
PrintPreviewDialog ppd 0-9.
ProgressBar pbr
RadioButton rad User Interface
RadioButtonList rbl
RichTextBox rtf As aplicaes devero ter sempre uma form de Sobre a
SaveFileDialog sdlg aplicao e um menu de Ajuda para que o utilizador saiba
Splitter spl onde pode encontrar suporte.
StatusBa sbr
StatusBarPanel sbp
TabControl tab
Cada utilizador deve utilizar estas Coding Conventions como
TabPage pge entender e devem facilitar o seu trabalho, no complic-lo.
TextBox txt </perdido_e_sozinho>
Timer tmr
ToolBar tbr

<12>
Introduo programao de jogos <A programar>
editora, ou por conta prpria, a campanha de marketing
efectuada, as relaes estabelecidas com a imprensa, entre
outros factores. Neste artigo irei focar a rea da programao,
que foi a principal rea que deu origem aos videojogos.

Para os programadores, existem dois caminhos principais para


se iniciar no desenvolvimento de jogos, cada um com as suas
vantagens e desvantagens. possvel dedicar-se ao estudo de
uma ou vrias linguagens de programao, ou dedicar-se
criao de MODs de jogos que disponibilizem ferramentas para
este efeito. tambm possvel dedicar-se a ambos, para
beneficiar da experincia dos dois, se tiverem disponibilidade
para isso.
Liberte a sua criatividade

O desenvolvimento de jogos um tpico que tem Os jogos que mais se destacam pela qualidade de ferramentas
e pelo elevado nmero de MODs so o Half-Life(2), Doom3,
captado cada vez mais o interesse na rea da
Neverwinter Nights, e os jogos baseados no motor Unreal,
informtica. Este facto deve-se crescente como o Unreal Tournment, Deus Ex, Postal 2, entre outros
massificao dos videojogos na sociedade actual. Os jogos conhecidos. Existem tambm muitos outros jogos que
jogos so agora uma das principais funes dos suportam MODs, com o Max Payne 2, TES3: Morrowind,
computadores, sendo por vezes, a prpria razo Command and Conquer. Para ter uma melhor ideia sobre o
porque estes so adquiridos. universo da criao de MODs, dem uma vista de olhos a
http://moddb.com. As ferramentas normalmente
No entanto, o desenvolvimento de jogos muitas vezes tido disponibilizadas so um editor de nveis e outros aspectos do
como um passatempo de jovens, que no possui qualquer tipo jogo, ou at uma linguagem de scripting, como o
de futuro, e que no requer muitos conhecimentos. Mas, pelo UnrealScript?, ou o prprio cdigo-fonte do jogo. As principais
contrrio, a criao de videojogos j deu origem a grandes vantagens do desenvolvimento de MODs so os conhecimentos
empresas, sendo o mercado de videojogos, um negcio que adquiridos sobre o funcionamento de um jogo comercial e
movimenta demasiado dinheiro para ser deixado de parte. No reconhecido, como trabalham as partes principais do jogo,
entanto, so poucos os que conseguem entrar neste mundo, como os seus ficheiros so distribudos, etc. Tambm permite a
devido ao elevado grau de dificuldade, quer pelos criao, de forma relativamente mais fcil, de um produto mais
conhecimentos necessrios como pelo constante apelativo aos jogadores, embora sempre semelhantes ao jogo
desenvolvimento das tecnologias. O desenvolvimento de jogos principal. Essa mesmo a principal desvantagem, o facto de
uma rea em expanso, mesmo no nosso pas em que, estarmos limitados s ferramentas disponibilizadas, e tambm
embora pouco divulgados, existem bastantes projectos e vrias por serem raros os casos MODs comerciais (Counter-Strike,
empresas em funcionamento. Day Of Defeat, ...).

As vantagens de aprender uma linguagem de programao so


A principal e mais importante caracterstica do desenvolvimento
vrias, mas a principal razo o facto de obtermos todo o
de jogos que engloba diversas reas como a programao,
controlo do nosso jogo e podermos cri-lo da forma que
artes grficas, som, e outras que variam de jogo para jogo.
entendemos. Mas para isso preciso dominar uma linguagem
Todas estas reas tm que ser bem coordenadas e associadas,
de programao, o que pode levar algum tempo. Em relao
para o jogo se tornar atractivo para o jogador. Um jogo pode
criao de MODs, o perodo e a dificuldade de aprendizagem
ser muito bom graficamente, mas se possuir demasiados bugs,
de uma linguagem de programao so mais elevados. Isto
ir perder rapidamente o interesse do jogador, assim como um
pode levar alguns iniciantes a desistirem, mas a recompensa
jogo com grficos fracos ou um som irritante. Existem tambm
de dominar uma linguagem de programao grande. Outra
um variado nmero de actividades externas ao
das vantagens de saber trabalhar com uma determinada
desenvolvimento, mas que tambm so importantes e
linguagem, que esta tambm pode ser aplicada em outros
contribuem para o sucesso deste. Aqui englobam-se vrios
trabalhos, diferentes de jogos, como software empresarial,
pormenores como a distribuio deste por parte de uma
entre outros.

<13>
<A programar> Introduo programao de jogos
revistos. Mas no deixam de ser uma das principais fontes, a
O primeiro dilema que os futuros programadores se deparam, que iro recorrer muitas vezes. Outro factor importante so as
com a deciso de qual linguagem aprender. Uma das opes comunidades que se formam volta deste tema. Estas
mais recomendada C++. uma linguagem que vastamente comunidades so formadas atravs de um site, frum, canal de
utilizada na indstria de videojogos. Mais de 90% dos jogos IRC, entre outros. As comunidades so importantes para a
que costumamos ver nas prateleiras das lojas, so partilha de artigos, mas especialmente para tirar dvidas,
programados nesta linguagem. tambm uma das que possui partilhar experincias e pedir conselhos a pessoas mais
maior documentao e referncias, assim como ferramentas. experientes, tendo em considerao as regras estabelecidas.
As suas caractersticas, como a velocidade e controlo, tambm Finalmente, possvel recorrer tambm ao cdigo-fonte de
a favorecem em relao s restantes linguagens. Esta jogos, que sejam lanados sobre a licena "open-source".
linguagem peca apenas pelas dificuldades que introduz a Estes j requerem alguns conhecimentos sobre a linguagem
algum novo programao. Mas tambm so usadas outras em questo, mas so uma fonte de informao muito valiosa,
linguagens, com caractersticas bastante variadas. j que apresentam a resoluo de problemas com que o
programador se deparou e os mtodos que devem ser usados
em cada situao.
Java uma linguagem que se destaca pela sua portabilidade.
Os programas feitos em Java podem ser usados em variadas
plataformas, como o computador, telemveis, PDAs, e mesmo Para conseguir desenvolver o jogo dos nossos sonhos,
websites, apenas com reduzidas modificaes. Esta necessrio muito esforo e dedicao, para alm de pacincia e
portabilidade leva a algum custo no desempenho, mas no persistncia para todas as dificuldades que iram surgir. O meu
deixa de ser um opo a ter em conta. Temos tambm Visual conselho, e o da maioria dos programadores, comear por
BASIC, que se destaca pela sua facilidade de aprendizagem e jogos pequenos e simples, como por exemplo Tetris, Snake,
utilizao, embora seja mais utilizada na criao de outro tipo Pacman, um Shooter 2D, cada um introduzindo uma nova
de software. Existem tambm vrios jogos feitos em Delphi, funcionalidade caracterstica, que vai aumentando a
uma linguagem derivada de Pascal, alguns deles comerciais. dificuldade. Esta a melhor maneira para um principiante no
Os jogos desenvolvidos sobre a plataforma Flash tambm tm se perder entre as inmeras capacidades de programao, que
ganho bastante popularidade, graas sua integrao nos o desenvolvimento de jogos exige.
sites, que permitem um rpido acesso, e simplicidade. Estes
jogos so predominantemente baseados no aspecto grfico,
mas necessitam de uma base de programao, que feita em Grande parte dos que desenvolvem jogos so amadores, j
ActionScript?. que s o fazem nos tempos livres, por serem estudantes ou
terem um emprego noutra rea. No fcil, mas o objectivo
de praticamente todos, entrar na indstria de videojogos, quer
Existem variadas fontes de sobre desenvolvimento de jogos. A trabalhando para uma produtora, ou criando a sua prpria
mais importante e fivel so os livros. A cada novo tema ou produtora. Este um caminho longe de ser fcil, mas muito
linguagem de programao, que se decide aprender e recompensador.
dominar, convm ter um livro, tanto para auxiliar na
aprendizagem, como para ser utilizado como referncia. No Alguns links:
entanto, os livros de programao, que se encontram venda
em Portugal, possuem poucas referncias ao desenvolvimento Comunidades internacionais:
de jogos. Por isso, necessrio, muitas vezes, mandar vir os http://www.gamedev.net
livros atravs de uma loja online, como a Amazon http://www.devmaster.net
(http://www.amazon.com), o que encarece um bocado o
preo, mas apresenta uma maior variedade de escolha.
Comunidades portuguesas:
http://www.gamedev-pt.net
http://www.igda.org/lisbon
A internet o local onde possvel encontrar praticamente
todo o tipo de informao, sobre qualquer assunto. possvel <neon_prannock>
encontrar um grande nmero de artigos e tutoriais sobre
qualquer linguagem e qualquer aspecto do desenvolvimento de
jogos. Mas, essa variedade leva s vezes a alguma
desinformao em alguns artigos menos trabalhados e

<14>
XGL <GNU/Linux>

tambm foi incorporado, bem como efeitos de janelas


gelatinosas ao serem arrastadas, suavizao de menus, e
muito mais.

E ao contrrio do que possamos pensar, esta tecnologia


modesta o suficiente a nveis de recursos, para correr nos pc's
menos favorecidos, visto que tudo se baseia no GPU da placa
Nesta edio aproveitamos para falar um pouco sobre grfica, e no no CPU do computador.
a arquitectura que tm dado muito que falar no seio Resta apenas, atravs da nossa prpria utilizao, constatar se
da comunidade opensource, e que se tm vindo a tanto efeito no prejudica a funcionalidade do desktop
tornar um must have de qualquer desktop que se environmment. Da nossa parte, que j testmos o Xgl,
preze. O que afinal o Xgl? Para que serve? Porqu podemos dizer que no atrapalha em nada, e s ganhamos em
inclu-lo no desktop environmment? So tudo rapidez com esta tecnologia.
perguntas que vamos responder neste artigo. </vbmaster>

O seu anncio surgiu no dia 1 de Janeiro de 2005, por David


Reveman, e toda a comunidade GNU/Linux ficou de boca
aberta com o que podero ser os prximos desktop
environments.

Xgl uma arquitectura do Xserver que aproveita todas as


potencialidades do OpenGL, de modo a acelerar todo o
desktop environment da distribuio em questo. Aliado a um
compositing windows manager como por exemplo o Compiz, o
Xgl fornece ainda uma panplia de efeitos visuais atraentes ao
desktop environmment que tm sido, no fundo, a razo de
todo o alarido que tem surgido.

No entanto, como tecnologia recente, tem tido alguns


problemas no que toca a compatibilidade com os modelos de
placas grficas, s suportando as placas mais recentes. As
placas da Nvidia so as mais aconselhveis para correr esta
tecnologia.

Os efeitos em si no so propriamente novos: um utilizador de


MacOSX sentir, muito provavelmente, um pouco de deja vu,
ao ver os efeitos que esto a chegar ao mundo opensource. As
transparncias sero uma constante, mas no nos ficamos por
aqui: o famoso efeito do cubo, que nos permite de uma
maneira 3d saltar de rea de trabalho em rea de trabalho

<15>
<Internet>
Aqui esto alguns links teis a qualquer programador:

sqlZoo - http://sqlzoo.net

Se ests a aprender SQL e queres um local onde possas praticar convenientemente as tuas consultas, ento este site ideal
para ti. Praticas as tuas consultas base de dados de forma simples e ficas a saber como utilizar consultas em SQL.

Hackaholic.org - http://hackaholic.org

Um site cheio de explicaes ligadas ao hacking na pura concepo da palavra. Muito interessante para programadores com
alguma experincia em Python, C e C++. Algo a no perder.

FreeProgrammingResources - http://www.freeprogrammingresources.com

Um site com centenas de recursos uteis a programadores. Desde links para e-books at links para download, este site tem uma
variedade de ligaes a pginas de contedo relacionado com a programao. Tem contedo relativo a muitas linguagens de
programao, como por exemplo Assembly, Ada, Cobol, C,C++,Pascal, Perl,PHP,Lua,Ruby-on-Rails, entre muitas outras.

Linoleum: Linux Programming Resources - http://linoleum.leapster.org

Mais um site cheio de recursos de programao. Desta vez so recursos de programao em GNU/Linux. Algo a no perder.

Python.org - www.python.org

O site oficial da linguagem de programao Python. Um local onde os programadores podem ler toda a documentao, fazer
download de um interpretador e participar nas actividades e discusses da comunidade.

HotScripts - http://www.hotscripts.com

Neste site podem fazer download de milhares de scripts de diversas linguagens. Esto presentes mais de 12 mil scripts de PHP,
mais de 3 mil scripts de ASP, mais de 1500 scripts de Java e podem encontrar scripts de linguagens como Python, XML,
CGI/Perl, JavaScript, C,C++, entre outras. Um site obrigatrio para todos os programadores.

PEAR PHP - http://pear.php.net

Este o maior repositrio mundial de extenses e aplicaes PHP. Podem encontrar pacotes de encriptao, bases de dados,
redes, estruturas, XML, sistemas de ficheiros, entre muitos outros. O site possui uma interface de fcil navegao, o que facilita
em muito o trabalho do visitante.

<16>
<Em anlise>

Kdissert Programao com PHP 4.3


Para quem precisa de organizar as ideias. Como criar portais dinmicos.

E nquanto um jornalista escreve


um artigo, surgem inmeras
ideias e pensamentos na sua
adicionamos links ou imagens,etc.
Os documentos resultantes podem
ser ficheiros PDF,imagens,
P rogramao com PHP 4.3 de
Carlos Serro e Joaquim
Marques um livro que aborda
O livro aborda temas importantes e
comuns na programao de um site
cabea. A tarefa mais complicada documentos LaTex, documentos temas como a instalao do PHP dinmico como instrues SQL,
ligar essas ideias de forma a que os HTML para pginas web, ou 4.3 em diversas plataformas, armazenamento em bases de
leitores compreendam qual o ficheiros OpenOffice.org Impress. explicaes sobre conceitos PHP dados, armazenamento de dados e
verdadeiro significado das frases A palavra dissert em kdissert faz- 4.3 e respectiva sintaxe, ficheiros XML, utilizao de sesses
construdas. Para ajudar os nos pensar que a aplicao tem explicaes sobre gesto de cookies ou de cookies, definio de
jornalistas, os bloggers e os como pblico-alvo estudantes e sesses, sistemas de comrcio permisses, ficheiros,entre outros.
escritores a organizar essas ideias, universitrios, no entanto este electrnico, segurana, , portanto, um livro muito
surge o kdissert. pacote realmente fantstico para desenvolvimento de aplicaes com completo, com um enorme nmero
quem quer elaborar apresentaes, XML, truques e tcnicas na de scripts disponveis, do qual o
O kdissert, projecto liderado por por exemplo. Assim sendo, o utilizao do PHP 4.3 e de algumas utilizador pode tirar todas as
Thomas Nagy uma aplicao de pblico-alvo so todos aqueles que ferramentas associadas. informaes necessrias para
mind mapping que tem como pretenderem organizar as suas desenvolver as suas primeiras
objectivo ajudar quem escreve a ideias de modo a construrem um Escrito por Carlos Serro e Joaquim aplicaes em PHP.
organizar as ideias. Poder ser til texto estruturado e de qualidade Marques, ambos com mestrados na
na escrita de teses, dissertaes, elevada. A ltima verso da rea da Gesto de Sistemas de um livro recomendado a todos os
apresentaes e at de livros. O aplicao est disponvel no site Informao pelo ISCTE e com novos programadores que se
programa permite-nos criar um oficial do kdissert cargos na ADETTI em aces de queiram iniciar em PHP e a
mapa de ideias, que ajuda a (http://freehackers.org/%7Etnagy/ Investigao e Desenvolvimento estudantes universitrios que
estruturar os pensamentos que kdissert). (I&D), este um livro que tem abordem a linguagem, j que este
vamos tendo enquanto escrevemos como pblico alvo os jovens tem uma vertente prtica e oferece
ou, se o escritor preferir, antes de O programa tem uma interface programadores que queiram uma explicao sucinta dos
escrevermos. Com a criao destas muito amigvel ao utilizador, logo aprender a programar em PHP, contedos fulcrais da iniciao na
estruturas, as probabilidades de de fcil aprendizagem. concentrando toda a aco volta mesma. O Portugal-a-Programar
escrevermos um texto mais Recomendamos este programa a do desenvolvimento de um site recomenda a leitura deste livro.
ordenado e com mais qualidade so todos os bloggers que pretendem dinmico. O livro baseia-se </deathseeker25>
maiores. escrever artigos de qualidade, essencialmente na demonstrao
assim como aos estudantes de aces atravs de scripts
Com o kdissert, organizamos os universitrios que tm teses para acompanhados por uma explicao
pensamentos numa pgina escrever. dos mesmos. Assim sendo, temos
dinmica, criamos links entre ideias, </deathseeker25> acesso a uma panplia de scripts
ordenamos os conceitos, que o leitor pode adaptar
organizamos, reorganizamos, consoante as suas necessidades.

<17>
<Dvidas>
Q:
Ol a todos, estou aqui com um problema, pois coloquei a funo clrscr() num programa, coloquei o #include <conio.h> no
incio mas, mesmo assim, d-me o erro:
[Linker error] undefined reference to 'clrscr'
O que se passar?
Nota: estou a programar com o Dev-C++
</JoBlack>

R:
Se no me engano acho que tens que utilizar a biblioteca:
#include <stdio.h>

</vbtipo>

Q:
Como que ponho uma pagina a descobrir o ip da pessoa que liga??
tipo o www.whatismyip.org
</joninho>

R:
O ip do utilizador est na varivel de ambiente $REMOTE_ADDR
Se quiseres antes o host, podes usar o seguinte cdigo:
<?
$host = GetHostByName($REMOTE_ADDR);
?>
</pedrotuga>

Q:
Boas!
Pessoal, o seguinte, tenho uma checkbox e queria inserir o resultado do checked numa base de dados. Do tipo, tenho um
form com um checkbox e um boto, imaginemos que o ponho o visto na checkbox e carregava no boto, quando carregasse no
boto, queria conseguir guardar numa varivel se o checked est true ou false:
dim variavel as ?
if checkbox1.checked=true then
variavel =?
end if
Nota: O programa ta a ser feito em Microsoft Visual Studio .NET 2003.
Espero respostas...
</ProT>

R:
Poders fazer da seguinte maneira por exemplo:
Dim variavel as Boolean
If checkbox1.Checked = True Then
variavel = True
Else
variavel = False
End If
Depois s guardares o estado da varivel na Base de Dados.
</Tiago Salgado>

<18>
<Blue screen>

Aluno incompreendido

procura do seu carro...

Oficina de reproduo parte 2 Comprar gato por lebre

<19>
<\Revista>

A Comunidade P@P

Como todo o leitor que frequenta o frum tem ParceriasactuaisdoP@P


conhecimento, a nossa comunidade tem crescido
significativamente desde o incio do novo ano,
principalmente nos meses de Maro e Abril. Temos cada
vez mais utilizadores registados, temos cada vez mais
utilizadores activos, mais pessoas a querer contribuir nos
projectos da comunidade, mais posts no frum, mais
visitas dirias, etc. Somos um frum que tem feito sucesso
a nvel nacional, mas temos conscincia de que podemos
fazer muito mais e melhor no que toca a programao em
Portugal. TechzonePTwww.techzonept.com

RedCodeStudiohttp://forum.redcodestudio.com

Tm havido remodelaes no que toca ao staff e


organizao do frum , projectos de organizao interna
que ainda se encontram em estudo, seces privadas para
utilizadores com um determinado estatuto no frum, PCTugawww.pctuga.net
projecto de correco dos posts com erros (resultantes da
passagem de phpBB para SMF), reviso de objectivos,
planeamento de concursos, entre outros. Estamos at a
planear abrir uma seco sobre segurana, mas esta ter
de ser muito bem pensada e ter regras muito rgidas.

O Portugal-a-Programar completa um ano de idade no


Foruns.orgwww.foruns.org
dia 28 de Maio de 2006. Assim sendo, o leitor est
convidado a participar na festa de aniversrio. Para tal,
basta registar-se no frum e comear a contribuir para o
crescimento da comunidade. Sero apresentados
relatrios de estatstica anuais aos utilizadores, bem como
um relatrio de objectivos a cumprir no ano seguinte.

PTServerswww.ptservers.org

<20>

Você também pode gostar