Você está na página 1de 68

TUTORIAL ASP

TUTORIAL ASP
q

Lies bsicas
Explica os objetos fundamentais, como: response, estruturas de deciso, loops, deteco de Browser e Includes

Formulrios
Explica como construir formulrios HTML e associ-los a scripts ASP para process-los

Banco de Dados com ASP


Tudo para combinar Bancos de Dados e pginas WEB. Fala sobre mostrar tabelas, listboxes, adicionando e atualizando registros.

Comandos Avanados
Includes, subrotinas e funes, componentes content linking, componentes ad rotation, comandos de debugging e ler/gravar arquivos textos no servidor.

Personalizaes
Explica sobre as ferramentas (sessions, cookies e outras) para armazenar preferncias dos usurios ou variveis com outras finalidades (exemplo: referncia do pagamento)

Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/tutorial_asp.htm [08/08/2000 09:53:07]

Lies Bsicas

Lies Bsicas
q q q q q q q q q

IF CASE DO WHILE FOR Formatando Nmeros Formatando e manipulando datas Funes para Browser Response Object Include Files

Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_licoes_basicas.htm [08/08/2000 09:53:12]

IF statement

Comando IF
Frequentemente voc tem que determinar o que fazer depois que o usurio faz algum input de dados. Abaixo segue um formulrio que pergunta ao usurio o seu primeiro nome e o ultimo nome. 1 2 3 4 5 6 7 8 <html><head> <TITLE>Comando IF</TITLE> </head><body bgcolor="#FFFFFF"> <form action="ifrespond.asp" method=get> Your First Name<INPUT NAME="FirstName" MaxLength=20><p> Your Last Name<INPUT NAME="LastName" MaxLength=20><p> <INPUT TYPE=submit><p><INPUT TYPE=reset> </form></body></html>

Agora o arquivo ASP ifrespond.asp que examina o primeiro nome e o ltimo nome depois que o formulrio enviado 1 2 3 4 5 6 7 8 9 10 11 <html><head> <TITLE>ifrespond.asp</TITLE> </head><body bgcolor="#FFFFFF"> <%fname=request.querystring("Firstname") lname=request.querystring("Lastname") If fname="George" and lname="Washington" then%> Hi.<p>You must be the first president! <%else%> Hi!<p>Nice to Meet You <%end if%> </body></html>

Voltar | Exemplo 2
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_if.htm [08/08/2000 09:53:14]

Select Case

Select Case
Usando IF-THEN pode ser incmodo e propenso a ter erros de programao e lentido na execuo. Uma construo mais eficiente o SELECT CASE que utiliza uma varivel com vrias condies. 1 2 3 4 5 6 7 8 <html><head> <TITLE>asp_case.asp</TITLE> </head><body bgcolor="#FFFFFF"> <form action="caserespond.asp" method=get> Your First Name<INPUT NAME="FirstName" MaxLength=20><p> Your Last Name<INPUT NAME="LastName" MaxLength=20><p> <INPUT TYPE=submit><p><INPUT TYPE=reset> </form></body></html>

Este o select case que determinar o que significa cada input do usurio. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 <html><head> <TITLE>caserespond.asp</TITLE> </head><body bgcolor="#FFFFFF"> <% fname=request.querystring("Firstname") lname=request.querystring("Lastname") salary=request.querystring("Salary") %> Nice to Meet You <%=fname%> <%=lname%><p> <%If fname="" then%> Sorry we are not on a first name basis...<p> <%end if select case lcase(lname) case "washington","adams" response.write "The first president has same last name<p>" case "jefferson" response.write "The third president has same last name<p>" case "lincoln" response.write "The sixteenth president has same last name<p>" end select%> </body></html>

Voltar | Exemplo 2
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_case.htm [08/08/2000 09:53:16]

Do While

Do While
Para revisar, quando falamos de estruturas de controle significa instrues que fazem com que o programa rode em outra ordem que no seja a linha 1, linha 2, linha 3 etc.IF...Then e Select Case fazem com que linhas do cdigo sejam executadas e outras no. Call e GoTo fazem com que o programa v para outra localizao no cdigo. As estruturas de Loop fazem com que alguns comandos sejam repetidos. As estruturas de Loop possuem duas opes: For...Next e Do While ... Loop. Se voc conhecer a quantidade de repeties que devem ser realizadas, utilize o comando FOR...NEXT, caso no saiba, utilize a estrutura Do While...Loop. Todas as linhas de cdigo dentro dos comandos DO WHILE e LOOP sero repetidas vrias vezes at que o teste que vem depois do WHILE seja falso. Assim as repeties param e o programa passa para o cdigo seguinte ao LOOP. Sintaxe:

DO WHILE condio linhas de cdigo LOOP


Existe a possibilidade do Loop nunca acabar. Ento se previna usando um IF para terminar, como:

contador=1 contador = contador +1 If contador>100 then exit do End If

Exemplo 1:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <html><head> <title>DoLoop2.asp</title> <body bgcolor="#FFFFFF"></head> <p>DoLoop2.asp Exemplo<br> Faz com que o programa imprima somente a quantidade de meses.</p> <p> <P> <% contador = 1 mes_atual = month(now()) Do while contador < mes_atual + 1 response.write "Nmero do Ms = " & contador & " " response.write "______________________________" & "<BR><br>" If contador >13 then exit do end if contador = contador+1 Loop %> <hr></body></html>

Exemplo 2:

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_dowhile.htm (1 of 2) [08/08/2000 09:53:19]

Do While

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

<html><head> <title>DoLoop3.asp</title> </head><body bgcolor="#FFFFFF"> <form action="DoLoopBack.asp" method = post> <p>DoLoop3 Exemplo<br> instead of form to print, make form for electronic submission</p> <p></p> <% contador = 1 mes_atual = month(now()) Do while contador < mes_atual + 1 response.write "Nmero do ms " & contador & " " TempTextField = "<input type = " & chr(34) & "text" & chr(34) TempTextField = TempTextField & "name=" & chr(34) & contador & chr(34) TempTextField = TempTextField & ">" response.write TempTextField & "<br><br>" If contador >13 then exit do end if contador = contador+1 Loop %> <input type=submit> </form><hr></body></html>

Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_dowhile.htm (2 of 2) [08/08/2000 09:53:19]

For Next

For Next
O Loop com o nmero inicial e vai at o nmero final. Como foi colocado anteriormente, o FOR...NEXT para ser usado quando se sabe a quantidade de repeties que devem ser feitas. Sintaxe:

For contador = inicio to fim 'linhas de cdigo Next


Para que seu loop no seja infinito voc pode colocar um IF para par-lo, como:

If contador>100 then exit For End If

Exemplo:
1 <html><head> 2 <title>fornext.asp</title> 3 <body bgcolor="#FFFFFF"></head> 4 5 exemplo<br>Espere e veja o funcionamento do for...next<br> 6 <%for contador = 1 to 5 7 response.write "estamos no looping" & "<br>" 8 next%><hr> 9 10 exemplo 2<br>Voc pode usar a varivel contador no seu cdigo<br> 11 <%for contador = 1 to 5 12 response.write "Agora o nmero de loops aparecem " & contador & "<br>" 13 next%><hr> 14 15 exemplo 3<br>Voc pode dar passos maiores que 1<br> 16 <%for contador = 0 to 25 step 5 17 response.write "Agora o nmero do loop : " & contador & "<br>" 18 next%><hr> 19 20 exemplo 4<br>Voc no precisa comear do 1<br> 21 <%for contador = 25 to 50 step 5 22 response.write "Agora o nmero do loop : " & contador & "<br>" 23 next%><hr> 24 25 exemplo 5<br> 26 (mude os passos para negativo e tenha certeza do incio ser maior que o fim)<br> 27 <%for contador = 50 to 25 step -5 28 response.write "Agora o nmero do loop : " & contador & "<br>" 29 next%><hr> 30 </body></html>

Voltar

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_for.htm (1 of 2) [08/08/2000 09:53:22]

For Next Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_for.htm (2 of 2) [08/08/2000 09:53:22]

FormatNumber -

FormatNumber - Referncia
Frequentemente voc quer que o nmero aparea em um determinado formado. A funo FormatNumber formata o nmero e retorna em um especfico formato. Sintaxe: FormatNumber(expression, iDigits, bleadingDigit, bParen, bGroupDigits) Argumento expression iDigits Significado varivel que contm o nmero nmero de dgitos depois da casa decimal 1 para mostrar os zeros antes da vrgula bleadingDigit 0 para no mostrar os zeros antes da vrgula bParen bGroupDigits 1 para parntesis ao redor de nmeros negativos 0 para no ter parntesis ao redor de nmeros negativos 1 para mostrar o nmero de acordo com as Configuraes Regionais do Painel de Controle 0 para ignorar as configuraes do Painel de Controle

Exemplo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 <html><head> <TITLE>formatnumbers.asp</TITLE> </head><body bgcolor="#FFFFFF"> <% ' Exemplo de formatao de nmeros mynumber=123.4567 response.write "<hr>" & mynumber & "<br>" response.write "formatnumber(mynumber,0)" response.write formatnumber(mynumber,0) & response.write "formatnumber(mynumber,2)" response.write formatnumber(mynumber,2) & response.write "formatnumber(mynumber,6)" response.write formatnumber(mynumber,6) &

& "<br>" "<hr>" & "<br>" "<hr>" & "<br>" "<hr>"

mynumber=.4567 response.write mynumber & "<br>" '0 significa no mostrar os zeros antes da virgula response.write "formatnumber(mynumber,2,0)" & "<br>" response.write formatnumber(mynumber,2,0) & "<hr>" '1 significa mostrar os zeros antes da virgula 'response.write "formatnumber(mynumber,2,1)" & "<br>" 'response.write formatnumber(mynumber,2,1) & "<hr>" 'mynumber=-123.4567 'response.write mynumber & "<br>" '0 no mostra os parntesis para nmeros negativos 'response.write "formatnumber(mynumber,2,0,0)" & "<br>" 'response.write formatnumber(mynumber,2,0,0) & "<hr>" '1 mostra os parntesis para nmeros negativos 'response.write "formatnumber(mynumber,2,0,1)" & "<br>" 'response.write formatnumber(mynumber,2,0,1) & "<hr>" %> </body></html>

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_formatnumbers.htm (1 of 2) [08/08/2000 09:53:24]

FormatNumber -

Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_formatnumbers.htm (2 of 2) [08/08/2000 09:53:24]

Format Dates (

Formatando Datas
A maneira mais fcil de demonstrar a formatao de datas mostrar um cdigo exemplo com vrias permutaes do comando.

FormatDateTime(Data[,Formato_do_nome]) A funo FormatDateTime tem as seguintes partes:


Parte Data Descrio Obrigatrio.Data que ser formatada usado. Se for omitido, o formado vbGeneralDate ser usado.

Formato_do_nome Opcional. Valor numrico que indica o formato date/time que ser

Parmetros

O argumento Formato_do_nome tem o seguinte domnio:


Constante vbGeneralDate Valor 0 Descrio Mostra a data e/ou hora. Se houver uma data, mostrar como short date. Se for hora, mostrar como long time. Se houver data e hora ambas sero mostradas. Mostra a data usando o formato long date especificado nas Configuraes Regionais do Painel de Controle Mostra a data usando o formato short date especificado nas Configuraes Regionais do Painel de Controle. Mostra a hora usando o formato especificado nas Configuraes Regionais do Painel de Controle. Mostra a hora usando o formato 24-horas (hh:mm).

vbLongDate vbShortDate vbLongTime vbShortTime

1 2 3 4

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

<html><head> <title>formatdates.asp</title> </head><body bgcolor="#FFFFFF"><html> <%'ASP que formata data response.write "<hr>" for counter=0 to 4 currentdate=now() response.write "today is..." & "<br>" response.write currentdate & "<P>" select case counter case 0 whichformat="vbgeneraldate" case 1 whichformat="vblongdate" case 2

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_formatdates.htm (1 of 2) [08/08/2000 09:53:26]

Format Dates (

16 17 18 19 20 21 22 23 24 25

whichformat="vbshortdate" case 3 whichformat="vblongtime" case 4 whichformat="vbshorttime" end select response.write "FormatDate(now()," & whichformat & ")=" response.write Formatdatetime(currentdate,counter) & "<P><HR>" next%> </body></html>

Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_formatdates.htm (2 of 2) [08/08/2000 09:53:26]

Browser Capabilites

Funes de Browser (Browser Capabilites)


O script abaixo demonstra a maioria das propriedades usadas do componente Browser Capabilites. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 <html><head> <TITLE>asp_browser.htm</TITLE> </head><body bgcolor="#FFFFFF"> <% Set bc = Server.CreateObject("MSWC.BrowserType") %> Browser Name: <%= bc.browser %><p> Browser Version: <%= bc.version %><p> <% if (bc.frames = TRUE) then %> Voc pode usar frames<p> <% else %> Voc no pode usar frames<p> <% end if %> <% if (bc.tables = TRUE) then %> Voc pode usar tabelas<p> <% else %> Voc no pode usar tabelas<p> <% end if %> <% if (bc.BackgroundSounds = TRUE)then %> Voc me permite tocar msicas<p> <% else %> Voc no colocou msicas no cdigo<p> <% end if %> <% if (bc.vbscript = TRUE) then %> Voc pode rodar script da linguagem VBscript<p> <% else %> Voc no pode rodar script da linguagem VBscript<p> <% end if %> <% if (bc.javascript = TRUE) then %> Voc pode rodar script da linguagem JScript<p> <% else %> Voc no pode rodar script da linguagem JScript<p> <% end if %> </BODY> </HTML>

Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_browser.htm [08/08/2000 09:53:29]

Response Object

Response Object
Existem vrias combinaes do objeto Response que no sero vistas aqui, mas tenho certeza que estes 20% que ser visto ser 80% do que voc vai utilizar. As propriedades vitais so: response.write response.redirect response.end

Algumas notas sobre response.write, & e = Os prximos 3 exemplos tm a mesma sada. Exemplo 1a: <% response.write "Livro? <input type=" & """ & "TEXT" & """ & "name=" & """ & "livro" & """ & "value=" & """ & livro & """ & "></p>" %> Exemplo 2a (most readable): livro? <input type="TEXT" name="livro" value="<%=livro%>"></p> Exemplo 3a: livro? <input type="TEXT" name="livro" value=" <%response.write livro%> "></p>

Exemplos adicionais com & Os prximos 3 exemplos tm a mesma sada. Exemplo 1b: Envia "Oi Jose<p>" para o browser <% x="Oi " x = x & "Jose" response.write x & "<p>" %> Exemplo 2b: Envia "Oi Jose<p>" para o browser <% x="Joe<p>" response.write "Oi " & x & "<p>" %> Exemplo 3b: Envia "Oi Jose<p>" para o browser <% x="joe" %> Oi <%=x%><p>

Script utilizando o response.write: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 <% 'response.buffer=true response.buffer=false %> <html> <head> <title>res.asp</title> </head> <body bgcolor="#FFFFFF"> <% ' Este programa demonstra as funes bsicas do response response.write "Oi, How Are You Doing" for counter=1 to 5000 response.write counter & ", " next %> </body> </html>

Voltar | Segunda Parte

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_response.htm (1 of 2) [08/08/2000 09:53:31]

Response Object Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_response.htm (2 of 2) [08/08/2000 09:53:31]

Include Files

Include Files
O recurso Include Files uma maneira de tornar o cdigo asp eficiente e reaproveitar rotinas j prontas. No arquivo Include devem constar somente funes e procedures que podem ser usadas por um ou muitos sistemas. Basicamente existem duas formas de declar-lo: <!--#include virtual="meu_arquivo.asp"--> <!--#include file="meu_arquivo.asp"--> Muitas desenvolvedores usam a extenso .inc, mas qualquer extenso pode ser usada. IMPORTANTE: Os Include files so sempre processados e inseridos no programa antes de qualquer ASP Script. Preferencialmente no incio do arquivo.

Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_include.htm [08/08/2000 09:53:33]

Formulrios

Formulrios
Formulrios HTML so geralmente o "front end" de um script asp. A diviso abaixo facilitar o apredizado.
q q q q q q

Introduo sobre Formulrios Text Box Text Area Check Box Radio Buttons List Box

Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_formularios.htm [08/08/2000 09:53:35]

Forms Introduction (

Introduo sobre Formulrios


Formulrios so o caminho natural para os usurios enviarem informaes para o ASP. q Formulrios podem ser HTML ou ASP dependendo das capacidades dinmicas que voc quer. q O Formulrio deve passar variveis para o arquivo ASP para processar os dados. q Voc pode encontrar um excelente tutorial sobre formulrios em http://www.mountaindragon.com/html/forms.htm (tutorial em ingls) Formulrio com GET <form action="x.asp" method=get> .... <input type=submit><input type=reset> </form>
q q

O formulrio pode mostrar as informaes dos campos na tela do browser. Um script ASP pode pegar os dados dos campos do formulrio da seguinte forma:

<%varivel=request.querystring("nome_do_campo")%>
Formulrio com POST <form action="x.asp" method=post> .... <input type=submit><input type=reset> </form>
q q

O formulrio no mostrar as informaes na tela do browser. Ele enviar para o arquivo especificado no action do form e este arquivo far o tratamento das informaes. Um script ASP pode pegar os dados dos campos do formulrio da seguinte forma:

<%varivel=request.form("nome_do_campo")%> Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_formularios_intro.htm [08/08/2000 09:53:37]

Formulrios -

Formulrios - Text Box


<INPUT NAME="UltimoNome"> Este comando criar um input box com o tamanho default e o browser passar para o arquivo output em ASP a varivel com o nome: UltimoNome. Este parmetro no limita o nmero de caracteres que podem ser digitados. No use esse parmetro como tcnica de validao. Ele apenas define o tamanho da caixa de texto. Agora sim. Esse parmetro define o tamanho mximo de caracteres digitados. O nome Bertrand aparecer no campo texto quando a pgina for carregada. um valor default.

<INPUT NAME="CEP" SIZE="10">

<INPUT NAME="Estado" MaxLength="2"> <INPUT NAME="UltimoNome" VALUE="Bertrand"> 1 2 3 4 5 6 7 8 9 10 11 1 2 3 4 5 6 7 8 9 10

<html><head> <title>FormTextBox.asp</title> </head><body bgcolor="#FFFFFF"> <Form action = "FormTextBoxRespond.asp" method=GET> Fill Out This Form For Us:<p> Last Name -> <Input NAME="UltimoNome" size ="10"><br> Pas -> <Input NAME="Pas" value="USA" size=10><br> Estado -> <Input NAME="Estado" MaxLength="2" size=2><br> <Input type=submit><Input type=reset> <hr></form> </body></html> <html><head> <title>FormTextBoxRespond.asp</title> </head><body bgcolor="#FFFFFF"> <%lname=request.querystring("UltimoNome") cty=request.querystring("Pas") st=request.querystring("Estado") response.write lname & "<br>" response.write cty & "<br>" response.write st & "<br>"%> </body></html>

Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_formularios_textbox.htm [08/08/2000 09:53:39]

Forms -

Formulrios - Text Area


O comando TEXTAREA cria uma caixa de texto com mltiplas linhas, conforme segue: <TEXTAREA NAME="Comentarios" ROWS=5 COLS=50> ... o texto padrao digitado aqui </TEXTAREA> Nota: O browser geralmente coloca a scroll bars automaticamente. 1 2 3 4 5 6 7 8 9 10 11 12 <html><head> <TITLE>textarea.asp</TITLE> </head><body bgcolor="#FFFFFF"> <hr><form action="FormTextAreaRespond.asp" method=post> <p>TextArea Exemplo</p> <p>Por Favor, coloque seu comentrio:</p> <TEXTAREA NAME="ComentarioDigitado" ROWS=5 COLS=50> comentrios aparecero aqui. </textarea> <p><input type=submit><input type=reset> </form><hr> </body></html>

A resposta para o formulrio ser semelhante a esta: 1 2 3 4 5 6 7 8 9 <html><head> <TITLE>textarearespond.asp</TITLE> </head><body bgcolor="#FFFFFF"> <% comm=request.form("ComentarioDigitado") response.write comm %> </form><hr> </body></html>

Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_formularios_textarea.htm [08/08/2000 09:53:41]

Formulrios -

Formulrios - Check Boxes


O objeto checkbox tem as mesmas linhas de cdigo dos radio buttons, entretanto cada checkbox deve ter um nico nome porque o estado de "checked" ou "not checked" ser passado para o script ASP. Lembre-se que voc pode marcar mais de uma opo. 1 <html><head> 2 <TITLE>FormCheckBox.asp</TITLE> 3 </head><body bgcolor="#FFFFFF"> 4 <form action="FormCheckBoxRespond.asp" method="post"> 5 <p>CheckBox Exemplo</p> 6 <p>Como voce quer comprar?</p> 7 <input TYPE="checkbox" NAME="Correio">Confirmao ser pelo Correio<br> 8 <input TYPE="checkbox" NAME="Sedex">Confirmao enviada via Sedex<br> 9 <input TYPE="checkbox" NAME="EMail" CHECKED>Confirmao por EMail<br> 10 <input TYPE="checkbox" NAME="Fax">Confirmao enviada por Fax<br> 11 <input TYPE="checkbox" NAME="Tel" CHECKED>Confirmao feita por telefone<br><br> 12 <input type="submit"><input type="reset"> 13 </form><hr></body></html> A resposta ser essa: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <html><head> <TITLE>formCheckBoxRespond.asp</TITLE> </head><body bgcolor="#FFFFFF"> <% If request.form("Correio")="on" then response.write "<br>Ns confirmaremos end if If request.form("Sedex")="on" then response.write "<br>Ns confirmaremos end if If request.form("EMail")="on" then response.write "<br>Ns confirmaremos end if If request.form("fax")="on" then response.write "<br>Ns confirmaremos end if If request.form("tel")="on" then response.write "<br>Ns confirmaremos end if%> </body></html>

por Correio" por Sedex" por EMail" por fax" por tel"

Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_formularios_checkbox.htm [08/08/2000 09:53:46]

Formulrios -

Formulrios - Radio Buttons


Todos os inputs no formulrio devem ter seu nome nico que o identifica para uso do script ASP. Os Radio Buttons so uma excesso. Entre as opes dos Radio Buttons, somente um valor ser passado para o script ASP, isto implica que todas as opes tenham o mesmo nome. O boto selecionado como default deve ser indicado com o comando CHECKED. Isso importante porque o browser enviar ao ASP um nome e um valor referente ao boto selecionado pelo usurio. O browser no enviar para o ASP o texto que est associado com o boto. Como no exemplo abaixo, se o usurio checar o boto com o texto SALVADOR, o ASP receber Cidade = SSA 1 2 3 4 5 6 7 8 9 10 11 12 <html><head> <TITLE>formRadio.asp</TITLE> </head><body bgcolor="#FFFFFF"> <form action="FormRadiorespond.asp" method="post"> <p>Radio Buttons </p><br><p>Exemplo 1</p> <p>Qual regional voc gostaria de visitar?</p> <input TYPE="radio" NAME="Cidade" VALUE="SSA">Salvador <input TYPE="radio" NAME="Cidade" VALUE="BSB">Brasilia <input TYPE="radio" NAME="Cidade" VALUE="SPA" CHECKED>So Paulo <br><br><input type="submit"><input type="reset"> </form><hr> </body></html>

A resposta se parecer com: 1 <html><head> 2 <TITLE>formradiorespond.asp</TITLE> 3 </head><body bgcolor="#FFFFFF"> 4 <%minhaCidade = request.form("Cidade") 5 Select Case ucase(MinhaCidade) 6 case "SSA" 7 response.write "Salvador te espera no Carnaval" 8 case "BSB" 9 response.write "Brasilia te aguarda para o Impeachment do FHC" 10 case "SPA" 11 response.write "So Paulo a cidade mais poluda, mas pode vir assim mesmo." 12 End Select%> 13 </body> 14 </html>

Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_formularios_radio.htm [08/08/2000 09:53:48]

Forms -

Formulrios - List Boxes


O objeto listbox muito usado para facilitar a entrada do usurio. apenas um lista pull down. 1 2 3 4 5 6 7 8 9 10 11 <html><head> <TITLE>FormListBox.asp</TITLE> </head><body bgcolor="#FFFFFF"> <form action="FormListBoxRespond.asp" method="post"> <SELECT NAME="Estado"> <OPTION SELECTED VALUE="DF">Distrito Federal</OPTION> <OPTION value="BA">Salvador</OPTION> <OPTION value="RJ">Rio de Janeiro</OPTION> <OPTION value="outros">O Resto!</OPTION> <input type=submit> </form><hr></body></html>

A resposta se parecer com: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <html><head> <TITLE>formlistboxrespond.asp</TITLE> </head><body bgcolor="#FFFFFF"> <%meuEstado = request.form("Estado") Select Case ucase(meuEstado) case "DF" response.write "Brasilia te espera no final do ms." case "BA" response.write "O Carnaval est chegando..." case else response.write "nenhum compromisso agendado..." End Select%> </body> </html>

Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_formularios_listbox.htm [08/08/2000 09:53:49]

Databases on The Web

Banco de Dados na WEB


Banco de Dados a razo para muitos desenvolvedores utilizar o ASP e abaixo est colocado exemplos e formatos tpicos para manipular dados.
q q q q q q

Abrindo Databases via DSN e sem DSN Mostrando tabelas atravs de consultas SQL List Boxes preenchidas atravs de banco de dados Adicionando Registros para um Database com o comando SQL insert Into Adicionando Registros para um Database com o mtodo ADO add new Exemplo Completo inclui o display de tabelas vinculadas a um formulrio que rodam scripts que atualizam registros. Atualizando registros em um Database

Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_database.htm [08/08/2000 09:53:50]

Database Open (

Abrindo Databases
Qualquer script ASP que precisa conectar em um database, deve primeiramente abr-lo no servidor. Para isso existem duas formas: q uma conexo via DSN
q

uma conexo sem DSN

Uma conexo via DSN requer que o Administrador do banco ou da rede, configure um DSN no servidor Internet/Intranet usando o Painel de Controle (ODBC 32 bits) ou utilize um componente ASP que implementado no seu script pode fazer mudanas na registry do servidor e criar o DSN necessrio. Esses componentes so de terceiros e podem ser encontrados em sites especializados em ASP. Conexes via DSN geralmente requerem um nome de DSN, um usurio e uma senha. Abaixo temos o cdigo que abre um banco com DSN igual a "estudante", usurio igual a "estudante" e uma senha igual a "magic". Isso segue o mesmo procedimento realizado nos relatrios do sistema de pagamento. 1 2 3 set conntemp=server.createobject("adodb.connection") conntemp.open "estudante","estudante","magic" set rstemp=conntemp.execute("select * from autor")

O que acontece se no tivermos um DSN? Se voc conhece o nome do arquivo (baseado em databases como Access, Paradox, FoxPro, etc.) ou o nome do Data Source (SQLserver por exemplo) tudo pode ser resolvido. Abaixo est uma maneira de abrir um Data Source sem um DSN. Note que voc deve conhecer o path completo do arquivo no servidor, isto , msapgt.mdb no suficiente. preciso ter "Z:\users\pagamento\msapgt.mdb". Existe uma funo no ASP chamada server.mappath que pega um nome de arquivo e retorna o path completo do arquivo no servidor, mas no muito segura. 1 2 3 4 set conntemp=server.createobject("adodb.connection") cnpath="DBQ=" & server.mappath("sua_tabela.mdb") conntemp.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & cnpath set rstemp=conntemp.execute("select * from autor")

Aqui esto os tipos mais comuns de nomes para drives ODBC que voc pode precisar: Para Access --> driver = {Microsoft Access Driver (*.mdb)}; Para SQL -----> driver = SQL Server;

Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_database_open.htm [08/08/2000 09:53:52]

This page demonstrates the capabilities how to display a table from a SQL statement.

Tabela com consulta SQL


Esta pgina demonstra a utilizao de tabela construda a partir de uma consulta SQL. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 <TITLE>dbtable.asp</TITLE> <body bgcolor="#FFFFFF"> <% ' Programa ASP que se comunica com um database set conntemp=server.createobject("adodb.connection") ' DSN, usurio e senha conntemp.open "Student","student","magic" set rstemp=conntemp.execute("select * from authors where AU_ID<100") qtde_campos=rstemp.fields.count -1 %> <table border=1> <tr> <% 'Coloca o cabealho de cada coluna com o nome do campo for i=0 to qtde_campos %> <td><b><%=rstemp(i).name %></B></TD> <% next %> </tr> <% ' Preenche a tabela com os registros do while not rstemp.eof %> <tr> <% for i = 0 to qtde_campos%> <td valign=top><% = rstemp.fields(i).value %></td> <% next %> </tr> <% rstemp.movenext loop conntemp.close%> </table> </BODY> </HTML>

Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_database_tables.htm [08/08/2000 09:53:55]

This page demonstrates the capabilities how to display a list box from a SQL statement.

List Boxes
Esta pgina mostra a funcionalidade de mostrar uma list box atravs de uma consulta SQL. O exemplo abaixo o mais simples possvel. Existem outros tipos utilizando Mltiplas List Boxes e Modularidade. Os exemplos utilizam um DSN, mas voc pode execut-los sem. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 <html><head> <TITLE>dblist.asp</TITLE> </head><body bgcolor="#FFFFFF"> <% ' Conexo com o Database set conntemp=server.createobject("adodb.connection") ' DSN usurio senha conntemp.open "Estudante","Estudante","magic" set rstemp=conntemp.execute("select autor from autores where AU_ID<100") %> <Form> <Select> <% ' Loop para preencher os nomes do while not rstemp.eof %> <option> <%=RStemp(0)%> </option> <% rstemp.movenext loop conntemp.close%> </Select> </form> </BODY> </HTML>

Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_database_list.htm [08/08/2000 09:53:57]

This page demonstrates the capabilities how to add a record to a database with a SQL statement.

Adicionando Registros com Statement SQL


Esta pgina demonstra como adicionar registros em um Database com um statement sql. Para melhor entender o exemplo, suponha que a pgina chamada seja:
http://www.geap.com.br/tutorial_asp/asp_dbnewSQL.asp?nome="Alexandre Barreto"&id=9000&ano=1974

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41

<TITLE>dbnewrecSQL.asp</TITLE> <body bgcolor="#FFFFFF"> <HTML> <% on error resume next aunome=request.querystring("nome") auano=request.querystring("ano") auID=request.querystring("ID") Set Conn = Server.CreateObject("ADODB.Connection") ' DSN usurio senha conn.open "Estudante","Estudante","magic" SQLStmt = "INSERT INTO autors (AU_ID,autor,ano_nasc) " SQLStmt = SQLStmt & "VALUES (" & auid SQLStmt = SQLStmt & ",'" & aunome & "'" SQLStmt = SQLStmt & "," & int(auano) & ")" Set RS = Conn.Execute(SQLStmt) If err.number>0 then response.write "Ocorreram Erros:" & "<P>" response.write "Erro Nmero=" & err.number & "<P>" response.write "Descrio=" & err.description & "<P>" response.write "Help Context=" & err.helpcontext & "<P>" response.write "Help Path=" & err.helppath & "<P>" response.write "Native Error=" & err.nativeerror & "<P>" response.write "Source=" & err.source & "<P>" response.write "SQLState=" & err.sqlstate & "<P>" else response.write "No ocorreram erros!!" & "<P>" end if IF conn.errors.count> 0 then response.write "Ocorreram erros no Database" & "<P>" for counter= 0 to conn.errors.count response.write "Nmero " & conn.errors(counter).number & "<P>" response.write "Descrio -> " & conn.errors(counter).description & "<P>" next else response.write "No ocorreram erros no Database!" & "<P>" end if Conn.Close %> </BODY> </HTML>

Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_database_newSQL.htm [08/08/2000 09:53:59]

Adicionando Registros com o mtodo ADO Add New

Adicionando Registros com o mtodo ADO Add New


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 <TITLE>dbnewADO.asp</TITLE> <body bgcolor="#FFFFFF"> <HTML> <% on error resume next aunome=request.querystring("nome") auano=request.querystring("ano") auID=request.querystring("ID") Set Conn = Server.CreateObject("ADODB.Connection") ' DSN usurio senha conn.open "Estudante","Estudante","magic" Set RS = Server.CreateObject("ADODB.Recordset") RS.Open "autores",Conn,3,3 RS.AddNew RS("AU_ID")=auid RS("autor") = aunome RS("ano_nasc")= int(auano) RS.Update RS.Close Conn.Close If err.number>0 then response.write "Ocorreram Erros:" & "<P>" response.write "Nmero=" & err.number & "<P>" response.write "Descrio=" & err.description & "<P>" response.write "Help Context=" & err.helpcontext & "<P>" response.write "Help Path=" & err.helppath & "<P>" response.write "Native Error=" & err.nativeerror & "<P>" response.write "Source=" & err.source & "<P>" response.write "SQLState=" & err.sqlstate & "<P>" else response.write "Nenhum erro apareceu!" & "<P>" end if IF conn.errors.count> 0 then response.write "Ocorreram erros no Database!" & "<P>" for counter= 0 to conn.errors.count response.write "Nmero " & conn.errors(counter).number & "<P>" response.write "Descrio -> " & conn.errors(counter).description & "<P>" next else response.write "Nenhum ocorreu no Database!" & "<P>" end if %> </BODY> </HTML>

Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_database_newADO.htm [08/08/2000 09:54:01]

Now we are going to examine 3 scripts.

Exemplo Completo 1a. Parte


Vamos analisar 3 exemplos de script. O primeiro exemplo (1a. parte) mostra uma tabela parecida com o exemplo de tabelas que foi visto anteriormente, com exceo dos links que aparecero nas colunas iniciais. Clicando em um dos links o segundo exemplo ser chamado e receber um ID como parmetro. No segundo exemplo ser permitido alterar as informaes e aps clicar no boto Submit, o exemplo 3 ser chamado para processar as informaes e atualiz-las no banco em SQL. Vamos por partes... Exemplo 1 1 <html> 2 <head> 3 <title>dbfull1.asp</title> 4 </head> 5 <body bgcolor="#FFFFFF"> 6 <body bgcolor="#FFFFFF"> 7 <% 8 ' Conexo com o banco 9 set conntemp=server.createobject("adodb.connection") 10 conntemp.open "Estudante","Estudante","magic" 11 12 set rstemp=conntemp.execute("select * from autores where AU_ID<100") 13 qtde_campos=rstemp.fields.count -1 14 %> 15 <table border="1"> 16 <tr> 17 <td valign="top">---</td> 18 <% 'Preenche a primeira linha com o nome dos campos 19 for i=0 to qtde_campos %> 20 <td><b><%=rstemp(i).name %></b></td> 21 <% next %> 22 </tr> 23 <% ' Preenche a tabela com os registros do banco 24 do while not rstemp.eof %> 25 <tr> 26 <td valign="top"><a HREF="dbfull2.asp?str_ID=<%=rstemp("AU_ID")%>">Editar</a></td> 27 <% for i = 0 to qtde_campos%> 28 <td valign="top"><% = rstemp.fields(i).value %></td> 29 <% next %> 30 </tr> 31 <% rstemp.movenext 32 loop 33 conntemp.close%> 34 </table> 35 </body> 36 </html>

Exemplo 2 (2a. Parte) 1 <html>

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_database_exemplo.htm (1 of 3) [08/08/2000 09:54:06]

Now we are going to examine 3 scripts.

2 <head> 3 <title>dbfull2.asp</title> 4 </head> 5 <body bgcolor="#FFFFFF"> 6 </body> 7 </html> 8 <html> 9 <% ' Conecta com o banco e pega o valor do str_ID permitindo a edicao do registro 10 set conntemp=server.createobject("adodb.connection") 11 conntemp.open "Estudante","Estudante","magic" 12 13 ID=request.querystring("str_ID") 14 sqltemp="select * from autores where AU_ID=" & ID 15 set rstemp=conntemp.execute(sqltemp) 16 atual_ID=rstemp("AU_ID") 17 atual_nome=rstemp("autor") 18 atual_ano_nasc=rstemp("ano_nasc") 19 %> 20 <body> 21 <form name="meu_autor" action="dbfull3.asp" method="GET"> 22 <p>ID: <input type="TEXT" name="id" value="<%=atual_id%>"></p> 23 <p> Nome do autor: <input type="TEXT" name="nome" value="<%=atual_nome%>"></p> 24 <p> Ano de Nascimento: <input type="TEXT" name="ano" value="<%=atual_ano_nasc%>"></p> 25 <p> <input type="SUBMIT"> </p> 26 </form> 27 </body>

Exemplo 3 (3a. Parte) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 <HTML><HEAD> <TITLE>dbfull3.asp</TITLE> <body bgcolor="#FFFFFF"></HEAD> <% on error resume next au_nome=request.querystring("nome") ' Corrige os apstrofos au_nome=Replace(au_nome, "'", "''") au_ano=request.querystring("ano") au_ID=request.querystring("ID") Set Conn = Server.CreateObject("ADODB.Connection") conn.open "Estudante","Estudante","magic" SQLstmt = "UPDATE autores " SQLStmt = SQLstmt & "SET autor='" & au_nome & "'," SQLstmt = SQLstmt & "ano_nasc=" & au_ano SQLStmt = SQLStmt & " WHERE AU_ID=" & au_ID Set RS = Conn.Execute(SQLStmt) If err.number>0 then response.write "Ocorreram erros no script:" & "<P>" response.write "Nmero=" & err.number & "<P>"

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_database_exemplo.htm (2 of 3) [08/08/2000 09:54:06]

Now we are going to examine 3 scripts.

23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45

response.write "Descrio=" & err.description & "<P>" response.write "Help Context=" & err.helpcontext & "<P>" response.write "Help Path=" & err.helppath & "<P>" response.write "Native Error=" & err.nativeerror & "<P>" response.write "Source=" & err.source & "<P>" response.write "SQLState=" & err.sqlstate & "<P>" else response.write "Nenhum problema aconteceu!" & "<P>" end if IF conn.errors.count> 0 then response.write "Ocorreram erros com o banco de dados" & "<P>" response.write SQLstmt & "<P>" for counter= 0 to conn.errors.count response.write "Nmero do erro:" & conn.errors(counter).number & "<P>" response.write "Descrio --> " & conn.errors(counter).description & "<P>" next else response.write "Parece que tudo est ok. O Autor foi atualizado!" & "<P>" end if Conn.Close %> </BODY> </HTML>

Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_database_exemplo.htm (3 of 3) [08/08/2000 09:54:06]

Atualizando Registros

Atualizando Registros
Esta pgina demonstra a funcionalidade de se atualizar registros em um database atravs de uma consulta SQL. Supomos que o arquivo ASP seja chamado da seguinte forma:
dbupdate.asp?nome=Alexandre&id=9000&ano=1901

O script abaixo faz uma atualizao no sql atravs do statement Update. aconselhvel que todas as incluses, alteraes e excluses no sql seja feita atravs de Stored Procedures. Assim, fica mais fcil controlar permisses de execuo e segurana ainda maior com relao aos cdigos. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 <TITLE>dbupdate.asp</TITLE> <body bgcolor="#FFFFFF"> <HTML> <% on error resume next aunome=request.querystring("nome") auano=request.querystring("ano") auID=request.querystring("ID") Set Conn = Server.CreateObject("ADODB.Connection") conn.open "Estudante","Estudante","magic" SQLstmt = "UPDATE autores " SQLStmt = SQLstmt & "SET autor='" & aunome & "'," SQLstmt = SQLstmt & "ano_nasc=" & auano SQLStmt = SQLStmt & " WHERE AU_ID=" & auid Set RS = Conn.Execute(SQLStmt) If err.number>0 then response.write "Ocorreram erros no Script:" & "<P>" response.write "Nmero =" & err.number & "<P>" response.write "Descrio =" & err.description & "<P>" response.write "Help Context=" & err.helpcontext & "<P>" response.write "Help Path=" & err.helppath & "<P>" response.write "Native Error=" & err.nativeerror & "<P>" response.write "Source=" & err.source & "<P>" response.write "SQLState=" & err.sqlstate & "<P>" else response.write "Nenhum problema aconteceu!" & "<P>" end if IF conn.errors.count> 0 then response.write "Ocorreram erros com o Database" & "<P>" for counter= 0 to conn.errors.count response.write "Nmero " & conn.errors(counter).number & "<P>" response.write "Descrio -> " & conn.errors(counter).description & "<P>" next else response.write "Tudo parece ok. O Autor foi atualizado!" & "<P>" end if Conn.Close %> </BODY> </HTML>

Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_database_update.htm [08/08/2000 09:54:08]

Comandos Avanados

Comandos Avanados
q q q

Funes para simplificar programas Subrotinas para simplificar programas Content Rotator para variar uma informao toda vez que algum visitar a pgina. Strings explica algumas funes bsicas de manipulao de strings. Rotina de Erro para tratar alguns inconvenientes Dicas para "Debugar" para ajudar na soluo de problemas

q q q

Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_advanced.htm [08/08/2000 09:54:09]

Funes

Funes
O exemplo abaixo de uma funo que recebe um nmero (ms) e converte para o valor em extenso (nome). A declarao de funes segue o esquema abaixo. Como dissemos anteriormente, bom ter um arquivo Include com todas as funes usadas por um determinado sistema ou pgina, semelhante aos mdulos do VB. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 <%functions.asp Public Function MesExtenso (mes)

Select Case mes Case 1 MesExtenso = "Janeiro" Case 2 MesExtenso = "Fevereiro" Case 3 MesExtenso = "Maro" Case 4 MesExtenso = "Abril" Case 5 MesExtenso = "Maio" Case 6 MesExtenso = "Junho" Case 7 MesExtenso = "Julho" Case 8 MesExtenso = "Agosto" Case 9 MesExtenso = "Setembro" Case 10 MesExtenso = "Outubro" Case 11 MesExtenso = "Novembro" Case 12 MesExtenso = "Dezembro" End Select End Function Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_advanced_funcao.htm [08/08/2000 09:54:11]

Subrotinas

Subrotinas
Subrotinas servem basicamente para poupar a repetio de tarefas. O exemplo abaixo ilustra uma simples subrotina para formatar uma string. Lembrando que as subrotinas tambm podem ficar nos arquivos tipo Include. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 <%response.buffer=false%> <html><head> <title>subs.asp</title></head> <body bgcolor="#FFFFFF"> <br><br> Fazer uma conexo com o banco de dados de contratado, por exemplo. Montar um recordset com o nro do contratado e outras informaes quaisquer. Dim NroContratado Nrocontratado = RS("NroContratado") ZerosAEsquerda NroContratado, 8 Response.write NroContratado ' Acrescenta zeros a esquerda da string at um tamanho mximo para a string ' Public Sub ZerosAEsquerda (ByRef strString, intTamString) If IsNull(strString) Then strString = String(intTamString, "0") Else strString = String(intTamString - Len(strString), "0") & strString End If End Sub </body></html>

Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_advanced_subrotina.htm [08/08/2000 09:54:13]

Content Rotator

Content Rotator
Esta pgina demonstra a funcionalidade do componente Content Rotator. O script simples. 1 2 3 4 5 6 7 8 9 10 11 12 <HTML> <HEAD> <TITLE>cr.asp</TITLE> </HEAD> <body bgcolor="#FFFFFF"> <% Set Dica = Server.CreateObject("IISSample.ContentRotator") response.write "Este o meu conselho:<P>" response.write Dica.ChooseContent("/dicas/dicas.txt") %> </BODY> </HTML>

O arquivo Dicas.txt pode se parecer com o seguinte: 1 %%#3 2 Cante sempre que estiver tomando banho. 3 %%#3 4 <font size="2" face="ARIAL,HELVETICA">Planeje o seu dia logo no incio da manh.</font> 5 %%#3 6 <font size="4" face="ARIAL,HELVETICA">Tenha pelo menos 8 horas de sono por dia!</font>

Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_advanced_rotator.htm [08/08/2000 09:54:14]

Funes para String

Funes para String


As funes para String so muito teis para passar dados para ASCII, formatar sadas complexas e entradas para formulrios, por exemplo. O seguinte script s uma amostra da funo MID. A maioria das funes de formatao de string utilizadas no VB podem ser usadas aqui no ASP. Mais abaixo existem alguns exemplos. 1 2 3 4 5 6 7 8 <title>strings.asp</title> <body bgcolor="#FFFFFF"> <% Dim teste teste="Hello. How are you today Student." response.write ("teste=" & teste) response.write ("mid(teste,1,5)=" & mid(teste,1,5)) %> </body>

Outras funes do VBScript


Asc, AscB, AscW, Chr, ChrB, ChrW, Filter, Instr, InStrB, InstrRev, Join, Len, LenB, LCase, UCase, Left, LeftB, Mid, MidB, Right, RightB, Replace, Space, Split, StrComp, String, StrReverse, LTrim, RTrim, Trim

Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_advanced_string.htm [08/08/2000 09:54:16]

Pgina normal sem ttulo

Rotina de Erro
Esta pgina demonstra uma rotina bsica para tentar interpretar alguns erros que podem ser de script ou de banco de dados. Aconselho sempre usar esse tipo de rotina em todos os arquivos ASP que fazem acesso a Banco de Dados. E espero que ele nunca seja executado em seus programas... <% on error resume next ... Set Conn = Server.CreateObject("ADODB.Connection") ... SQLstmt = "..." Set RS = Conn.Execute(SQLStmt) If err.number>0 then%> Ocorreram Erros no Script:<P> Nmero do erro=<%=err.number%><P> Decrio do erro=<%=err.description%><P> Help Context=<%=err.helpcontext%><P>" Help Path=<%=err.helppath%><P> Native Error=<%=err.nativeerror%><P> Source=<%=err.source%><P> SQLState=<%=err.sqlstate%><P> <%else%> Nenhum problema aconteceu!<p> <%end if IF conn.errors.count> 0 then%> Ocorreram erros com o Database<P><%=SQLstmt%><P> <%for counter= 0 to conn.errors.count%> Erro #<%=conn.errors(counter).number%><P> Descrio -><%=conn.errors(counter).description%><p> <%next else%> Nenhum erro com o Database <%end if Conn.Close%>

Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_advanced_erro.htm [08/08/2000 09:54:17]

Dicas para "

Dicas para "Debugar"


O script abaixo uma forma geral de debugar problemas. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 <TITLE>dbg.asp</TITLE> <body bgcolor="#FFFFFF"> <HTML> <% Response.Write("<P>VARIAVEIS DO FORMULARIO:<br>") Response.Write("-------------------------------<br>") For Each Key in Request.Form Response.Write( Key & " = " & Request.Form(Key) & "<br>") Next Response.Write("<P>VARIAVEIS QUERY STRING:<br>") Response.Write("------------------------------<br>") For Each Key in Request.QueryString Response.Write( Key & " = " & Request.QueryString(Key) & "<br>") Next Response.Write("<P>VARIAVEIS TIPO COOKIE:<br>") Response.Write("-----------------------------<br>") For Each Key in Request.Cookies Response.Write( Key & " = " & Request.Cookies(Key) & "<br>") Next Response.Write("<P>VARIAVEIS DE SERVIDOR:<br>") Response.Write("-----------------------------<br>") For Each Key in Request.ServerVariables Response.Write( Key & " = " & Request.ServerVariables(Key) & "<br>") Next %> </BODY> </HTML>

Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp_advanced_debug.htm [08/08/2000 09:54:19]

Active Server Pages

ASP - ACTIVE SERVER PAGES


q q q q q

O que Vantagens do ASP Itens a vertificar no servidor Perguntas comuns sobre ASP Tutorial de ASP

O que
As ASP (Active Server Pages - Pginas de Servidor Ativas) so um ambiente para programao por scripts no servidor, que voc pode usar para criar pginas dinmicas, interativas e de alta performance. Como as pginas ASP, os scripts rodam no servidor e no no cliente. o prprio servidor que transforma os scripts em HTML padro, fazendo com que qualquer browser do mercado seja capaz de acessar um site que usa ASP. Entre os recursos que podem ser implementados via ASP, podemos citar:
q q q

Programao em VBScript ou JScript Acesso a banco de dados Sesses (persistncia de informaes no servidor)

ASP surgiu juntamente com o lanamento do Internet Information Server 3.0. Esta uma soluo Microsoft, que exige que o seu servidor precisa rodar um sistema operacional da Microsoft (Windows 95 ou NT). Os seguintes servidores suportam o uso de pginas ASP: q Microsoft Internet Information Server verso 3.0 no Windows NT Server
q q

Microsoft Peer Web Services verso 3.0 no Windows NT Workstation Microsoft Personal Web Server no Windows 95 ou Windows 98

A grande vantagem, porm, que existe esta exigncia apenas do lado do servidor. No lado do cliente, voc pode utilizar qualquer browser, mesmo os que no suportam VBScript (como os da Netscape).

Vantagens do ASP
q

Independncia do browser: ASP pode rodar pginas complexas no servidor e enviar somente os resultados para o cliente. Pginas x Bancos de Dados: Permite visualizar, atualizar e adicionar informaes nos servidores SQL Segurana do cdigo fonte: Como o Servidor retorna somente o resultado html, o cdigo fonte (lgica) fica preservada. Linguagens: O ASP pode utilizar de comandos em VBScript, JavaScript e Html.

q q

Itens a verificar no seu servidor


Para utilizar ASP em suas homepages, voc precisa atender aos requisitos acima. Uma situao ideal utilizar o Microsoft FrontPage 98 ou o Microsoft Visual InterDev (parte do Microsoft Visual Studio) para editar as pginas, mas isso no necessrio. Voc pode chegar l apenas usando o Notepad.

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp.htm (1 of 3) [08/08/2000 09:54:21]

Active Server Pages

Antes de mais nada:


q

Certifique-se que o computador que hospedar as pginas roda Windows NT Server, Windows NT Workstation, Windows 95 ou Windows 98. Certifique-se que voc possui o Microsoft Internet Information Server (IIS), o Peer Web Services (PWS) ou o Personal Web Server (PWS, tambm) instalado neste computador. O Windows NT 4.0 vem com a verso 2.0 do IIS, que no suficiente. Procure na Internet (http://www.microsoft.com/iis) o IIS verso 3 ou 4. Se voc pretende usar os recursos de acesso a bancos de dados, certifique-se os dados esto acessveis atravs de ODBC. Voc precisar de um driver de ODBC instalado e funcionado no servidor. Se voc optou por usar o Access, instale uma verso 7.0 (95) ou superior no Servidor. Isto garantir a presena do driver ODBC e facilitar a criao dos seus bancos de dados. Se voc preferir utilizar o SQL Server, garanta que o driver ODBC est instalado. Se voc pretende usar os recursos de acesso a bancos de dados, verifique a existncia de uma "Fonte de Dados" ODBC para este banco de dados. Isto feito usando a opo "ODBC" do "Painel de Controle" do Windows. Se for usar o SQL Server, crie um usurio com direito para acessar este banco de dados. Crie um diretrio para guardar as pginas ASP no seu servidor. Inclua este diretrio na lista do IIS/PWS, dando direito de "Execute/Execuo". As pginas ASP s podem ser rodadas a partir de um diretrio com o direito de "Execuo". No habilite a opo de "Read/Leitura", para aumentar sua segurana neste diretrio.

Garantidos os itens acima, voc pode criar sua primeira pgina ASP.

Perguntas comuns sobre ASP


Que linguagens script so suportas pelas ASP? H suporte nativo para JScript (o JavaScript da Microsoft) e VBScript. Existem plug-ins ActiveX para dar suporte para outras linguagens como REXX, PERL, and Python. Que browsers suportam ASP? Todos os browsers suportam ASP. Isto acontece pelo fato das pginas ASP serem processadas pelo servidor. O que o cliente recebe somente cdigo HTML padro. As pginas ASP so capazes de guardar estados? Sim. Aplicaes ASP podem armazenar dados que so mantidos durante toda uma sesso. Desta forma, um usurio pode fornecer seu nome somente uma vez em uma pgina e as demais pginas podem obter este dado automaticamente. Este recurso ideal para aplicaes de venda pela Internet. As pginas ASP oferecem segurana? Sim. O recurso ASP parte integrante do IIS (Internet Information Server), que tem sua segurana integrada com o Windows NT Server. fcil restringir o acesso a pginas ASP usando os esquemas de autenticao do IIS (senha bsica da Web, senha do NT ou certificados de cliente). ainda possvel dar segurana aos dados transmitidos usando SSL. Que bancos de dados podem ser acessados usando ASP? Uma aplicao ASP pode ser usada com qualquer banco de dados compatvel com ODBC. Isto inclui dados do Access, Microsoft SQL Server, Oracle, Sybase, Informix, DB2, entre outros. ASP melhor que CGI? ASP lhe d todos os recursos de aplicaes CGI de uma forma mais fcil e mais robusta. Com ASP, bem mais fcil criar conexes entre o browser e os dados em formatos normalmente incompatveis com HTML,

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp.htm (2 of 3) [08/08/2000 09:54:21]

Active Server Pages

como bancos de dados. ASP mais robusto por no criar um processo no servidor para cada pedido do usurio, como acontece com o CGI. Usando ASP ao invs de CGI, um servidor pode atender a um grande nmero de pedidos de usurios de forma mais rpida e usando menos memria. Alm disso, criar pginas ASP em geral muito mais fcil do que criar aplicaes CGI. ASP melhor do que Perl? Perl apenas uma linguagem script e no uma ferramenta de desenvolvimento. Usando ASP, voc tem objetos predefinidos para criar aplicaes complexas, como os que permitem o acesso a bancos de dados ou o uso de sesses. Alm do mais, ASP pode utilizar Perl como linguagem script, se voc desejar, usando plug-ins ActiveX de terceiros.

Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/asp.htm (3 of 3) [08/08/2000 09:54:21]

ASP -

Desenvolvendo WEB Sites


scripts, ferramentas, conceitos e dicas Projeto de Sites WEB Sites de 3a. Gerao Grficos para WEB IDC - Internet Database Connector ASP - Active Server Pages
Copyright (c) GEAP\DIREX\COINF Alexandre Barreto

Esta apostila est disponvel na Tutorial On-Line, c/Frum de discusso http://tutorial.virtualave.net E-Mail: hudsonpires@technologist.com Voltar Ao Manual da UCSNET

http://www.ucs.tche.br/formacao/informaticabasica/asp/homepage.htm [08/08/2000 09:54:23]

Projeto de Sites Web

PROJETO DE SITES WEB


Criar sites web uma nova rea de estudo. Ela deriva de disciplinas to distintas quanto a Engenharia de Software e o Marketing. A seguir enumero alguns princpios de gerenciamento de projetos de sites web que sero teis a todos...

Perguntas a responder antes de iniciar o projeto do site


1. Quais so os principais objetivos do seu site? (Informar? Vender? Dar suporte?) 2. Quem o seu pblico-alvo primrio e secundrio? (descreva interesses, necessidades, habilidades) 3. Qual a capacidade dos usurios? (browser, velocidade de acesso) 4. O site atrair diferentes pessoas? Quais? Quais so as suas reas de interesse? 5. Qual o principal slogan do site? (a mensagem que melhor descreve seu contedo) 6. O contedo do site novo ou j existe em outro formato? 7. Que imagens j existentes esto disponveis? 8. necessrio obter dados dos clientes? O qu preciso saber? Porqu? 9. Que novas tecnologias sero utilizadas? Quais e, especificamente, porqu? 10. Que informao do site mudar? Com que freqncia e com que abrangncia? 11. Qual a posio do produto? (compare com os concorrentes) 12. Descreva o produto como se fosse uma pessoa. (srio? estranho? jovem? confivel?) 13. Que reas do site precisam de atualizao? Quem se beneficia com esta atualizao? 14. Pontos fortes e fracos do produto. (compare com os concorrentes) 15. Quando o site precisa estar pronto? 16. Quem aprovar o trabalho? 17. Quem hospedar e dar manuteno ao site? 18. O site funcionar durante quanto tempo? 19. Qual o oramento para o site? 20. Quais so os planos para promover o site? Quem responsvel pela promoo?

http://www.ucs.tche.br/formacao/informaticabasica/asp/projeto_sites.htm (1 of 5) [08/08/2000 09:56:05]

Projeto de Sites Web

As treze armas secretas de quem constri sites


1. Segmentao do mercado. Saiba qual o seu pblico, conhea os desejos de seus clientes e faa deles o seu objetivo. 2. Viso do negcio. Muitos projetistas de sites no sabem quais os objetivos de negcio dos seus clientes. Pense em formas de usar a web de forma eficaz para a empresa. 3. Saber dizer no. Se um cliente no se encaixa nos seus critrios, analise se vale a pena aceitar o trabalho. Como grandes projetos so geralmente melhores que pequenos projetos, melhor deixar de lado alguns projetos pequenos para concentrar-se em um projeto maior. 4. Termo de compromisso. Este documento declara o compromisso de desenvolver o projeto, dando suas linhas gerais. fundamental t-lo mesmo nas primeiras discusses, antes de se chegar a um contrato. Se voc est trabalhando sem ter ao menos um termo de compromisso, est indo rpido demais... 5. Site do projeto. Tenha um site web sobre o projeto de cada site que voc est construindo, contendo todo tipo de informao til (objetivos, cronograma, tarefas realizadas, etc). Isto uma forma eficaz de trabalhar e de se comunicar com o seu cliente. A forma organizada de trabalhar pode at ajudar a conquistar novos clientes. 6. Estratgia. A fase de planejamento estratgico a mais importante do projeto. Conhea detalhadamente o negcio do seu cliente. Clientes que levam a Internet a srio diferenciam os bons dos maus projetistas pela qualidade de sua estratgia. 7. Perfil do usurio. Saiba tudo sobre o seu usurio: idade, local onde mora, profisso, tipo de famlia, revistas que l, tempo que passa na Internet, hobbies, etc. Imagine que voc fosse contratatado para construir um site que tem como pblico-alvo apenas 4 pessoas. No valeria a pena descobrir, individualmente, o qu fazer para que eles voltassem a visitar seu site? Mesmo que o pblico-alvo inclua milhes de pessoas, voc deve agir da mesma forma... 8. Envolvimento do lder. Em cada projeto, existe uma pessoa na empresa que lhe contratou que funciona como um lder, um ponto focal do cliente. Se esta pessoa est envolvida no projeto, todos so beneficiados. Leve-o a acompanhar todo o processo de desenvolvimento, como se fizesse parte da sua equipe. 9. Comunicao. A maior causa para que os projetos acabem mal est na falta de comunicao ou na m comunicao. A natureza mutante da Internet e a rapidez na liberao de novas verses de browsers podem confundir ou frustar qualquer um. s vezes, basta um mal entendido em torno de um simples termo tcnico. Clientes e projetistas devem conversar pelo menos duas vezes por semana.

http://www.ucs.tche.br/formacao/informaticabasica/asp/projeto_sites.htm (2 of 5) [08/08/2000 09:56:05]

Projeto de Sites Web

10. Tratar clientes individualmente. Cada cliente precisa de ateno e envolvimento pessoais. Se voc est recebendo e-mails de mais de cinquenta clientes por dia, est na hora de repensar seu trabalho. 11. Prazo para "fechar" o contedo. Se um projeto grande, insista em no incluir mais nenhum contedo nas ltimas duas semanas antes do lanamento do site. Mesmo em projetos pequenos, no deve ser menos de uma semana. A nica possvel exceo so as sees de "novidades" de algumas pginas. 12. Nmero de projetos. Cada grande projeto deve ter um produtor dedicado, mas muitos esto envolvidos em vrios outros projetos. Para isso, o produtor deve ser extremamente organizado. Um bom produtor conseguir dar conta, no mximo, de dois grandes projetos. Mesmo assim, apenas se os prazos dos dois no forem prximos um do outro. 13. Gerenciamento de contedo x Gerenciamento de projetos. Um projetista utilizar uma ferramenta de gerenciamento de projetos para criar o site. O cliente utilizar uma ferramenta de gerenciamento de contedo para fazer a atualizao diria do site, criando documentos segundo os modelos definidos durante o projeto.

As sete falsas economias nos projetos de sites


1. "O nosso site uma verso na Internet do nosso marketing atual. Podemos usar os mesmos textos e grficos de nossos folders, anncios de jornal ou revista." 2. "Se mais pessoas trabalharem no site, ele ficar pronto mais rpido!" 3. "A web um lugar onde ns podemos fazer vrias experincias para depois ver o que deu certo. Vamos contratar aquele amigo nosso que faz sites nas suas horas vagas." 4. "Documentao uma perda de tempo e esforo..." 5. "Vamos fazer ns mesmos o projeto do site. Depois contratamos algum para pegar os nossos rascunhos e transform-los em paginas web." 6. "Vamos pedir propostas de construo do nosso site a alguns projetistas e agncias de propaganda. Assim, teremos um monte de boas idias de graa!" 7. "Sites web no precisam de manuteno. Vamos at nos divertir fazendo tudo por conta prpria..."

O cliente tem direito a


1. 2. 3. 4. Cronogramas bem feitos. Comunicao constante. Um contrato por escrito. Notificao imediata em caso de atrasos, problemas e despesas extras.

http://www.ucs.tche.br/formacao/informaticabasica/asp/projeto_sites.htm (3 of 5) [08/08/2000 09:56:05]

Projeto de Sites Web

5. 6. 7. 8. 9. 10. 11.

Pagar somente pelo que foi autorizado. Controle de horas, quando est pagando por hora. Ver o projeto durante o desenvolvimento. Tempo de resposta razovel. Precaues relativas a segurana e privacidade. Produtos que funcionam de acordo com o que foi contratado. Direitos autorais sobre o contedo do site.

O projetista de sites tem direito a


1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Saber qual o oramento do projeto, desde o incio Um perfil completo do projeto. Um contrato por escrito. A valorizao do seu tempo (atrasos por parte do cliente custam dinheiro). 25-50% do valor orado como pagamento inicial. Pagamento no prazo combinado. Gerenciar seu prprio processo. Compensar suas falhas. Ser pago por trabalhos de consultoria ou idias. Ser informados quando esto fora da concorrncia por um projeto Direitos autorais sobre as ferramentas criadas para construir o site.

Pontos chaves para fechar um projeto


1. Tenha um site web informativo que diferencie a sua empresa de projetos de sites web da concorrncia. 2. Tenha um panfleto ou folder com informao sobre o seu trabalho e o testemunho de clientes. 3. Seja a pessoa com quem seu cliente queira fazer negcio, sendo profissional e capacitado. 4. Certifique-se de que deseja fazer negcios com seu cliente. uma via de mo dupla. 5. Aprenda sobre o negcio do seu cliente. 6. Indique clientes anteriores que esto plenamente satisfeitos com o seu trabalho. 7. No v abaixo do seu preo mnimo, a no ser que tenha de faz-lo ou queira faz-lo. 8. No entregue uma proposta ou informao especfica sobre o seu projeto antes de ter certeza que o cliente est realmente interessado em
http://www.ucs.tche.br/formacao/informaticabasica/asp/projeto_sites.htm (4 of 5) [08/08/2000 09:56:05]

Projeto de Sites Web

contrat-lo (e que no est contactando mais de trs outras empresas). 9. Faa boas estimativas. 10. No importa se voc gosta ou se o cliente gosta. A nica coisa que importa se o usurio do site vai gostar. 11. Se voc est pronto para fechar o negcio, no saia sem um termo de compromisso.

Dez segredos para produzir sites web


1. Use uma nomeclatura consistente. 2. Padronize os tamanhos dos grficos criando uma hierarquia: ttulos, subttulos, grfico grande, grfico mdio, grfico pequeno, amostras, etc. Use o menor nmero de classes possvel. 3. Use uma palette otimizada para as imagens em cada classe. Use sempre a mesma palette para uma determinada classe. 4. Insira comentrios nas suas pginas HTML, de forma a dar informaes para os projetistas e pessoal responsvel pelo contedo. 5. Use exatamente os mesmos comandos em pginas diferentes para facilitar futuras buscas e substituies. 6. Em pginas grandes, remova os comentrios e elimine saltos de linha na verso final que ser publicada no site. 7. Use o mximo de recursos que sua ferramenta oferece e atualize a verso desta ferramenta com freqncia. 8. Faa cpias de segurana do seu site. 9. Verifique como o seu site aparece tanto no Microsoft Internet Explorer quanto no Netscape Navigator. Se possvel, teste tanto nas verses 3.0 quanto nas verses 4.0 destes dois browsers. 10. Teste, teste e depois teste tudo de novo. Tenha sempre uma verso alfa ou beta disponvel para que seja possvel fazer testes e dar opinies. Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/projeto_sites.htm (5 of 5) [08/08/2000 09:56:05]

Sites de 3 Gerao

SITES DE 3a. GERAO


A Web evoluiu muito nos ltimos anos. Estamos agora na verso 4.0 dos browsers (Microsoft Internet Explorer e Netscape Navigator) e as pginas Web evoluram no mesmo ritmo. Entretanto, a classificao dos sites em geraes no tem relao direta com os recursos oferecidos pelos browsers. Os requisitos para ser classificado como um site de terceira gerao esto mais relacionados ao design do que propriamente tecnologia...

A primeira gerao
Os primeiros sites na Web previlegiavam apenas o contedo e no a forma. Foram criados por cientistas que desejavam compartilhar suas idias com outros cientistas. Eles eram estritamente lineares e tinham um mnimo de funcionalidade. Na primeira gerao, nota-se claramente a limitao imposta por modems lentos e monitores monocromticos. Os grficos e textos eram apresentados sempre de cima para baixo e da esquerda para a direita. Era muito comum o uso de saltos de linhas, marcadores e linhas horizontais como recursos para separar pargrafos.

A segunda gerao
No incio de 1995, foram lanadas diversas extenses linguagem HTML no browser Netscape Navigator (que ento dominava sozinho a web). A evoluo nos sites surgiu na forma de cones, imagens de fundo, botes com bordas, tabelas e grficos mapeados. A estrutura deixa de ser linear para ser apresentada de forma hierrquica, quase sempre atravs de menus com vrios nveis. A maior diferena da segunda gerao para a primeira foi a substituio de palavras por elementos grficos. As funes passam a ser representadas por cones, surgem imagens de fundo ao invs dos antigos fundos cinzas, os grficos coloridos e animados substituem as antigas figuras. Cria-se o conceito de "home-page": uma pgina cheia de desenhos 3D, janelas e botes, que serve de menu para acessar o restante de um site. Nesta poca, a legibilidade deixou de ser importante. Para ter um bom site, era necessrio mostrar uma grande quantidade de truques tcnicos.

Sites de terceira gerao


O que diferencia a terceira gerao das demais no so os recursos tecnolgicos. A grande diferena est no design. A idia dar aos usurios uma boa sensao. As pessoas mais habilidosas conseguiram criar sites de terceira

http://www.ucs.tche.br/formacao/informaticabasica/asp/sites_3a_geracao.htm (1 of 8) [08/08/2000 09:56:22]

Sites de 3 Gerao

gerao usando qualquer browser grfico. Na terceira gerao, o contedo volta ao seu lugar de destaque. Entretanto, a forma no mais deixada de lado. H uma preocupao simultnea com funcionalidade e beleza esttica. H grande preocupao no layout preciso, na harmonia entre as cores, na escolha do tipo de letra adequado, no uso correto dos grficos e no tempo para carregar cada pgina. Acima de tudo, h um compromisso de ser agradvel (em todos os sentidos) ao usurio. Os projetistas destes novos sites utilizam metforas e modelos psicolgicos dos consumidores. Assim como os arquitetos que fazem os shopping centers, eles passam horas e at dias pensando em como tornar suas pginas mais atraentes aos seus usurios. Criar sites de terceira gerao um trabalho rduo, que exige dedicao e uma grande sentimento daquilo que agrada o seu pblico-alvo. Em geral envolve o trabalho de uma equipe que precisa trabalhar unida para fazer cada pgina ser bonita e o site como um todo funcionar como uma boa experincia para o usurio.

O Restaurante
interessante a comparao de um site web com um restaurante. Voc descobre um restaurante atravs de um amigo, de um anncio ou passando por acaso por ele. Voc l cartazes ou faixas com ofertas do lado de fora, pra na entrada e sente o clima e o cheirinho da comida. Estando na porta, voc decide se vai ou no entrar. Em um restaurante popular, voc at pode esperar em uma fila para conseguir uma mesa. Se voc ficar, ser levado a uma mesa e l lhe mostraro um cardpio. Voc faz a sua escolha. Quando a comida chega, voc aprecia o prato. Tanto a comida como a sua arrumao no prato so obra do chef. Voc prova um ou outro item, mistura alguns para experimentar o sabor. No final, voc escolhe uma sobremesa, pede a conta e paga. Voc deixa uma gorjeta e pode at conversar um pouco com o maitre ou o dono. Depois, quando sentir fome novamente, poder voltar ou no, de acordo com a qualidade da sua primeira experincia. Pense na Web como uma cidadezinha aconchegante com meio milho de restaurantes.

http://www.ucs.tche.br/formacao/informaticabasica/asp/sites_3a_geracao.htm (2 of 8) [08/08/2000 09:56:22]

Sites de 3 Gerao

Quarta gerao?
Muitas pessoas acreditam que os sites de hoje so de quarta gerao, pelo simples fato de terem sido projetados para visualizao com a verso 4 dos browsers. Outros acreditam que a quarta gerao so os sites com pginas dinmicas e acesso a banco de dados. Nada disto verdade. O que define a gerao de um site no a tecnologia usada para constru-lo, mas o seu design. Um bom projetista pode criar um site de terceira gerao que possa ser visualizado com o Netscape 1.1. Um site que explora recursos do Internet Explorer 4.0 pode ser de segunda gerao.

Pginas de Entrada
Uma caracterstica tpica de um site de terceira gerao a pgina de entrada. Ao invs de mostrar diretamente ao usurio o seu menu de opes, voc o convida a ver uma pgina inicial, uma porta de entrada ou uma "Splash Screen". Em alguns sites, existe uma seqncia de pginas de entrada, formando um tnel ou corredor. A idia simples: fazer com que o usurio sinta o que encontrar dentro do site. O usurio deve sentir-se atrado a continuar, seja por estmulos positivos ou por um certo grau de suspense. Algumas pginas usam tneis (vrias pginas de entrada), mas neste caso o risco grande. Se no for muito bem elaborado e atraente, um tnel poder afastar usurios ao invs de atra-los. Nunca use mais de quatro pginas. Tenha um link direto para a pgina principal para o caso do usurio no desejar passar pelo tnel. Um defeito bsico a evitar nas pginas de entrada um tempo grande para carreg-las. Se a sua pgina de entrada demorar mais de 15 segundos para aparecer (levando em conta a velocidade mais comum dos modems), o seu usurio poder nunca chegar ao seu menu de opes. Pelo contrrio, ele acabar procurando uma pgina mais interessante no C@d. Outro defeito tentar fazer o usurio se registrar logo na entrada. Frases do tipo "registre-se aqui de graa" no funcionam mais. Se voc deseja realmente que as pessoas se registrem, voc deve dar algo a elas, antes. Um registro na sua pgina ou tnel de entrada significa uma barreira que vai apenas espantar a maioria dos seus usurios.

Pgina Principal
Ao contrrio da gerao anterior, os sites de terceira gerao podem ter uma ou vrias pginas bsicas (home-pages), como uma forma de organizar ou apresentar o seu contedo. Alguns sites simplesmente no possuem uma pgina

http://www.ucs.tche.br/formacao/informaticabasica/asp/sites_3a_geracao.htm (3 of 8) [08/08/2000 09:56:22]

Sites de 3 Gerao

principal. Na terceira gerao, as pginas principais devem ter contedo, alm de servirem como ligao com as demais pginas. No tenha medo de orientar o seu visitante. Inclua vrios links para outras pginas do site em cada pgina. Tenha sempre algo interessante em cada pgina. Se o seu site vende produtos, deve haver um link para o catlogo em quase todas as pginas do site. Se voc tem um formulrio online para venda do seu software, tenha um link para ele em todas as pginas que falarem deste software. Se voc deseja que o usurio preencha uma pesquisa, faa com que o link aparea em cada pgina. A maioria das pessoas no vai clicar nestes links na primeira vez, mas eles acabaro clicando quando estiverem prontos.

Iscas
Utilize iscas para atrair os visitantes ao seu site. Fofocas, notcias, promoes de vendas, software grtis, arquivos com sons, fotos da loura do tchan e receitas culinrias so coisas que atraem usurios para sites de terceira gerao. Se voc quer atrair donos de cachorros, crie uma seo "anatomia de uma pulga" ou "catlogo de raas de ces". Se voc quer atrair amantes de cinema, tenha uma lista dos filmes mais alugados na semana. Na web, estas iscas costumam ser chamadas de "coisas grtis" (free stuff). Se voc der coisas grtis, mais usurios passearo pelo seu site. Use a imaginao! Pense em alguma coisa que o seu pblico alvo goste de ver, ouvir ou falar. Quando os usurios comearem a dar o endereo do seu site para os amigos, a coisa estar dando certo. Porm, cuidado! Quanto mais coisas grtis voc der, mas os usurios vo querer. Prepara-se, ento, para continuar dando sempre mais coisas grtis.

Pginas de sada
Ao contrrio do que possa parecer primeira vista, um link para a sada do seu site no far os usurios irem embora. Mostrar uma pgina (ou tnel) de sada faz com que os usurios sintam que esto saindo e reflitam: "ser que eu j visitei tudo o que queria neste site?". Anunciar a sada tambm cria uma certa expectativa. Vale a pena perder um pouco de tempo para criar um sada realmente interessante. No bom, entretanto, fazer muito alarde. Deve haver um link sutil, sem destaque a mais ou a menos. Sem encorajar o usurio a sair, mas ao mesmo tempo mostrando que existe esta opo. A pgina de sada tambm um bom lugar para perguntar algo ao seu usurio. Voc pode pedir para que ele preencha um formulrio, ligue para o seu nmero 0800, participe no sorteio de um prmio, assine uma lista de discusso ou

http://www.ucs.tche.br/formacao/informaticabasica/asp/sites_3a_geracao.htm (4 of 8) [08/08/2000 09:56:22]

Sites de 3 Gerao

coisas do gnero. Neste ponto, o usurio deve estar satisfeito com a experincia e pode estar disposto a lhe dar algo em retorno. O "grande final" pode ainda incluir um ltimo comentrio sobre o tema, uma lista de sites relacionados na Internet ou similares.

Mudanas
Se voc tem um site, com certeza deseja entrar para o "bookmark" ou a "lista de favoritos" do seu usurio. Se a sua pgina principal for muito boa, isto pode acontecer. Se as iscas o levaram at l, ele voltar para checar as novidades. Seu site, ento, pode ser beneficiado por mudanas. Se voc planeja mudar seu site uma vez por ms, melhor nem se dar a esse trabalho. como se ele fosse esttico. Um site que muda semanalmente e tem informaes interessantes pode atrair alguns usurios. Pginas que possuem contedo novo e atraente diariamente so uma certeza de um grande nmero de acessos. O ideal colocar as novidades em destaque logo na pgina principal e no criar um link para uma pgina "novidades". Se as novidades so realmente interessantes, elas merecem um lugar de destaque no seu site.

Metforas
Um dos elementos tpicos de um site de terceira gerao so as metforas. Criando um site que lembra algo do mundo real, voc torna a navegao mais fcil e ajuda a dar uma coerncia ao seu site. Metforas devem ser conhecidas, consistentes e apropriadas para a velocidade de acesso do seu usurio. Elas fazem o usurio se sentir vontade, do a ele um sentimento de que j sabe navegar pelo site. Uma boa metfora pode tambm levar o usurio a explor-lo por inteiro, para descobrir at onde ela pode chegar... As metforas mais comuns so galerias, museus, revistas em quadrinhos, lojas, canais de televiso, shopping centers, livros, jornais, estantes, parques de diverso, pessoas, computadores, animais, fazendas, prdios, cidades e todo tipo de construo, ser ou objeto do mundo real. Metforas so um meio de explorao. Devem ser simples, consistentes e fceis de usar. Boas metforas so bvias e so construdas de forma a serem intuitivas. Uma metfora ruim fora voc a aprender novos conceitos e comandos. Se a metfora for boa, voc no consegue se perder no site. Algumas metforas exageram no uso de grficos tridimensionais. Elas possuem um grande realismo e permitem que o usurio abra portas, desa escadas e passeie por corredores. Embora isto fique timo em CD-ROMs e redes locais,

http://www.ucs.tche.br/formacao/informaticabasica/asp/sites_3a_geracao.htm (5 of 8) [08/08/2000 09:56:22]

Sites de 3 Gerao

este tipo de metfora acaba sendo uma frustrao para o usurio da Internet que acessa via modem. Suas metforas devem ser leves e eficientes. As metforas tambm devem ser familiares para o seu pblico-alvo. Um site que se baseia na estrutura de um motor de carro timo para amantes de mecnica, mas pode ser pssimo para outras pessoas. Se decidir usar uma metfora, voc deve us-la no site inteiro e no somente numa parte dele. E, uma vez escolhida uma metfora, mantenha sua linha e seja consistente. Pode parecer fcil, mas voc ser tentado a relaxar em alguns setores do site ou a estender sua metfora para outros temas. Resista tentao e mantenha as coisas simples e coerentes. Projetistas grficos so pouco explorados na construo de sites web. Eles possuem grande habilidade para criar metforas em cartes de visita e comerciais de TV. melhor interagir com este profissional do que tentar tornar-se um.

Temas
Voc no precisa de uma metfora para ter um site de terceira gerao. Um tema consistente suficiente. Um tema pode ser visual ou conceitual. Os exemplos mais comuns so: primitivo, fotogrfico, infantil, tipogrfico, futurista, nutico, entre muitos outros. Assim como uma metfora, um tema pode ajudar ou atrapalhar. Quase qualquer coisa pode servir como um tema. Pense nas vitrines das lojas, que normalmente possuem um tema. A maioria usa um conjunto consistente de cores, texturas, iluminao e grficos. Decoradores sabem muito sobre temas. Eles criam espaos funcionais e interessantes que no so repetitivos. Um decorador sabe fazer ambientes agradarem os sentidos ao mesmo tempo que servem a um propsito. Sites temticos so mais difceis de criar do que parece. Existe uma grande tentao de usar todos os tipos de recursos: som, animao, fontes e grficos, criando uma grande confuso. O uso de fotografias de qualidade, por exemplo, pode fazer uma grande diferena em um site. Usar o nmero reduzido de cores disponveis no browser j difcil. Usar somente um subconjunto destas cores para criar um tema um desafio e tanto. Um bom site temtico requer um grande esforo para unir um projeto atraente consistncia de estilo.

Sites de Informao
Muitos sites no so voltados para consumidores. Sites que possuem um grande volume de informao devem satisfazer a usurios impacientes que querem ir direto ao assunto. Estes sites no podem se dar ao luxo de colocar muitos
http://www.ucs.tche.br/formacao/informaticabasica/asp/sites_3a_geracao.htm (6 of 8) [08/08/2000 09:56:22]

Sites de 3 Gerao

adornos em torno da informao. Entretanto, eles podem ser agradveis sem utilizar muitos grficos. A maioria destes sites contm longas pginas de texto e listas com marcadores. Seu menu principal conhecido: Novidades | Nossa Empresa | ndice | Perguntas Comuns | Ajuda. Muitos possuem ferramentas de busca que permitem pesquisar as pginas e ajudar aqueles que no sabem exatamente o que procuram. A apresentao de informao vinda de um banco de dados uma tarefa complicada. Sites como o Alta Vista precisam harmonizar em suas pginas os resultados da busca, anncios, controles de navegao, diferentes nveis de usurios e ofertas tentadoras. Os projetistas destas pginas devem trabalhar com modelos que so preenchidos no momento de cada pesquisa. O resultado deve ser atraente e funcional, sem confundir o usurio. Quadros (frames) podem ajudar, mas tenha cuidado com a simplicidade. Os servidores esto fornecendo cada vez mais recursos de personalizao. Para sites de informao, isto significa a possibilidade de mostrar ao usurio somente o que lhe interessa. A criao de menus personalizados um recurso apreciado por todos os usurios. Oferea a possibilidade de enviar e-mails informando quando uma informao de interesse for adicionada ao site.

Formulrios
Projeto de formulrios outra especialidade. Alguns formulrios so bem melhores que outros, como acontece com muitas coisas na web. Alguns deixam o usurio confuso, desorientado e sem saber como pedir o produto. A melhor forma de criar um formulrio procurar bons exemplos na prpria web e imit-los. No cometa o erro de pensar que formulrios so simples de fazer. Prefira os formulrios sem bordas ao redor dos campos. Em geral uma boa idia alinhar os ttulos direita e colocar os campos a preencher alinhados pela esquerda. Tambm no recomendvel criar uma longa pgina com dezenas de campos. Prefira criar vrias pginas com um boto "Prxima Pgina" fazendo a ligao. Numerar os passos e separar as informaes usando cores so boas idias. Muitas vezes o seu usurio est impaciente ou simplesmente no deseja fornecer muita informao ao seu site. Pea o mnimo possvel de informao e mantenha o formulrio simples.

http://www.ucs.tche.br/formacao/informaticabasica/asp/sites_3a_geracao.htm (7 of 8) [08/08/2000 09:56:22]

Sites de 3 Gerao

Concluso
Se as pessoas comearem a falar do seu site, se elas voltam com freqncia, se a sua metfora for mencionada por algum ou se a sua pgina de entrada estiver realmente boa, ento voc conseguiu criar um site de terceira gerao. As pessoas comearo a ter uma certa identificao com o site. Elas se sentiro realmente atradas a fazer do site um lugar para visitar regularmente. Voc ter uma verdadeira comunidade em torno do seu site. Se voc conseguir tudo isso, ter realmente conseguido criar um excelente site. Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/sites_3a_geracao.htm (8 of 8) [08/08/2000 09:56:22]

Grficos para a Web

GRFICOS PARA WEB


Grficos so elementos importantes na construo de sites web. Alm da preocupaes comuns relativas beleza e criatividade, este tipo de grfico deve ser criado pensando nas limitaes relativas a cores e tamanho do arquivo gerado...

Vetores x Mapas de bits


Existem basicamente dois tipos de images feitas por computador: vetoriais e bitmaps. Vetores so imagens definidas a partir de regras como "desenhe uma linha de 10,10 at 120,30", "desenhe um crculo com centro em 50,60 e raio 10", "pinte a rea em 20,20". Os bitmaps so diferentes: voc tem o desenho feito ponto a ponto, como se ele fosse pintado sobre papel quadriculado, onde cada quadradinho pode ser pintado de apenas uma cor. Uma imagem vetorial simples um arquivo pequeno, que pode ser facilmente desenhada em vrios tamanhos sem perder qualidade. As extenses de grficos vetoriais mais conhecidas so WMF (Windows Metafile), CDR (Corel Draw), DWG, DXF (ambos do AutoCAD) e AI (Adobe Illustrator). Uma imagem em mapa de bits mais detalhista, mas geralmente ocupa mais espao que uma imagem vetorial simples. Este formato necessrio quando se utiliza imagens digitalizadas, mas apresenta problemas para ser mostrada em diversos tamanhos. Este tipo de image perde qualidade nos tamanho muito pequenos e fica grosseira em tamanhos muito grandes. As extenses de grficos mais comuns so BMP (Windows Paint), PCX (Paintbrush), PSD (Adobe Photoshop), CPT (Corel Photopaint), TIF (usado em editorao), GIF e JPG (usados na Internet). Na Web, a grande maioria dos grficos so bitmaps com extenso GIF e JPG. A razo que estes formatos so bitmaps comprimidos. Os arquivos GIF e JPG so bem menores, por exemplo, que a mesma imagem em formato BMP.

Tamanho do arquivo
Existem uma srie de fatores que influenciam o tamanho de um arquivo grfico para a Internet:
q

Nmero de pontos. Obviamente, a largura e a altura de um grfico influenciam diretamente o tamanho do arquivo. Nmero de cores. necessrio guardar informao sobre cores para cada ponto de um bitmap. Em um grfico que usa cores realsticas, cada ponto ocupa 3 bytes e possvel representar mais de 16 milhes de cores. O mais comum, na Internet, usar arquivos onde cada cor guardada em um byte, permitindo usar at 256 cores.

http://www.ucs.tche.br/formacao/informaticabasica/asp/graficos.htm (1 of 8) [08/08/2000 09:56:58]

Grficos para a Web

Compresso. Os formatos GIF e JPG guardam os bits comprimidos. Esta compresso consiste em achar repeties dentro do arquivo e elimin-las.

A maioria das pessoas imagina que apenas a dimenso da figura (sua altura e largura em pontos) modificam o tamanho. Como um desenvolvedor de grficos para a Internet, voc deve preocupar-se bastante com a compresso e principalmente com o nmero de cores de cada figura. Uma mudana nestes tens pode facilmente reduzir seu arquivo metade do seu tamanho original. Em alguns casos, o tamanho chega a ser reduzido a um dcimo.

Cores
Como j dissemos, o nmero de cores influencia fortemente o tamanho do arquivo. Saber utiliz-las corretamente pode ser muito trabalhoso, mas vale a pena. No estou sugerindo que voc faa apenas figuras em preto e branco, de agora em diante. O uso de vrias cores fundamental para a aparncia do site. A mgica est em reduzir o tamanho do arquivo sem perder qualidade e variedade de cores. Acredito, isto possvel! Inicialmente voc precisa entender em detalhes o quanto as cores influenciam o seu arquivo e como elas so realmente armazenadas e tratadas pelo browser. Observe a tabela abaixo, que mostra o tamanho de um arquivo de 100 x 300 pontos com diversos esquemas de cores: Tipo de arquivo Nmero de Cores Preto & Branco Colorido, 16 cores Colorido, 256 cores Cor real, 16 bits Cor real, 24 bits 2 16 256 32.768 16.777.216 Bits por ponto 1 4 8 16 24 Tamanho arquivo* 1.250 5.000 10.000 20.000 30.000

* Bitmap de 100 x 100 pontos, sem compresso, sem cabealhos, sem palette, em bytes

Palettes
Quando se utiliza cor real, cada ponto tem sua cor definida atravs dos componentes em vermelho (red), verde (green) e azul (blue). Estas so as cores bsicas para formao de todos os milhes de cores no nosso monitor. Se voc j definiu cores de fundo para pginas, links ou tabelas em HTML, deve conhecer o esquema RGB. Cada cor definida como um nmero hexadecimal de 6 dgitos. So 2 dgitos para vermelho, dois para verde e dois

http://www.ucs.tche.br/formacao/informaticabasica/asp/graficos.htm (2 of 8) [08/08/2000 09:56:58]

Grficos para a Web

para o azul. O valor de cada cor vai de 00 at FF (255 em decimal). Cada componente ocupa um byte e permite, portanto, 256 possibilidades. Multiplicando 256 por 256 por 256, temos as 16.777.216 cores disponveis. Quando se utiliza um nmero menor de cores, no vale a pena gastar trs bytes para definir a cor de cada ponto. Nem tampouco deve-se utilizar alguns poucos bits para definir a cor, o que deixaria o nmero de opes muito restrito. A soluo usar uma tabela de cores, adicionada ao incio do arquivo, descrevendo as cores a serem utilizadas no arquivo. Esta tabela conhecida como "palette". Observe alguns arquivos com palettes de 8 cores (3 bits) e a respectiva pallete logo abaixo. Note que, do total dos mais de 16 milhes de cores disponveis, apenas algumas foram escolhidas para fazer parte de cada palette.

O tipo de arquivo mais comum o que o utiliza uma palette de 256 cores (8 bits). Isto permite uma grande combinao de cores e uma razovel economia em bytes. S recomendvel usar mais que 256 cores quando o efeito final precisa ter uma aparncia "fotogrfica".

A palette dos browsers


Um dos problemas bsicos dos grficos na web saber como as cores sero visualizadas pelos usurios. Todo bom projetista de sites possui uma placa de vdeo capaz de mostrar milhes de cores, mas ser que o usurio tambm tem uma placa assim? A resposta, na maioria das vezes, no. A maioria dos usurios utiliza sua placa de vdeo no modo de 256 cores. Alguns usurios possuem placas simples, outros no sabem como instalar o driver mais sofisticado e outros preferem 256 cores para melhorar a performance do Windows, especialmente em jogos. Mesmo usando 256 cores, seu usurio tem algumas destas cores reservadas para o uso do sistema e do prprio browser. Assim, sobram em torno de 216 cores disponveis para as suas figuras. Se voc utiliza grficos com palettes com muitas cores, provvel que o usurio no consiga ver o grfico como voc o projetou. O Netscape e o Explorer possuem, inclusive, uma palette padronizada de 216 cores para usar nas pginas e nos seus grficos. Esta palette inclui todas as
http://www.ucs.tche.br/formacao/informaticabasica/asp/graficos.htm (3 of 8) [08/08/2000 09:56:58]

Grficos para a Web

cores bsicas (verde, vermelho, azul, amarelo, ciano, magenta, preto e branco) e pelo menos 4 graduaes entre cada uma destas cores. Veja no grfico abaixo a palette padro dos browsers.

Se voc utilizar somente as cores na palette acima, todos os usurios com 256 cores no seu monitor (ou mais) vero sua imagens exatamente como voc projetou. Se voc utilizar uma palette com mais cores ou cores diferentes das mostradas acima (por exemplo, uma palette com 200 tons de azul), os usurios vero os grficos de forma diferente, com as cores adaptadas para a palette padro. Se voc faz grficos especificamente para a web, melhor at configurar seu programa de desenho com a palette dos browsers, para ter uma noo precisa de como os internautas comuns vero seus grficos.

Anti-aliasing
Um terrvel efeito colateral no uso de arquivos bitmap o efeito de "escadinha" que se tem quando o grfico inclui linhas inclinadas ou curvas. Os americanos chamam este efeito de "aliasing". No grfico abaixo, fica claro que as linhas horizontais no apresentam este efeito. O maior problema est nas linhas inclinadas, nas curvas e nos textos. O problema no texto ainda maior quando as fontes usadas so mais complexas.

Uma forma de evitar este problema usar somente linhas horizontais e verticais, evitando linhas inclinadas e curvas. Obviamente, isto no nada prtico. Outra soluo, mais realista, faz parte dos recursos de alguns programas grficos e chama-se "anti-aliasing". Este processo consiste em usar cores intermedirias para suavizar as linhas. No Photoshop, por exemplo, quase todas ferramentas podem funcionar com "anti-aliasing". Observe, na figura abaixo, que foram usados diversos tons de cinza para suavizar o efeito "escadinha".

http://www.ucs.tche.br/formacao/informaticabasica/asp/graficos.htm (4 of 8) [08/08/2000 09:56:58]

Grficos para a Web

Anti-aliasing exige um nmero maior de cores na palette. Entretanto, todos devem concordar que vale a pena. Quanto for utilizar anti-aliasing, evite sobrepor objetos de cores diferentes. Quando isso acontece, o nmero de cores necessrias para o anti-aliasing maior.

GIF
O formato de arquivos GIF (Graphics Interchange Format) foi criado pela Compuserv, um dos maiores servios on-line dos EEUU (algo parecido com as antigas BBS). Ele um formato de bitmaps, trabalha com palettes e inclui uma converso conhecida como LZW, que muito eficiente para determinados tipos de arquivos. A compresso do arquivo GIF consiste em codificar linhas de pontos que possuem vrias cores repetidas em seqncia. Se uma linha, por exemplo, possui 10 bits na cor 30, ela pode ser compactada. Normalmente, a linha seria gravada como "30, 30, 30, 30, 30, 30, 30, 30, 30, 30". Depois de compactada, ela seria transformada em algo como "10 x 30". Obviamente, os bits gravados no arquivo no so exatamente como no exemplo acima, mas a idia a mesma. Veja alguns exemplos reais de como se comporta a compresso dos arquivos GIF observando as figuras abaixo, que possuem 100 x 100 pontos cada uma, com palette de 256 cores.

BMP, 11.080 bytes

GIF, 956 bytes

GIF, 1.023 bytes

http://www.ucs.tche.br/formacao/informaticabasica/asp/graficos.htm (5 of 8) [08/08/2000 09:56:58]

Grficos para a Web

GIF, 1.121 bytes

GIF, 1.388 bytes

GIF, 8.502 bytes

O maior arquivo o BMP, que no usa compresso. Entre os GIFs, voc percebe que os mais compactveis so os que possuem grandes linhas horizontais.

Reduo de palette de GIFs


Outra forma de comprimir arquivos GIF utilizar uma palette menor. Isto reduz tanto o cabealho do arquivo (a palette em si) quanto o nmero de bits necessrio para armazenar os pontos propriamente ditos. A economia com a reduo de palettes pode ser considervel. Para isso, preciso um software que consiga reduzir as cores criando uma nova palette e ajustando a figura. Observe a economia de espao e as conseqencias na figura, atravs dos exemplos abaixo:

8 bits - 256 cores 9767 bytes

7 bits - 128 cores 8024 bytes

6 bits - 64 cores 6215 bytes

5 bits - 32 cores 5026 bytes

4 bits - 16 cores 3813 bytes

3 bits - 8 cores 2970 bytes

Com a reduo da palette de 8 bits (256 cores) para 3 bits (8 cores), diminumos o arquivo para apenas 30% do seu tamanho. bem verdade que a imagem de 8 cores ficou bem pior do que o original. A imagem de 32 cores, entretanto, ficou ainda muito boa e nos d uma economia de bytes da ordem de 50%. Ser que no vale a pena? A principal regra na reduo de palette ir diminuindo o nmero de cores at que se note uma significativa perda de qualidade. Neste ponto, voc desfaz a ltima reduo e salva o arquivo.

http://www.ucs.tche.br/formacao/informaticabasica/asp/graficos.htm (6 of 8) [08/08/2000 09:56:58]

Grficos para a Web

JPEG
O formato JPEG (Joint Photographic Experts Group) ou JPG, adequado para a compresso de arquivos com fotos ou desenhos com muitos detalhes. Ele pode ser configurado em diferentes nveis de compresso que vo de 10 a 100. No nvel 100, a imagem obtida do arquivo JPG idntica ao original. Nos outros nveis, a imagem ligeiramente prejudicada, embora ainda seja muito semelhante. Veja os exemplos abaixo e compare a aficincia do JPG. O arquivo original, um BMP de 100 x 100 pontos com 16 milhes de cores, ocupa 30.056 bytes. Observe o resultado da converso para GIF e vrios tipos de JPG.

GIF 256 cores 6.051 bytes

JPG 100% 20.620 bytes

JPG 50% 9.481 bytes

JPG 10% 7.272 bytes

Os ganhos de qualidade so mais facilmente percebidos em fotos do que em desenhos. Observe como uma foto fica quando gravada nos formatos GIF e JPG. O arquivo original era um BMP de 100 x 100 pontos com 16 milhes de cores, ocupando 30.056 bytes.

GIF 256 cores 6.434 bytes

JPG 100% 23.341 bytes

JPG 50% 9.728 bytes

JPG 10% 7.593 bytes

Note que o JPG 100% tem excelente qualidade. Mesmo o JPG 10% tem uma qualidade superior ao GIF, que tem um certo ar "artificial". O JPG, ao perder qualidade, deixa a figura um pouco "borrada". Isto aceitvel para fotos, mas nem tanto em grficos detalhados. O GIF deixa a figura com um ar "granulado", que fica melhor em grficos do que em fotos.

Ferramentas para compresso


Existem diversas ferramentas para reduzir o tamanho de seu grfico para a web. As mais interessantes so:

http://www.ucs.tche.br/formacao/informaticabasica/asp/graficos.htm (7 of 8) [08/08/2000 09:56:58]

Grficos para a Web

Adobe Photoshop 4 - Este , provavelmente, o software mais utilizado para editar grficos bitmap profissionais. Ele possui opo para ler a grande maioria dos formatos de bitmap e grav-los como GIF ou JPG. Para usar a compresso de JPG, basta usar o menu que aparece quando voc pode para salvar um JPG. Para comprimir um GIF, converta-o inicialmente para RGB usando a opo de menu "Image > Mode > RGB". Em seguida, use a opo de menu "Image > Mode > Indexed Colors...", selecione a palette "Adaptative" e o nmero de bits (de 3 a 8). Depois salve como GIF. Corel PhotoPaint 7- Este software, parte do pacote Corel Draw!, tambm timo para editar bitmaps. Ele pode gravar arquivos GIF ou JPG. O menu de compresso de arquivos JPG aparece logo aps o dilogo de "Salvar...", como no Photoshop. Para reduzir a palette de um GIF, use o comando "Imagem > Converter para... > Cor da paleta", selecione a opo "otimizada" e indique o nmero de cores (8, 16, 32, 64, 128, 256), salvando como GIF no final. GIF Lube - Este site na Internet presta um servio muito interessante. Acessando-o, voc pode fornecer a URL de uma imagem na web (ou no seu disco local) e convert-la nas diversas palettes reduzidas de GIF ou nos diversos nveis de JPG. Tudo muito simples e prtico. No final, voc escolhe a imagem mais adequada e usa o prprio browser para salvar a imagem reduzida. Se voc anda sem pacincia para ficar selecionando opes no Photoshop ou no Photopaint, esta a sua melhor opo...

Concluso
Criar grficos no computador uma tarefa complicada. Na Internet, existem algumas dificuldades extras, como as restries de tamanho do arquivo e palette. Entretanto, grande parte da beleza de um site vem de seus grficos. Por isso, vale a pena estudar bem o tema e aplicar ao mximo os recursos disponveis... Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/graficos.htm (8 of 8) [08/08/2000 09:56:58]

Internet Database Connector

IDC - INTERNET DATABASE CONNECTOR


q q q q

O que Itens a vertificar no servidor Criando uma consulta Formulrios com IDC

O que
O IDC (Internet Database Connector) um padro criado pela Microsoft para facilitar a criao de aplicaes Web que acessam um banco de dados. Ele funciona de forma simples e voc pode criar uma aplicao facilmente. Como Banco de Dados e Internet so aplicaes da moda, o assunto interessante. O IDC no coisa nova. Ele funciona desde a primeira verso do servidor Internet da Microsoft. importante lembrar que existe a forma mais moderna de fazer aplicaes de banco de dados, usando as pginas ativas ASP (Active Server Pages). Tambm no se deve esquecer que esta uma soluo Microsoft, que roda apenas em Windows NT. Para utilizar este recurso, voc precisa ter: q Servidor Windows NT
q q q

Internet Information Server (a partir da verso 1.0) Drivers de ODBC instalados no servidor Um fonte de dados ODBC (SQL Server ou Access MDB, por exemplo)

No lado do cliente, voc pode utilizar qualquer browser (inclusive da Netscape).

Itens a verificar no seu servidor


Para utilizar os recursos do IDC em suas homepages, voc precisa atender a todos os requisitos acima. Uma situao ideal utilizar o Microsoft FrontPage 97 ou o Microsoft Visual InterDev (parte do Microsoft Visual Studio) para editar as pginas, mas isso no necessrio. Voc pode chegar l apenas usando o Notepad. Antes de mais nada:
q q

Certifique-se que o seu servidor roda Windows NT Server Certifique-se que voc possui o Microsoft Internet Information Server (IIS) instalado no seu servidor. O Windows NT 4.0 vem com a verso 2.0 do IIS, que suficiente. Se voc usa uma verso mais antiga do NT, procure na Internet (http://www.microsoft.com/iis) o IIS. Voc no precisa do IIS verso 3 ou 4 para usar o IDC Certifique-se que o driver de ODBC que voc vai utilizar est instalado e funcionado. Se voc optou por usar o Access, instale uma verso 7.0 (95) ou superior no Servidor. Isto garantir a presena do driver ODBC e facilitar a criao dos seus bancos de dados. Se voc preferir utilizar o SQL Server, instale-o no servidor (ou em outro na rede) e garanta que o driver ODBC est instalado. Crie um banco de dados e as tabelas que utilizar na sua aplicao. Crie uma "Fonte de Dados" ODBC para este banco de dados. Isto feito usando a opo "ODBC" do "Painel de Controle" do Windows NT. Se for usar o SQL Server, crie um usurio com direito para acessar este banco de dados. Crie um diretrio para guardar as consultas IDC no seu servidor. Inclua este diretrio na lista do IIS,

http://www.ucs.tche.br/formacao/informaticabasica/asp/idc.htm (1 of 3) [08/08/2000 09:57:23]

Internet Database Connector

dando direito de "Read/Leitura" e "Execute/Execuo". Os arquivos IDC s podem ser rodados a partir de um diretrio com o direito de "Execuo". Crie um arquivo "default.htm" ou desabilite a opo que permite aos usurios ver o diretrio, para aumentar sua segurana neste diretrio. Garantidos os itens acima, voc pode criar sua primeira consulta.

Criando uma consulta


Para ter uma consulta, basta criar dois arquivos no seu diretrio especial no servidor. Um arquivo ter a extenso IDC e incluir o comando SQL da consulta. O outro arquivo, que contm o formato dos dados, ter a extenso HTX (template). A melhor opo editar este arquivos com o FrontPage 97 ou 98. Assim, voc ter uma interface tipo "Wizard" para criar seus arquivos. Entretanto, os arquivos so simples e podem ser facilmente criados com editores mais simples. At o Notepad serve. O arquivo IDC contm apenas algumas poucas linhas com comandos. O arquivo HTX um arquivo HTML com alguns recursos a mais. Abaixo est a listagem do arquivo CONSULTA.IDC, que funciona como exemplo: Datasource: Web FAQ (esse o nome do DSN criado no servidor internet/intranet) Template: consulta.htx (esse o nome do arquivo destino) SQLStatement: SELECT Codigo, Nome, Telefone FROM Cadastro (pode ser colocado em varias linhas com o + na frente) Username: Usuario Password: senha Neste exemplo, "LocalServer" o nome da fonte de dados (este nome comum para o servidor SQL no NT ou um apelido para uma conexo da rede). O arquivo de formato especificado como "consulta.htx". Em seguida temos o comando SQL (Liste os campos Codigo, Nome e Telefone da tabela Cadastro). Por ltimo temos o nome e a senha para o acesso ao banco de dados. Como est especificado no arquivo IDC, precisamos de um arquivo HTX para formatar a sada gerada pelo comando. Este arquivo, com a extenso HTX, inclui uma parte inicial (cabealho), a parte de formato das linhas da tabela (detalhe) e uma parte final (rodap). A diviso destas reas feita pelas marcas especiais <%begindetail%> e <%enddetail%>. A parte entre estas duas marcas ser repetida, uma vez para cada linha da tabela. Outras marcas especiais no arquivo HTX permitem incluir os dados dos campos. Para incluir os campos mencionados no exemplo acima, por exemplo, basta incluir as marcas <%Codigo%>, <%Nome%> e <%Telefone%>. Veja no arquivo abaixo um exemplo, o arquivo CONSULTA.HTX: <h1>Relatrio do Cadastro</h3> <table> <tr> <th>Codigo</th> <th>Nome</th> <th>Empresa</th> </tr> <%begindetail%> <tr> <td><%Codigo%></td> <td><%Nome%></td> <td><%Empresa%></td> </tr> <%enddetail%> </table>
http://www.ucs.tche.br/formacao/informaticabasica/asp/idc.htm (2 of 3) [08/08/2000 09:57:23]

Internet Database Connector

<p>Final da tabela</p>

Formulrios com IDC


Uma forma interessante de usar o IDC utilizar um formulrio para informar dados. Suponha que voc deseja consultar apenas os dados de um determinado estado. Voc pode usar uma pgina HTML com um formulrio e passar os dados do formulrio para uma consulta IDC. Veja o exemplo Arquivo ESTADO.HTM <html><body><h1>Consulta de Estado</h3> <form action="estado.idc" method="POST"> <p>Digite o estado: <input type="text" size="2" name="Estado"></p> <input type="submit" name="Botao1" value="Consultar"> </form></body></html> Arquivo ESTADO.IDC Datasource: Web XXX Template: consulta.htx SQLStatement: SELECT Codigo, Nome, Telefone FROM Cadastro WHERE Estado='%Estado%' Username: Usuario Password: senha Podemos usar para o ESTADO.IDC o mesmo CONSULTA.HTX que usamos antes. A grande diferena est no uso do campo %Estado%, que veio do formulrio HTML. Ele inserido no meio da sentena SQL, normalmente.

Voltar
Copyright (c) 1998 - Alexandre Barreto

http://www.ucs.tche.br/formacao/informaticabasica/asp/idc.htm (3 of 3) [08/08/2000 09:57:23]