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>
<Administrao>
deathseeker25 (Rui Maia) d_pintassilgo (David Pintassilgo) melSpeedl.ine (Mrcio Lima) satanuke (Hugo Violante)

A segunda vaga
Aps o lanamento da primeira edio da revista PROGRAMAR, foi possvel receber o feedback de muitos leitores que conheciam, ou passaram a conhecer a comunidade Portugal-a-Programar. Em geral, a revista foi muito bem recebida e foi possvel recolher muitas crticas construtivas. Com base nessas crticas e na nossa auto-avaliao, procurmos tornar esta edio da revista como um exemplo da nossa dedicao em partilhar todos os conhecimentos que fomos adquirindo. Assim, tentmos tambm elevar o nvel deste nosso projecto, para que seja reconhecido por todos os programadores. Esse o nosso objectivo. Para o desenvolvimento desta edio, podemos contar com o apoio de mais voluntrios, aos quais desde j agradecemos. A sua presena e participao 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 cada dois meses. Esta edio marca tambm o aniversrio da comunidade Portugal-a-Programar, assunto a ser abordado na seco Comunidade. </neon_prannock>

<Coordenador>
neon_prannock (Srgio Santos)

<Redaco>
vbmaster (Miguel Pais) marceluh (Marcelo Martins) revX (Ricardo Ribeiro) Ped@ntilva (Pedro Silva) perdido_e_sozinho (Srgio Matias)

<Colaboradores>
AriOps (Daniel Correia)

<Contacto>
revistaprogramar@portugal-a-programar.org

<2>

<Notcias>

Kids Programming Language


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 em KPL, ser apenas necessrio a leitura, a matemtica e a digitao, necessidades estas que sero desenvolvidas mais rapidamente com a ajuda da programao. Com o IDE disponvel para download, possvel fazer a converso dos nossos programas em KLP para VB.NET ou C#. Site Oficial:
http://www.kidsprogramminglanguage.com/

Google em grande

O Google obteu um aumento de 60% nos lucros do primeiro trimestre de 2006. Esse valor equivale a lucro lquido de 592,5 milhes de dlares, segundo o anncio da empresa. Na origem dos bons resultados est o aumento das vendas de publicidade. Entre Janeiro e Maro, as receitas da empresa que gere o motor de busca mais popular do mundo cresceram 79%, 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

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 alargar a programao a todos os utilizadores de computador. Esta, ao contrrio do que muitos pensam, no aquele bicho de sete cabeas que s os mais inteligentes conseguem aprender. Pelo contrrio, a sua iniciao bastante fcil, s dificultada pelos programas que se possa eventualmente precisar para programar na linguagem em questo.
Este pretende ser um tutorial que apoie os utilizadores novatos nos seus primeiros passos com a linguagem de programao Visual Basic, para que comecem a sentir-se vontade, e para que percebam realmente que qualquer um pode programar.
Requisitos: IDE Microsoft Visual Studio 6 ou Microsoft Visual Studio.net 2002/2003 ou ainda Microsoft Visual Studio.net 2005 ( venda em lojas de software); Disponibilidade para aprender; Pacincia (qualidade que ter de vos acompanhar ao longo da vossa cruzada da programao); Curiosidade (nem imaginam o montante de coisas que se descobrem bastando apenas possuir curiosidade);

Antes de pormos as mos ao trabalho, convm ambientarmonos com o ambiente em que vamos produzir e desenvolver os nossos programas de iniciao. Como puderam constatar na caixa Requisitos, h vrias verses disponveis do Visual Studio, pacote que permite o desenvolvimento de linguagens de programao desde o c++ ao vb, passando pelo c# e asp (algumas delas s a partir da verso .net 2002/2003). Em primeiro lugar, vamos analisar as trs verses do Visual Studio, nas quais podero desenvolver os vossos programas.

A primeira, e mais antiga (aproximadamente de 1998) o Visual Studio 6. Apesar de j estar bastante desactualizada e no conter as facilidades e funes importantes das outras duas, ainda se comporta na perfeio para um iniciante em vb poder comear a programar, proporcionando-lhe um IDE rpido e eficaz.

Apertem os cintos, pois sairo daqui como um peixe na gua, com o Visual Basic.

Por volta de 2002 a Microsoft decidiu fazer uma mini revoluo na forma como se programava e para isso lanou uma nova verso do seu pacote de IDE's, desta vez denominada Visual Studio.net 2002, ou Visual Studio 7. Integrando a verso posterior de 2003, com a de 2002, podemos caracteriz-la por uma srie de inovaes que deixaram todo o mundo da programao pasmado. Apesar de tudo, os programadores da Microsoft souberam, nalguns aspectos, complicar o que era simples no Visual Studio 6, pelo que o upgrade de conhecimentos tornou-se um pouco atribulado.

O ambiente de desenvolvimento integrado do Visual Basic 6

O ambiente de desenvolvimento integrado do Visual Basic.net 2003

<4>

Iniciao programao em Visual Basic

<Tema de capa>
Outras das janelas mais importantes a Proprieties Window. nela que podemos editar todas as propriedades dos objectos inseridos na Form, bem como as suas prprias propriedades. De referir que tudo o que l se faz pode ser feito por cdigo.

Quando todos pensavam que j no se podia inovar mais, eis que os programadores da Microsoft do um safano ao mundo e o pem-no de novo surpreendido. A nova verso que tinham acabado de lanar era simplesmente estupenda. Integrava toda as vantagens a que tnhamos ficado habituados no .net 2002/2003, com a simplicidade que reinava no vb6. A classe My. foi umas das grandes vantagens. a verso que eu recomendo para os iniciantes e para todos os programadores desta grande linguagem.

A Proprieties Window

Aspecto do ambiente de desenvolvimento integrado do Visual Basic.net 2005

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. Inclu desde botes a caixas de 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 encontram e para que servem. Tentarei ao mximo manter a compatibilidade com as restantes verses, mas os exemplos dados sero da .net 2005.

Logo esquerda (na maior parte dos IDE's), encontramos a Solution Explorer. Esta a janela que nos d informaes sobre a quantidade e contedo de ficheiros que compe o nosso projecto. l que por exemplo podemos adicionar mais Forms (comum janela do Windows standard que aparece ao fazer um novo projecto de Visual Basic) ao nosso projecto, bem como todo o tipo de itens.
A Solution Explorer Window

Mas no meio de tudo isto, natural que o utilizador iniciante se sinta confundido, sem sequer saber como chegar s janelas mostradas nas imagens dos IDE's. 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 aparece uma janela que nos pergunta o tipo de projecto que queremos. O Standard d perfeitamente para a maior parte dos casos; Em vb.net 2002/2003 e vb.net 2005, visto que todos os IDE's se encontram aglutinados num programa, h que fazer, New Project, seleccionar Visual Basic Project e por fim Windows Application, no esquecendo de dar o nome respectivo. Vamos ento entrar um pouco mais no mbito desta linguagem.

<5>

<Tema de capa>

Iniciao programao em Visual Basic

Mais algumas informaes...


Antes de comearmos propriamente a programar convm saber algumas noes sobre programao. Vamos comear por falar de variveis. Variveis so locais reservados na memria do computador 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, espera que lhe seja passado um valor numrico a guardar. Em Visual Basic, estas declaram-se com o seguinte cdigo: Nota: Pode-se aceder ao General Declarations fazendo duplo click na nossa Form, para abrir a janela de cdigo e, em seguida, seleccionar no primeiro drop-down que se observa no topo dessa janela, General, e no segundo dropdown, seleccionar Declarations.

Dim nome_da_variavel As Tipo

O tipo pode ser inteiro, real, string (texto), etc. Convm tambm ver que o nome destas nunca deve conter nmeros ou espaos. Deve-se ter sempre ateno ao nmero de variveis que o nosso programa vai utilizar, de maneira a declar-las logo o mais cedo possvel, e tornar a posterior leitura do cdigo 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 variveis no General Declarations,. Esta uma instncia que as mantm pblicas para toda a Form, sem nunca trazer inconvenientes, a no ser na leitura do cdigo, se o user no for cuidadoso.

Como de pequenino que se torce o pepino, convm tambm passar j neste momento ao utilizador alguns truques que o podero ajudar a organizar o seu cdigo. Se tem um esprito 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 (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 cdigo do seu programa mais confuso pareceria.

para isso que a notao Hungara surgiu: ao adicionar componentes, lhes d um nome que tanto diga que espcie de objecto so, bem como a funo que tm no programa. Ex: uma texbox de um programa calculadora que resulta a soma entre dois valores, poder chamar-se txtResultado. Repare as primeiras trs letras referem que o objecto uma TextBox e as restantes o que que ela executa no programa. 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; Uma TextBox de nome lblMensagem; Um Button (ou CommandButton em vb6) de nome btnMensagem;

Para um iniciante o fazer o seu primeiro programa uma sensao de alegria que no se consegue exprimir por palavras. Esperemos que tenha ficado motivado com a programao em vb, e prepare-se para as prximas lies. Nota: Para distribuir o seu programa a amigos basta, nas verses .net, ir ao menu Build e fazer Rebuild All. Em vb6, basta ir ao menu File e fazer Make programa.exe. Na primeira hiptese o executvel h-de ficar guardado no directrio do projecto, na pasta Debug. Na segunda hiptese, o prprio programa pergunta onde quer guardar o .exe.

Para fazer tal coisa, basta desenhar os controlos na Form, assim como eles aparecem na imagem (todas as propriedades dos controlos esto acessveis na Properties Window, entre elas a propriedade Text das Labels (Caption em vb6), que a que define o texto que apresentam, bem como a Text dos 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 ensinar Visual Basic nas prximas edies. At l, no tenham Este programa vai nos permitir inserir dois valores numricos, e em seguida apresentar numa TextBox o resultado. medo do vosso prprio computador.... o vosso computador que deve ter medo de vocs. :) 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 seguinte cdigo no evento Click do btnCalcular:

</vbmaster & marceluh>

Procuram-se
Programadores dispostos ajudar na criao de artigos para revista de programao nica no mercado portugus. Mais informaes em:
www.revista-programar.info

txtResultado.Text = Val(txtN1.Text) + Val(txtN2.Text)

Visto que as TextBox so, como o prprio nome indica, 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 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. Ol mundo 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. Aqui podemos observar que no fundo um ficheiro html onde adicionamos as tags <?php ?> e l dentro executamos o comando PHP neste caso o echo que o comando PHP que imprime texto no ecr.
<?php ?> echo "Ol mundo!";

Uma linguagem dinmica server-side

PHP

a sigla de Hypertext Preprocessor que em portugus significa processador de Hipertexto. uma linguagem open-source (o cdigo disponibilizado aos utilizadores) e usada principalmente no desenvolvimento de aplicaes server-side (as operaes ocorrem do lado do servidor). Ou seja, o PHP usado no servidor para tornar o cdigo PHP em HTML legvel aos browsers de Internet.
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 com login de utilizador para tornar contedos privados, entre muitas outras coisas que iro aprender nestes tutoriais. A linguagem PHP uma linguagem baseada noutras linguagens, nomeadamente C, Java e Perl. Com o tempo tem vindo a atingir uma grande dinmica e est cada vez mais poderosa, com novas funcionalidades. Antes de comearem a trabalhar em PHP aconselhvel que tenho alguma noo de HTML, pois o output do PHP feito para HTML. Esta linguagem interage com uma enorme quantidade de sistemas de base de dados entre as quais se podem destacar: MySQL; Oracle; IBM DB2; Microsoft SQL Server; PostgreSQL; SQLite. O download do ficheiro de instalao PHP pode ser feito em http://www.php.net/downloads.php

Resultado: Ol mundo! Aqui podemos observar que no fundo um ficheiro HTML onde adicionamos as tags "<?php" e "?>" e l dentro executamos o comando PHP neste caso o echo que o comando PHP que imprime texto no ecr.

PHP uma linguagem de programao livre e muito usada para gerar contedos dinmicos para Web.
Utilizar Variveis
Em PHP podemos definir variveis. As variveis consistem essencialmente num modo de diminuir o tamanho do cdigo e de o simplificar. Para definir variveis utilizamos o smbolo $. As variveis podem ser letras, nmeros, ou conjuntos de objectos.

<9>

<A programar>
<?php ?> $nome_da_variavel = "Ol mundo!"; echo $nome_da_variavel;

PHP - Iniciao
Lgica:
&& ( e Ex. consideremos x=9 e y=7 ento x < 10 && y > 3 d verdadeiro || ( 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! Aqui definimos a varivel que se chama nome_da_variavel e o seu contedo que o texto Ol mundo!. De seguida fazemos o echo e imprimimos o contedo dessa varivel para o ecr do utilizador. Para imprimir 2 variveis seguidas usamos um ponto ( . ) . Como por exemplo, para escrever-mos as variveis $ola="ola" e $mundo="mundo" de modo a obtermos : "ola mundo" fazemos:
echo "".$ola." ".$mundo;

Um pequeno exemplo:
<?php

$x = 7; $y = 7; $z = 2; if ($x == $y){ // Se x igual a y echo "x = y = " . $x . "<br>"; } $x += $z; echo "x = " . $x . "<br>"; if ($x > $y){ // Se x maior que y echo "x maior que y <br>"; } else { // Seno echo "x no maior que y"; }

Operadores 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. )

Definio:
= ( define que o primeiro nmero igual ao segundo Ex. x=y ) += ( define que x a soma de x com y Ex. x+=y igual a x=x+y ) -= ( define que x a subtraco de x por y Ex. x-=y igual a x=xy) *= ( define que x igual multiplicao de x com y Ex. x*=y igual a x=x*y ) /= ( define que x igual diviso de x por y Ex. x/=y igual a x=x/y ) %= ( define que x o n. de casas dcimas da diviso de x por y Ex. x%=y igual a x=x%y )

x=9 x maior que y

A tag <br> interpretada pelo HTML como mudana de linha. Para colocarem comentrios no vosso PHP utiliza-se //, isto faz com que o PHP ignore tudo o que est para alm desse smbolo na linha. Para se fazer um comentrio em vrias linhas pode-se utilizar /* e no final do comentrio */. muito importante termos o nosso cdigo devidamente comentado para que seja de fcil leitura para ns e para os outros. Quando se tem centenas de linhas de cdigo pela frente se estiver comentado fcil de perceber a sua funcionalidade.

Comparao:
== ( igual a Ex. 7==9 d falso ) != ( no igual a Ex. 7!=9 d verdadeiro ) > ( maior que Ex. 7>9 d falso ) < ( menor que Ex. 7<9 d verdadeiro ) >= ( maior ou igual que Ex. 7>=9 d falso ) <= ( menor ou igual que Ex. 7<=9 d verdadeiro )

Concluso
E aqui fica a iniciao ao PHP. Esperamos que este artigo seja do vosso agrado e que compreendam que um nico artigo nunca chegaria para incluir tudo, deste grande universo que a linguagem PHP.

</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:

A importncia das Coding Conventions

ERRADO

em todos os programadores concordam com as Dim sr as new StreamReader("c:\texto.txt") 'Declarar um Inteiro convenes de cdigo, o facto que estas so 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() 'Acrescentar 1 programem da mesma maneira de forma a unir mais 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 CORRECTO com as suas prprias regras.
Quando nunca se utilizou qualquer regra na definio de controlos e variveis, difcil comear a usar regras, uma vez que se perde por vezes mais tempo, mas o facto que em grandes programas esse tempo ganho mais tarde. Alm quantos de vocs no voltaram a pegar num projecto e no perceberam nada do que haviam desenvolvido algum tempo atrs.
'Conta o nmero de linhas no ficheiro Dim sr as new StreamReader("c:\texto.txt") Dim i as Integer While sr.ReadLine() i = i +1 End While

'Abrir um ficheiro de texto

As Melhores Prticas para VB


Option Strict On Esta opo obriga a que todas as variveis sejam declaradas o facto que evitam erros desenvolvidos sem razo melhorando a qualidade do cdigo. Camel Casing Camel Casing consiste em colocar em minscula a primeira letra, num formato idntico ao seguinte: listaUtilizadores, dadosRegisto... No VB deve ser utilizado em variveis locais, privadas(private) ou protegidas (protected) que no esto acessveis externamente. Pascal Casing Pascal Casing consiste em colocar em maiscula a primeira letra de cada palavra num formato idntico ao seguinte: ListaUtilizadores, DadosRegistos... No VB deve ser utilizado sempre que no se aplique o Camel Casing e em objectos.

A ter em Conta
Muitas pessoas acham que usar funes do namespace Microsoft.VisualBasic incorrecto. No podiam estar mais erradas, o facto que estas funes fazem parte do prprio framework, e como tal no tm qualquer incompatibilidade com o framework. O que pode causar problemas e deve ser evitado ao mximo so as funes do namespace Microsoft.VisualBasic.Compactility que surge normalmente na converso de projectos de VB6 para VB.NET. Este namespace apenas temporrio e tem de ser includo nos projectos, causando muitos problemas. Devem ser sempre usados nomes consistentes e reveladores do contedo das variveis. Variveis i,j,k podem ser usados em loop's triviais, mas se necessita de uma varivel para guardar dados deve usar um nome consistente como por exemplo sNomeAluno.

<11>

<A programar>
Hungarian Notation

Visual Basic.NET Coding Conventions, porqu?


ToolBarButton TooTip TrackBar TreeNode TreeView VScrollBar tbb tip trk nod tvw vsb

A Hungarian Notation foi criada com o objectivo de identificar o tipo de varivel atravs do seu nome, o facto que quando trabalhamos com muitos controlos ou em grupo, isto pode ser muito til. De facto a Hungarian Notation universal e usada em diversas linguagens. Data Objects Para utilizar a Hungarian Notation basta adicionar um prefixo em minsculas ao nome da varivel. Cada Prefixo tem um significado. Ex.: frmMenu no VB uma form chamada Menu. Controlos Standart
Button CheckBox CheckedListBox ColorDialog ColumnHeader ComboBox ContextMenu CrystalReportViewer DataGrid DateTimePicker DomainUoDown ErrorProvider FontDialog Form GroupBox HelpProvider HScrollBar ImageList Label LinkLabel ListBox ListView Menu MonthCalendar NotifyIcon NumericUpDown OpenFileDialog PageSetupDialog PictureBox PrintDialog PrintDocument PrintPreviewControl PrintPreviewDialog ProgressBar RadioButton RadioButtonList RichTextBox SaveFileDialog Splitter StatusBa StatusBarPanel TabControl TabPage TextBox Timer ToolBar btn chk clst cdlg chdr cbo cmnu crv grd dtp dud erp fdlg frm grp hlp hsb img lbl lnk lst lvw mnu cal nico nud odlg psd pic pdlg pdoc ppc ppd pbr rad rbl rtf sdlg spl sbr sbp tab pge txt tmr tbr

Connection Command CommanderBuilder DataAdapter DataColumn DataReader DataRow DataSet DataTable DataView

cnn cmd cb da dcl dr drw ds dt dv

As coisas que sempre foram ms, so ms e sempre sero ms! O Goto, Option Explicit Off e On Error Resume Next nunca foram muito boas ideias. E ainda no so. Para controlo de erros deve-se utilizar a estrutura Try.

Try Dim x as Integer x = x / 0 Catch ex as Exception MsgBox(ex.Message) Finally ' Este cdigo corre sempre End Try

Esta forma de controlo de erros evita que o programa tenha problemas e ainda permite determinar com preciso o tipo de erro, assim como correr algum cdigo de correco. Deve-se ainda evitar o uso de caracteres fora do padro A-Z, 0-9. User Interface As aplicaes devero ter sempre uma form de Sobre a aplicao e um menu de Ajuda para que o utilizador saiba onde pode encontrar suporte. Cada utilizador deve utilizar estas Coding Conventions como entender e devem facilitar o seu trabalho, no complic-lo.

</perdido_e_sozinho>

<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 captado cada vez mais o interesse na rea da informtica. Este facto deve-se crescente massificao dos videojogos na sociedade actual. Os jogos so agora uma das principais funes dos computadores, sendo por vezes, a prpria razo porque estes so adquiridos.

Os jogos que mais se destacam pela qualidade de ferramentas e pelo elevado nmero de MODs so o Half-Life(2), Doom3, Neverwinter Nights, e os jogos baseados no motor Unreal, como o Unreal Tournment, Deus Ex, Postal 2, entre outros jogos conhecidos. Existem tambm muitos outros jogos que suportam MODs, com o Max Payne 2, TES3: Morrowind, Command and Conquer. Para ter uma melhor ideia sobre o universo da criao de MODs, dem uma vista de olhos a http://moddb.com. As ferramentas normalmente disponibilizadas so um editor de nveis e outros aspectos do No entanto, o desenvolvimento de jogos muitas vezes tido 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 vantagens do desenvolvimento de MODs so os conhecimentos contrrio, a criao de videojogos j deu origem a grandes adquiridos sobre o funcionamento de um jogo comercial e empresas, sendo o mercado de videojogos, um negcio que movimenta demasiado dinheiro para ser deixado de parte. No reconhecido, como trabalham as partes principais do jogo, como os seus ficheiros so distribudos, etc. Tambm permite a entanto, so poucos os que conseguem entrar neste mundo, criao, de forma relativamente mais fcil, de um produto mais devido ao elevado grau de dificuldade, quer pelos apelativo aos jogadores, embora sempre semelhantes ao jogo conhecimentos necessrios como pelo constante desenvolvimento das tecnologias. O desenvolvimento de jogos principal. Essa mesmo a principal desvantagem, o facto de estarmos limitados s ferramentas disponibilizadas, e tambm uma rea em expanso, mesmo no nosso pas em que, embora pouco divulgados, existem bastantes projectos e vrias por serem raros os casos MODs comerciais (Counter-Strike, Day Of Defeat, ...). empresas em funcionamento. A principal e mais importante caracterstica do desenvolvimento de jogos que engloba diversas reas como a programao, artes grficas, som, e outras que variam de jogo para jogo. Todas estas reas tm que ser bem coordenadas e associadas, para o jogo se tornar atractivo para o jogador. Um jogo pode ser muito bom graficamente, mas se possuir demasiados bugs, ir perder rapidamente o interesse do jogador, assim como um jogo com grficos fracos ou um som irritante. Existem tambm um variado nmero de actividades externas ao desenvolvimento, mas que tambm so importantes e contribuem para o sucesso deste. Aqui englobam-se vrios pormenores como a distribuio deste por parte de uma As vantagens de aprender uma linguagem de programao so vrias, mas a principal razo o facto de obtermos todo o controlo do nosso jogo e podermos cri-lo da forma que entendemos. Mas para isso preciso dominar uma linguagem de programao, o que pode levar algum tempo. Em relao criao de MODs, o perodo e a dificuldade de aprendizagem de uma linguagem de programao so mais elevados. Isto pode levar alguns iniciantes a desistirem, mas a recompensa de dominar uma linguagem de programao grande. Outra das vantagens de saber trabalhar com uma determinada linguagem, que esta tambm pode ser aplicada em outros trabalhos, diferentes de jogos, como software empresarial, entre outros.

<13>

<A programar>

Introduo programao de jogos


revistos. Mas no deixam de ser uma das principais fontes, a que iro recorrer muitas vezes. Outro factor importante so as comunidades que se formam volta deste tema. Estas comunidades so formadas atravs de um site, frum, canal de IRC, entre outros. As comunidades so importantes para a partilha de artigos, mas especialmente para tirar dvidas, partilhar experincias e pedir conselhos a pessoas mais experientes, tendo em considerao as regras estabelecidas. Finalmente, possvel recorrer tambm ao cdigo-fonte de jogos, que sejam lanados sobre a licena "open-source". Estes j requerem alguns conhecimentos sobre a linguagem em questo, mas so uma fonte de informao muito valiosa, j que apresentam a resoluo de problemas com que o programador se deparou e os mtodos que devem ser usados em cada situao. Para conseguir desenvolver o jogo dos nossos sonhos, necessrio muito esforo e dedicao, para alm de pacincia e persistncia para todas as dificuldades que iram surgir. O meu conselho, e o da maioria dos programadores, comear por jogos pequenos e simples, como por exemplo Tetris, Snake, Pacman, um Shooter 2D, cada um introduzindo uma nova funcionalidade caracterstica, que vai aumentando a dificuldade. Esta a melhor maneira para um principiante no se perder entre as inmeras capacidades de programao, que o desenvolvimento de jogos exige. Grande parte dos que desenvolvem jogos so amadores, j 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 trabalhando para uma produtora, ou criando a sua prpria produtora. Este um caminho longe de ser fcil, mas muito recompensador. Alguns links: Comunidades internacionais:
http://www.gamedev.net http://www.devmaster.net

O primeiro dilema que os futuros programadores se deparam, com a deciso de qual linguagem aprender. Uma das opes mais recomendada C++. uma linguagem que vastamente utilizada na indstria de videojogos. Mais de 90% dos jogos que costumamos ver nas prateleiras das lojas, so programados nesta linguagem. tambm uma das que possui maior documentao e referncias, assim como ferramentas. As suas caractersticas, como a velocidade e controlo, tambm a favorecem em relao s restantes linguagens. Esta linguagem peca apenas pelas dificuldades que introduz a algum novo programao. Mas tambm so usadas outras linguagens, com caractersticas bastante variadas. 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 websites, apenas com reduzidas modificaes. Esta portabilidade leva a algum custo no desempenho, mas no deixa de ser um opo a ter em conta. Temos tambm Visual BASIC, que se destaca pela sua facilidade de aprendizagem e utilizao, embora seja mais utilizada na criao de outro tipo de software. Existem tambm vrios jogos feitos em Delphi, uma linguagem derivada de Pascal, alguns deles comerciais. Os jogos desenvolvidos sobre a plataforma Flash tambm tm ganho bastante popularidade, graas sua integrao nos 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 ActionScript?. Existem variadas fontes de sobre desenvolvimento de jogos. A mais importante e fivel so os livros. A cada novo tema ou linguagem de programao, que se decide aprender e dominar, convm ter um livro, tanto para auxiliar na aprendizagem, como para ser utilizado como referncia. No entanto, os livros de programao, que se encontram venda em Portugal, possuem poucas referncias ao desenvolvimento de jogos. Por isso, necessrio, muitas vezes, mandar vir os livros atravs de uma loja online, como a Amazon (http://www.amazon.com), o que encarece um bocado o preo, mas apresenta uma maior variedade de escolha. A internet o local onde possvel encontrar praticamente todo o tipo de informao, sobre qualquer assunto. possvel 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

Comunidades portuguesas:
http://www.gamedev-pt.net http://www.igda.org/lisbon

<neon_prannock>

<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 grfica, e no no CPU do computador. Resta apenas, atravs da nossa prpria utilizao, constatar se tanto efeito no prejudica a funcionalidade do desktop environmment. Da nossa parte, que j testmos o Xgl, podemos dizer que no atrapalha em nada, e s ganhamos em rapidez com esta tecnologia.

Nesta edio aproveitamos para falar um pouco sobre a arquitectura que tm dado muito que falar no seio da comunidade opensource, e que se tm vindo a tornar um must have de qualquer desktop que se preze. O que afinal o Xgl? Para que serve? Porqu inclu-lo no desktop environmment? So tudo perguntas que vamos responder neste artigo.
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

</vbmaster>

<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
Para quem precisa de organizar as ideias.

Programao com PHP 4.3


Como criar portais dinmicos.

nquanto um jornalista escreve um artigo, surgem inmeras ideias e pensamentos na sua cabea. A tarefa mais complicada ligar essas ideias de forma a que os leitores compreendam qual o verdadeiro significado das frases construdas. Para ajudar os jornalistas, os bloggers e os escritores a organizar essas ideias, surge o kdissert. O kdissert, projecto liderado por Thomas Nagy uma aplicao de mind mapping que tem como objectivo ajudar quem escreve a organizar as ideias. Poder ser til na escrita de teses, dissertaes, apresentaes e at de livros. O programa permite-nos criar um mapa de ideias, que ajuda a estruturar os pensamentos que vamos tendo enquanto escrevemos ou, se o escritor preferir, antes de escrevermos. Com a criao destas estruturas, as probabilidades de escrevermos um texto mais ordenado e com mais qualidade so maiores. Com o kdissert, organizamos os pensamentos numa pgina dinmica, criamos links entre ideias, ordenamos os conceitos, organizamos, reorganizamos,

adicionamos links ou imagens,etc. Os documentos resultantes podem ser ficheiros PDF,imagens, documentos LaTex, documentos HTML para pginas web, ou ficheiros OpenOffice.org Impress. A palavra dissert em kdissert faznos pensar que a aplicao tem como pblico-alvo estudantes universitrios, no entanto este pacote realmente fantstico para quem quer elaborar apresentaes, por exemplo. Assim sendo, o pblico-alvo so todos aqueles que pretenderem organizar as suas ideias de modo a construrem um texto estruturado e de qualidade elevada. A ltima verso da aplicao est disponvel no site oficial do kdissert (http://freehackers.org/%7Etnagy/ kdissert). O programa tem uma interface muito amigvel ao utilizador, logo de fcil aprendizagem. Recomendamos este programa a todos os bloggers que pretendem escrever artigos de qualidade, assim como aos estudantes universitrios que tm teses para escrever.

rogramao com PHP 4.3 de Carlos Serro e Joaquim Marques um livro que aborda temas como a instalao do PHP 4.3 em diversas plataformas, explicaes sobre conceitos PHP 4.3 e respectiva sintaxe, explicaes sobre gesto de cookies e sesses, sistemas de comrcio electrnico, segurana, desenvolvimento de aplicaes com XML, truques e tcnicas na utilizao do PHP 4.3 e de algumas ferramentas associadas.

</deathseeker25>

O livro aborda temas importantes e comuns na programao de um site dinmico como instrues SQL, armazenamento em bases de dados, armazenamento de dados e ficheiros XML, utilizao de sesses ou de cookies, definio de permisses, ficheiros,entre outros. , portanto, um livro muito completo, com um enorme nmero de scripts disponveis, do qual o utilizador pode tirar todas as informaes necessrias para desenvolver as suas primeiras Escrito por Carlos Serro e Joaquim aplicaes em PHP. Marques, ambos com mestrados na rea da Gesto de Sistemas de um livro recomendado a todos os Informao pelo ISCTE e com novos programadores que se cargos na ADETTI em aces de queiram iniciar em PHP e a Investigao e Desenvolvimento estudantes universitrios que (I&D), este um livro que tem abordem a linguagem, j que este como pblico alvo os jovens tem uma vertente prtica e oferece programadores que queiram uma explicao sucinta dos aprender a programar em PHP, contedos fulcrais da iniciao na concentrando toda a aco volta mesma. O Portugal-a-Programar do desenvolvimento de um site recomenda a leitura deste livro. dinmico. O livro baseia-se </deathseeker25> essencialmente na demonstrao de aces atravs de scripts acompanhados por uma explicao dos mesmos. Assim sendo, temos acesso a uma panplia de scripts que o leitor pode adaptar 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 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.

ParceriasactuaisdoP@P

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, 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 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.

PCTugawww.pctuga.net

Foruns.orgwww.foruns.org

PTServerswww.ptservers.org

<20>

Você também pode gostar