Você está na página 1de 145

PONTIFCIA UNIVERSIDADE CATLICA DO RIO GRANDE DO SUL

FACULDADE DE INFORMTICA
CURSO DE BACHARELADO EM CINCIA DA COMPUTAO

Mateus Martins Nudelmann Vinicius Martins Nudelmann

ACESSIBILIDADE DIGITAL Incluso e Melhorias de Funcionalidades no Ambiente Dosvox

Orientador: Prof. Beatriz Regina Tavares Franciosi

Porto Alegre 2011

RESUMO O presente trabalho descreve o desenvolvimento de funcionalidades no Cartavox, programa de correio eletrnico do ambiente operacional Dosvox. O estudo objetiva contribuir para o desenvolvimento de tecnologias de acessibilidade digital, especialmente para pessoas com deficincia visual, promovendo assim o estmulo incluso digital. Para tanto, so relatados projetos em atividade no Brasil que visam promover a incluso digital e so apresentados softwares desenvolvidos recentemente em todo o mundo que buscam promover a acessibilidade digital para os deficientes visuais. Alm disso, so apresentadas a especificao e

implementao das funcionalidades desenvolvidas, as quais foram escolhidas atravs da discusso com a equipe tcnica do Dosvox levando em considerao as prioridades dos usurios. As melhorias foram projetadas de forma que seu uso fosse bastante intuitivo considerando as limitaes dos usurios, e depois de concludas, foram validadas por pessoas com deficincia visual e publicadas junto comunidade de usurios do Dosvox. Pelo Dosvox estar includo na categoria de software livre, aqui tambm so abordadas as experincias dos autores junto comunidade de software livre. Palavras-Chave: Acessibilidade digital. Dosvox. Incluso digital. Cartavox. Software livre. Deficientes visuais. Usurios.

ABSTRACT The present paper describes the development of functionalities in Cartavox, email program in the Dosvox operational environment. The study intends make for development of digital accessibility technology, especially for people with visual impairment, promote thus impulse to digital inclusion. For this purpose, projects in activity in Brazil that aim to improve digital inclusion are reported and softwares recently developed in all world that promote digital accessibility to visually impaired are exposed. Moreover are shown the specification and implementation of functions developed that were chosen through the discussion with Dosvox technical team members, taking into account the users priorities. The improvements were projected in such a way that use be quite intuitive considering the users limitations, and after which, have been validated by people with visual impairment and have been published in Dosvox users community. Because Dosvox is distributed under a free software license, are also displayed the authors' experiences with free software community.

Keywords: Digital accessibility. Dosvox. Digital inclusion. Cartavox. Free software. Visually impaired. Users.

LISTA DE FIGURAS Figura 1: Tela inicial do Dosvox ................................................................................ 25 Figura 2: Menu principal do Dosvox .......................................................................... 26 Figura 3: Menu principal do Cartavox ........................................................................ 27 Figura 4: Diagrama de Casos de Uso ....................................................................... 32 Figura 5: Diagrama de Classes ................................................................................. 33 Figura 6: Menu principal com a opo de folhear mensagens do servidor................ 37 Figura 7: Incio do folheamento de mensagens do servidor ...................................... 38 Figura 8: Interface do folheamento de mensagens do servidor................................. 39 Figura 9: Ajuda do folheamento de mensagens do servidor ..................................... 40 Figura 10: Seleo com as setas no folheamento de mensagens do servidor.......... 40 Figura 11: Atributos de um objeto do tipo PEstrutura.............................................. 44 Figura 12: Menu principal do grupo de contas .......................................................... 50 Figura 13: Menu principal do Cartavox com a opo de grupo de contas ................. 51 Figura 14: Menu da seleo do grupo de contas ...................................................... 52 Figura 15: Adio de uma conta que no tem a senha gravada ............................... 53 Figura 16: Menu principal com a opo de resposta automtica .............................. 68 Figura 17: Menu principal da resposta automtica .................................................... 68 Figura 18: Etapas de configurao de uma resposta automtica .............................. 70 Figura 19: Opes de edio de uma resposta automtica ...................................... 74 Figura 20: Resposta automtica de frias ativada .................................................... 77 Figura 21: Partes de uma mensagem ....................................................................... 85 Figura 22: Resposta de uma mensagem com o corpo da mensagem original .......... 88 Figura 23: Seleo de arquivos a serem anexados .................................................. 89

LISTA DE QUADROS Quadro 1 - Projetos de Incluso Digital ..................................................................... 15 Quadro 2 - Softwares para deficientes visuais .......................................................... 19 Quadro 3 - Novas classes que sero desenvolvidas no Cartavox ............................ 32 Quadro 4 - Classes existentes no Cartavox .............................................................. 34 Quadro 5 - Pseudocdigo da funo receberCartasServidor .................................. 41 Quadro 6 - Pseudocdigo da funo pegaUmaCartaTempPOP3 ........................... 42 Quadro 7 - Sintaxe do comando POP3 chamado TOP ............................................. 43 Quadro 8 - Pseudocdigo do procedimento trazCartasServidor ............................. 46 Quadro 9 - Pseudocdigo do procedimento carregarContas .................................. 54 Quadro 10 - Algoritmo que remove ou insere contas no grupo de contas................. 59 Quadro 11 - Pseudocdigo do procedimento receberGrupoContas ....................... 62 Quadro 12 - Pseudocdigo do procedimento transmitirGrupoContas ..................... 65 Quadro 13 - Algoritmo do procedimento monitorarGrupoContas ............................ 66 Quadro 14 - Trecho de cdigo final do procedimento monitorarGrupoContas ........ 66 Quadro 15 - Verificao da existncia de uma resposta automtica configurada ..... 71 Quadro 16 - Pseudocdigo da funo perguntaNovaResp ..................................... 71 Quadro 17 - Pseudocdigo da funo escreveArquivo ........................................... 73 Quadro 18 - Pseudocdigo da funo perguntaEditaAssuntoRespAut ................... 75 Quadro 19 - Pseudocdigo da funo perguntaEditaAssuntoRespAut ................... 75 Quadro 20 - Pseudocdigo do procedimento monitorarRespAut ............................ 77 Quadro 21 - Pseudocdigo da funo receberCartas ............................................. 78 Quadro 22 - Pseudocdigo da funo pegaUmaCartaPOP3 .................................. 79 Quadro 23 - Pseudocdigo do procedimento prepararCartas ................................. 81 Quadro 24 - Pseudocdigo do procedimento transmitirCartas ............................... 83 Quadro 25 - Pseudocdigo da funo enviarTodas ................................................ 84 Quadro 26 - Trecho de cdigo com a funo gravaParteDecodificada ................... 86 Quadro 27 - Trecho de cdigo com a funo gravaParteDecodificadaTexto .......... 86 Quadro 28 - Trecho de cdigo que acumula as linhas da mensagem ...................... 87 Quadro 29 - Cdigo includo na funo escolheFuncaoListArqAnexo .................... 90 Quadro 30 - Primeiras alteraes feitas no procedimento atachaArquivos............. 91 Quadro 31 - Algoritmo desenvolvido no procedimento atachaArquivos .................. 92

LISTA DE ABREVIATURAS API - Application Program Interface IBGE - Instituto Brasileiro de Geografia e Estatstica GPL - General Public License OMS - Organizao Mundial de Sade ONU - Organizao das Naes Unidas PNE - Pessoas com Necessidades Especiais ProInfo - Programa Nacional de Informtica na Educao RAD - Rapid Application Development TI - Tecnologia da Informao TIC - Tecnologias da Informao e Comunicao W3C - World Wide Web Consortiun

SUMRIO 1 INTRODUO ........................................................................................................ 8 1.1 Contextualizao e Motivao .......................................................................... 8 1.2 Objetivos ........................................................................................................... 9 1.2.1 Objetivo Geral ............................................................................................ 9 1.2.2 Objetivos Especficos ................................................................................. 9 2 ESPECIFICAO DO TRABALHO...................................................................... 11 2.1 Descrio do Problema ................................................................................... 11 2.2 Fundamentao Terica ................................................................................. 12 2.2.1 Introduo ................................................................................................ 12 2.2.2 Incluso Digital ......................................................................................... 14 2.2.3 Acessibilidade Digital ............................................................................... 18 2.2.4 Software Livre .......................................................................................... 21 2.2.5 Ambiente Operacional Dosvox ................................................................. 23 2.2.6 Programa Cartavox .................................................................................. 26 2.2.7 Ambiente de Desenvolvimento do Cartavox ............................................ 27 2.3 Encaminhamento da Soluo ......................................................................... 28 3 DESENVOLVIMENTO DA SOLUO ................................................................. 30 3.1 Recursos Necessrios .................................................................................... 30 3.1.1 Software ................................................................................................... 30 3.1.2 Hardware .................................................................................................. 30 3.2 Funcionalidades a serem desenvolvidas ........................................................ 30 3.3 Modelagem ..................................................................................................... 31 3.4 Implementao ............................................................................................... 35 3.4.1 Folheamento das mensagens eletrnicas do servidor ............................. 35 3.4.2 Opes para receber mensagens, transmitir mensagens e monitorar contas para um grupo de contas ........................................................................ 49 3.4.3 Resposta Automtica ................................................................................ 67 3.4.4 Apresentao do texto na resposta da mensagem HTML ....................... 85 3.4.5 Seleo de mais de um anexo simultaneamente ..................................... 88 4 CONSIDERAES FINAIS .................................................................................. 94 5 TRABALHOS FUTUROS...................................................................................... 97 6 REFERNCIAS ..................................................................................................... 99 APNDICE A Casos de Uso Detalhados .......................................................... 103 APNDICE B Instrues de Uso ....................................................................... 118 APNDICE C Manual do Usurio ...................................................................... 133

1 INTRODUO
Neste captulo so apresentadas a contextualizao do trabalho e a motivao pela escolha do tema, em seguida, so apresentados o objetivo geral e os objetivos especficos do trabalho.

1.1 Contextualizao e Motivao

Segundo dados da Organizao Mundial de Sade (OMS), em 2000, o nmero de pessoas com deficincia visual no Brasil era de aproximadamente 640.000 pessoas [1]. Para estas pessoas, a Tecnologia da Informao (TI) desempenha um papel importante enquanto meio de incluso social, pois contribui tanto na facilitao de atividades cotidianas quanto para ampliao de possibilidades de incluso no mercado de trabalho. Assim, essencial proporcionar s pessoas com necessidades especiais (PNE) o acesso TI visando sua incluso digital. A incluso digital tem por objetivo facilitar o acesso de pessoas s Tecnologias da Informao e Comunicao (TIC), bem como o desenvolvimento de tecnologias que ampliem a acessibilidade para usurios com deficincia [2]. Para a incluso digital de PNEs, fundamental que existam ferramentas que atendam s suas necessidades especiais, ou seja, que proporcionem maior facilidade de acesso ao computador, ao celular, internet e as mais diversas tecnologias da informao; sendo assim, essencial que existam produtos que possibilitem superar limitaes fsicas e/ou sensoriais. A criao e aperfeioamento das ferramentas de TI a forma pela qual se proporciona a acessibilidade digital, ou seja, a viabilizao do acesso TI pelo maior nmero possvel de pessoas, at mesmo por indivduos com alguma deficincia e que necessitem de uma interface especial [3]. Neste contexto, surgiu o Dosvox, que um ambiente para

microcomputadores da linha PC que se comunica com o usurio atravs de sntese de voz, viabilizando, deste modo, o uso de computadores por deficientes visuais, que adquirem assim, independncia no estudo e no trabalho [4]. Existem muitas ferramentas de TI capazes de promover a acessibilidade digital para deficientes

visuais, porm poucas so to simples e prticas quanto o Dosvox que alm de ser fcil de usar, de livre distribuio. Apesar da ampla aceitao, o Dosvox possui diversas limitaes, por isso ele precisa de melhorias, como por exemplo, o Cartavox, programa de correio eletrnico do Dosvox, no possui uma opo para folhear as mensagens do servidor de correio eletrnico do usurio. O ambiente Dosvox includo na categoria de software livre e, por conseguinte, sua manuteno e desenvolvimento so realizados por pessoas vinculadas comunidade. Neste trabalho, os autores se incluem na comunidade de software livre para participar do grupo de desenvolvedores do Dosvox e implementar melhorias para este ambiente. Pretende-se, dessa maneira, tornar o ambiente mais completo e contribuir na promoo da acessibilidade digital de PNEs. Assim, ser dada continuidade ao Trabalho de Concluso Acessibilidade Digital: Melhorias no programa CARTAVOX [5], realizado pela aluna Tamires Maciel do Curso de Cincia da Computao/PUCRS, no qual foram desenvolvidas algumas melhorias para o Cartavox e foram identificadas outras que poderiam ser feitas.

1.2 Objetivos

1.2.1 Objetivo Geral

Este

Trabalho

de

Concluso

tem

por

objetivo

contribuir

para

desenvolvimento de tecnologias de acessibilidade digital para pessoas com deficincia visual. Desse modo, este trabalho visa contribuir para a sociedade e bem-estar do ser humano, promovendo o uso e o desenvolvimento da cincia para o benefcio da humanidade. De fato, sero realizadas melhorias na ferramenta de correio eletrnico do ambiente operacional Dosvox atravs da participao na comunidade de software livre.

1.2.2 Objetivos Especficos

Com o propsito de atingir o objetivo maior, so propostos os seguintes objetivos:

10

- Desenvolver novas funcionalidades e fazer melhorias nas funcionalidades existentes de acordo com as regras estabelecidas pela desenvolvedores visando satisfazer s necessidades do usurio. - Manter uma comunicao assertiva com a equipe tcnica e com a comunidade de usurios do Dosvox para que as novas funcionalidades possuam a melhor qualidade possvel e que assim elas possuam a usabilidade e eficincia esperadas pelos usurios. - Fazer um manual que explique detalhadamente como usar as funcionalidades desenvolvidas, seguindo o mesmo padro do manual j existente no Cartavox, assim esclarecendo ao usurio para que servem e como funcionam as novas funcionalidades. - Elaborar o help sonoro para as novas funcionalidades, ou seja, as telas de ajuda que sintetizam as opes disponveis para cada uma das funcionalidades desenvolvidas, de maneira que estas sejam coerentes com as limitaes dos usurios, possibilitando o entendimento rpido e fcil das novas funcionalidades. - Testar as funcionalidades implementadas no Cartavox para que a verso final do programa no possua nenhum defeito e esteja funcionando de forma correta. - Pesquisar sobre questes que colaboram com a democratizao da informtica, como o software livre e a incluso digital, com o propsito de ter um suporte terico para o desenvolvimento do trabalho. comunidade de

11

2 ESPECIFICAO DO TRABALHO
Neste captulo apresentada a especificao do Trabalho de Concluso. Inicialmente apresentada a descrio do problema, detalhando as funcionalidades que sero desenvolvidas. Aps situar o problema, apresentada a fundamentao terica utilizada como suporte para as reas referenciadas neste trabalho. Por fim, com o apoio do suporte terico, a proposta de soluo do problema descrita atravs do detalhamento da soluo para cada uma das funcionalidades que sero implementadas.

2.1 Descrio do Problema

O problema do trabalho consiste em desenvolver melhorias no programa Cartavox que foram sugeridas pela equipe tcnica do Dosvox e por usurios das listas de discusso Voxtec e Voxtec-UFRJ. Sero acrescentadas as seguintes funcionalidades ao Cartavox: Apresentao do texto na resposta da mensagem HTML: Atualmente, o texto de uma mensagem do correio eletrnico no includo na resposta de uma mensagem HTML. Folheamento das mensagens eletrnicas do servidor: Atualmente, quando o usurio acessa o seu servidor de correio eletrnico atravs do Cartavox, ele pode baixar todas as mensagens de uma s vez ou escolher, uma a uma, quais as mensagens que deseja baixar. O usurio precisa de uma opo que liste diretamente todas as mensagens do servidor no Cartavox, no sendo necessrio trazer as mensagens do servidor para folhe-las. Dessa forma, com as mensagens listadas, o usurio selecionaria as mensagens que deseja trazer para o Cartavox ou apagar do servidor. Opes para receber mensagens, transmitir mensagens e monitorar contas para um grupo de contas: No Cartavox, o usurio pode ter vrias contas configuradas, mas no possvel receber mensagens eletrnicas para todas as contas ao mesmo tempo, transmitir mensagens eletrnicas para todas as

12

contas ao mesmo ou monitorar o correio para todas as contas ao mesmo tempo. Por exemplo, se o usurio quer receber as mensagens de todas as suas contas, ele tem que entrar em uma conta de cada vez e, dentro de cada uma delas, escolher a opo Receber cartas. Implementao do protocolo IMAP: O Cartavox oferece como protocolo de gerenciamento de correio eletrnico o POP3, que inferior em recursos quando comparado ao protocolo IMAP. Entre as vantagens do protocolo IMAP est a seleo para recebimento das partes de uma mensagem de forma independente, como o texto ou anexos da mensagem. Alm disso, existe a possibilidade de criar, renomear, apagar e mover pastas, ativar marcaes em mensagens, dentre outras facilidades. Seleo de mais de um anexo simultaneamente: No possvel selecionar em um diretrio mais de um anexo de uma s vez. Resposta automtica: No correio eletrnico tradicional existe uma opo de resposta automtica, a qual no consta no Cartavox. Essa opo permite configurar uma resposta que ser enviada automaticamente sempre que uma mensagem eletrnica for recebida.

2.2 Fundamentao Terica

2.2.1 Introduo

A OMS estima que existam mais de 600 milhes de pessoas com deficincia, ou seja, aproximadamente 10% da populao mundial. No Brasil, de acordo com o Censo de 2000, realizado pelo Instituto Brasileiro de Geografia e Estatstica (IBGE), 24,6 milhes de pessoas tm algum tipo de deficincia, ou seja, 14% da populao (embora exista um censo mais recente, o Censo 2010 [6], at o momento os dados divulgados pelo governo sobre o nmero de pessoas deficientes no Brasil so os do Censo 2000). Estes dados ajudam a compreender o tamanho do desafio a ser enfrentado para a construo de uma sociedade inclusiva, ou seja, que respeita as diferenas, valoriza a diversidade humana e garante o acesso universal aos direitos

13

civis, sem barreiras ou limitaes de natureza socioeconmica, cultural ou em razo de alguma deficincia [7]. Durante muitos anos, a deficincia, ao invs de ser entendida como uma questo social, era atribuda a um problema individual, como uma expresso de uma restrio de funcionalidade [8]. Porm, nas ltimas dcadas, esta realidade mudou, cada vez mais existe no mundo uma mentalidade de que necessrio criar meios de acessibilidade para a insero de todas as pessoas na sociedade. De acordo com a Organizao das Naes Unidas (ONU), nos ltimos 30 anos vrias iniciativas, programas e planos de ao foram desenvolvidos com o objetivo de melhorar a vida de pessoas com algum tipo de deficincia [9]. Os esforos comearam por volta dos anos 70, especialmente na Inglaterra, quando surgiram os primeiros esboos do modelo social da deficincia, que defendiam a idia de que a desigualdade s vivenciada porque a sociedade pouco sensvel a uma diversidade de estilos de vida. Para eles, por exemplo, a dificuldade de locomoo no deveria ser entendida como uma tragdia pessoal fruto da loteria da natureza, mas como um ato de discriminao permanente contra um grupo de pessoas com expresses corporais diversas [8]. No Brasil, na medida em que a populao vai se conscientizando e sendo conscientizada do problema, h uma presso natural para elaborao de leis que assegurem o direito incluso social de PNEs. Em especial, para a garantia dos direitos de atendimento prioritrio e acessibilidade, foi fundamental a aprovao do Decreto no 5.296, de 2/12/04, que regulamentou e fixou prazos para a execuo da Lei nmero 10.048/2000 - que dispe sobre a prioridade do atendimento a pessoas com deficincia - e da Lei 10.098/2000 - que estabelece normas gerais e critrios bsicos para a promoo da acessibilidade no meio fsico das cidades, nos meios de transporte e nos sistemas de comunicao [10]. Este decreto conceitua acessibilidade como a possibilidade e condio de alcance para utilizao, com segurana e autonomia, dos espaos, mobilirios e equipamentos urbanos, das edificaes, dos transportes e dos sistemas e meios de comunicao por pessoa com deficincia ou com mobilidade reduzida [11]. As pessoas com deficincia enfrentam barreiras de diversas naturezas, que funcionam como obstculos e impedem ou limitam seu acesso sociedade. A promoo da acessibilidade visa, nesse sentido, eliminar ou reduzir o impacto dessas barreiras. Tais barreiras podem ser sociais e atitudinais, como tambm

14

fsicas, de comunicao e de transporte [12]. Embora parea contraditrio, pode-se afirmar que as barreiras arquitetnicas no so o maior obstculo enfrentado pelas pessoas com deficincia. O maior obstculo est no acesso informao e, consequentemente, a aspectos importantes relacionados informao, como a educao, o trabalho e o lazer [13]. Para que as pessoas tenham acesso informao, hoje indispensvel o acesso tecnologia e informtica. Assim, surgiu a preocupao em viabilizar a incluso digital, a qual busca democratizar o acesso s TIs, de forma que todas as pessoas tenham condies de utiliz-las. Para que a incluso digital se torne possvel para as PNE, preciso criar meios que facilitem o acesso destas pessoas informtica, ou seja, maneiras de promover a acessibilidade digital. Estes meios incluem o desenvolvimento de software e hardware adequados s necessidades especiais destas pessoas. Como parte do esforo da sociedade para proporcionar a acessibilidade digital, nos ltimos anos, muitas destas tecnologias foram desenvolvidas. Ento, neste contexto, surgiu o ambiente operacional Dosvox, que um software livre feito especialmente para facilitar o acesso informtica por parte de deficientes visuais.

2.2.2 Incluso Digital

A incluso digital fundamental para o desenvolvimento de nossa sociedade como um todo, pois representa um canal privilegiado para equalizao de oportunidades da nossa desigual sociedade em plena era do conhecimento. Dessa forma, a incluso digital vista por muitos como um importante meio de integrao das classes menos favorecidas, sendo um fator de auxlio para a incluso social das mesmas [14]. Segundo Sampaio [15], incluso digital o direito de acesso ao mundo digital para o desenvolvimento intelectual (educao, gerao de conhecimento,

participao e criao) e para o desenvolvimento de capacidade tcnica e operacional. Ao constatar que os projetos que forneciam hardware e software que prestavam pouca ateno ao sistema social e ao sistema humano no surtiam resultados satisfatrios quanto incluso digital, Warschauer sugeriu que estes sistemas deveriam mudar para que a tecnologia fizesse a diferena [15]. Logo, no

15

se pode promover a incluso apenas disponibilizando TIC para as classes menos favorecidas. Somado a isso, necessrio que sejam criadas polticas e incentivos ao uso e capacitao dos usurios para as TIC. Pelo fato da incluso digital, a produo e o compartilhamento do conhecimento serem de suma importncia para o desenvolvimento econmico, cultural, social e poltico do pas [2], muitos projetos tem sido criados, principalmente nos ltimos anos, para promover a incluso digital no Brasil. No Quadro 1 so mostrados quatorze projetos em atividade, que ilustram os tipos de aes desenvolvidas com o intuito de fazer com que a incluso digital chegue a toda populao. Quadro 1 - Projetos de Incluso Digital
Nome Programa Estao Digital
Fonte: Fundao Banco do Brasil. Disponvel em: <http://www.programan doofuturo.org.br/site_no vo/2010/wpcontent/uploads/2011/0 3/ApostilaGestao.pdf>.

Instituio Fundao Banco do Brasil

Quando Surgiu 2004

Objetivo Promover o desenvolvimento social de forma solidria e sustentvel, por intermdio da mobilizao das pessoas, articulao de parcerias e multiplicao de solues sociais. Promover a incluso digital em todo o territrio brasileiro.

O que faz Implanta Estaes Digitais nas comunidades que no tm acesso s TIC.

Regies de atuao Regies Norte e Nordeste e nas periferias dos grandes centros urbanos

GESAC Governo Eletrnico Servio de Atendimento ao Cidado


Fonte: GESAC. Disponvel em: <http://www.gesac.gov. br/>.

Governo Federal, coordenado pelo Ministrio das Comunicaes

2002

Oferece ferramentas em tecnologias para TICs, recursos digitais e capacitao por meio de uma plataforma de rede, servios e aplicaes. So ofertados gratuitamente mais de 270 cursos, dos quais introduo informtica, utilizao dos softwares clientes mais comuns de email, browser, comunicao, etc.

Voltado as classes C, D e E, em todos os estados brasileiros

CDTC - Centro de Difuso de Tecnologia e Conhecimento


Fonte: CDTC: Centro de Difuso de Tecnologia e Conhecimento. Disponvel em: <http://comunidade.cdtc .org.br/>.

Casa Civil Instituto Nacional de Tecnologia da Informao

2004

Qualificar por meio da Internet (ensino a distncia) servidores pblicos e cidados em geral no uso de softwares livres.

1.400 cidades brasileiras

16

Nome Projeto Cidado Conectado Computador para Todos


Fonte: Computador para Todos. Disponvel em: <http://www.computado rparatodos.gov.br/>.

Instituio Presidncia da Repblica, Ministrio do Desenvolvimento, Ministrio da Cincia e Tecnologia e Serpro Parquia Santa Cndida

Quando Surgiu 2003

Objetivo Possibilitar a populao que no tem acesso ao computador possa adquirir um equipamento de qualidade.

O que faz Permite indstria e ao varejo a oferta de computador e acesso Internet a preos subsidiados.

Regies de atuao Brasil, voltado para a classe C

Ao Solidria: Projeto Incluso Digital


Fonte: Parquia Santa Cndida. Disponvel em: <http://www.acaosocial santacandida.org.br/ind ex.html>.

2009

Capacitar jovens para o mercado de trabalho e promover-los; formao crist e formao humano-afetivo.

Disponibiliza curso de informtica para adolescentes e jovens de baixa renda.

Estado de Curitiba

Projeto de Qualificao Profissional e Incluso Social


Fonte: ICEP Brasil. Disponvel em: <http://www.icepbrasil.c om.br/portal/control/sec ao.php?sec_id=8>.

ICEP Brasil Instituto Cultural, Educacional e Profissionalizante de Pessoas com Deficincia do Brasil

2007

Capacitar e inserir pessoas no mercado de trabalho e tambm promover a incluso digital e promoo de aumento de vnculos sociais das pessoas com deficincia. Incluso digital de idosos para exerccio de cidadania e ampliao dos direitos sociais.

So oferecidos cursos de qualificao profissional.

Distrito Federal

Projeto PotencialIdade
Fonte: PUCRS. Disponvel em: <http://www.pucrs.br/ed ipucrs/online/inovacaoe qualidade/inovacao/pag 34.html>.

Instituto de Geriatria e Gerontologia PUCRS

2004

Orienta idosos em oficinas onde eles estudam sobre envelhecimento e aprendem as lnguas espanhola e inglesa de forma integrada aprendizagem dos recursos informatizados. Capacita pessoas em situao de vulnerabilidade na rea computacional, com foco tambm na formao humana dos alunos.

Cidade de Porto Alegre

Projeto Sinergia Digital


Fonte: PUCRS. Disponvel em: <http://www.pucrs.br/si nergiadigital/index.php> .

Faculdade de Administrao, Contabilidade e Economia da PUCRS e Centro de Pastoral da PUCRS

2004

Contribuir para a incluso social ensinando a utilizar ferramentas computacionais e desenvolvendo aes voltadas formao integral e cidadania.

Cidade de Porto Alegre

17

Nome Projeto POA Digital


Fonte: PROCEMPA. Disponvel em: <http://www.procempa.c om.br/default.php?p_se cao=36>.

Instituio Procempa

Quando Surgiu 2006

Objetivo Tornar Porto Alegre a primeira capital brasileira a dispor de uma rede pblica de conexo em banda larga wireless (sem fio) da prefeitura.

O que faz O projeto prev benefcios para a rea da educao e da sada. Para a educao, prevista a conexo em banda larga de todas as 92 escolas da prefeitura de Porto Alegre. Cria espaos noformais de ensino chamados CDIs Comunidade, oferecendo cursos bsicos e avanados de aprendizagem da informtica. Disponibiliza pontos pblicos de acesso gratuito internet e forma agentes que atuam como monitores em espaos pblicos e comunitrios de uso das tecnologias digitais. Trabalha em quatro frentes distintas de incluso digital: metarreciclagem, telecentros, software livre e robtica livre. Leva s escolas computadores, recursos digitais e contedos educacionais.

Regies de atuao Cidade de Porto Alegre

CDI Comunidade
Fonte: CDI. Disponvel em: <http://www.cdi.org.br/n otes/CDI_Comunidade> .

ONG CDI Comit para Democratizao da Informtica

1995

Estimula o exerccio da cidadania, o desenvolvimento comunitrio, a formao de redes sociais e a troca de experincias. Promover a melhoria e a agilidade na prestao de servios pblicos ao cidado.

Brasil, Argentina, Bolvia, Chile, Colmbia, Equador, Mxico, Peru e Uruguai Brasil

Programa Cidades Digitais


Fonte: Ministrio das Comunicaes. Disponvel em: <http://www.mc.gov.br/ programas-e-projetos>.

Ministrio das Comunicaes

8/2011

CMID - Centro Marista de Incluso Digital


Fonte: Rede Marista. Disponvel em: <http://socialmarista.or g.br/inclusaodigital/centro-maristade-inclusao-digital>.

Rede Marista

2005

Prover Incluso Digital comunidade da Nova Santa Marta.

Nova Santa Marta, periferia da cidade de Santa Maria

Programa Nacional de Informtica na Educao (ProInfo)


Fonte: Educao. MEC. Disponvel em: <http://portal.mec.gov.b r/index.php?option=com _content&view=article&i d=244&Itemid=823>.

Ministrio da Educao

1997

Promover o uso pedaggico da informtica na rede pblica de educao bsica.

Brasil

18

Nome CRC-Cesmar Centro de Recondicionament o de Computadores


Fonte: Incluso Digital. Governo Federal. Disponvel em: <http://www.inclusaodig ital.gov.br/arquivos/outr os/5-oficina/reciclagememetareciclagem/180506 _crc_cesmar_apresenta cao_v2.ppt/view>.

Instituio Rede Marista em parceria com o Governo Federal

Quando Surgiu 2006

Objetivo Recondicionar e doar computadores e formar jovens em vulnerabilidade social em habilidades tcnicas na montagem de hardwares e softwares.

O que faz Recondiciona e recicla equipamentos de informtica recebidos e proporciona oportunidades de formao profissional e educacional e de re-socializao de jovens aprendizes.

Regies de atuao Cidade de Porto Alegre

2.2.3 Acessibilidade Digital

Para que a incluso digital se torne possvel para as PNEs, preciso criar meios que facilitem o acesso de pessoas com deficincia informtica, sendo que muitas vezes este acesso depende de uma interface especial [3]. Ento, a acessibilidade digital depende, basicamente, de dois fatores: acesso TI; software e hardware para possibilitar este acesso. O acesso tecnologia depende de polticas de governo, assim como foi mencionado na apresentao do trabalho, porm o desenvolvimento de tecnologias assistivas depende da ao articulada de profissionais de diversas reas, dentre elas a computao. O desenvolvimento de tecnologias assistivas para pessoas com deficincia consiste em qualquer instrumento que contribui para aumentar e promover a autonomia, independncia, qualidade de vida e a incluso social das pessoas com deficincia [7]. Na computao o desenvolvimento de tais tecnologias tem relao com o desenvolvimento de software e hardware especialmente idealizados para tornar o computador acessvel, no sentido de que possa ser utilizado por pessoas com privaes sensoriais e motoras [16] - tecnologias assistivas. No Quadro 2 so apresentados exemplos de softwares que foram desenvolvidos com o intuito de proporcionar acessibilidade digital para os deficientes visuais.

19

Quadro 2 - Softwares para deficientes visuais


Funo Leitor de Tela Nome JAWS (Job Access With Speed)
Fonte: Freedom Scientific. Disponvel em: <http://www.freedom scientific.com/produ cts/fs/jaws-productpage.asp>.

Ambiente Operacional Windows

Principais Caractersticas Possui opes para realizar a leitura do texto de forma corrida ou letra por letra, com velocidade ajustvel. Permite a leitura de pginas da internet. Suporte para displays braile.

Distribuio Proprietrio

Idiomas 23 idiomas, incluindo portugus e ingls

Virtual Vision
Fonte: Micro Power. Disponvel em: <http://www.micropo wer.com.br/v4/tecnol ogia_virtualvision.ht ml>.

Windows

possvel percorrer textos letra a letra, palavra a palavra, linha a linha ou bloco a bloco. Capacidade de mapeamento e adaptao a aplicativos que no oferecem acessibilidade a leitores de tela. Permite a leitura de pginas da internet.

Proprietrio

Portugus e ingls

WebAnywhere
Fonte: WebAnywhere. Disponvel em: <http://webanywhere .cs.washington.edu/ >.

Todos

utilizado atravs de um site [17] diretamente do navegador. No substitui completamente os leitores de telas existentes, pois apenas voltado para Web.

Livre

Ingls

Orca
Fonte: GNOME Documentation Library. Disponvel em: <http://library.gnome .org/users/gnomeaccessguide/stable/ats2.html.en>.

Linux

Permite vrios modos de sntese de voz, como por exemplo, a quantidade de pontuao falada pelo sintetizador de voz. Permite ampliao de texto. Suporte para displays braile.

Livre

64 idiomas, incluindo portugus e ingls

NVDA
Fonte: NVDA Project. Disponvel em: <http://www.nvdaproject.org/>.

Windows

Suporte para aplicaes mais populares, incluindo navegadores Web, clientes de e-mail e programas de bate-papo. Capacidade de ser executado a partir de um dispositivo USB ou outra mdia porttil sem a necessidade de instalao. Suporte para displays braile.

Livre

Mias de 20 idiomas, incluindo portugus e ingls

20

Funo Leitor de Tela

Nome Window-Eyes
Fonte: GW Micro. Disponvel em: <http://www.gwmicro .com/windoweyes/>.

Ambiente Operacional Windows

Principais Caractersticas Capacidade de ler o texto sob o ponteiro do mouse enquanto se move. Suporte para displays braile.

Distribuio Proprietrio

Idiomas 14 idiomas, incluindo portugus e ingls

Leitor de Tela

Voiceover
Fonte: Apple. Disponvel em: <http://www.apple.co m/br/accessibility/voi ceover/>.

Mac OS X e iOS

Baseado em gestos, basta tocar na tela para ouvir uma descrio do item sob o seu dedo e ento dar dois toques para confirmar. Permite a leitura de pginas da internet. Suporte para displays braile.

Proprietrio

22 idiomas, incluindo portugus e ingls

Tradutor de texto para linguagem braile

Duxbury Braille Translator (DBT)


Fonte: Duxbury Systems. Disponvel em: <http://www.duxbury systems.com/dbt.as p?product=DBT Win>.

Windows

Traduz mais de 130 lnguas para braile. Imprime o texto traduzido com impressoras braile. Capacidade de traduzir frmulas matemticas e cdigos de programao para linguagem braile americana, francesa e britnica.

Proprietrio

Ingls

Conversor de texto para udio

MECDaisy
Fonte: Projeto Mecdaisy. Disponvel em: <http://intervox.nce.u frj.br/mecdaisy/>.

Windows e Linux

Permite ir diretamente para uma determinada pgina. Permite fazer comentrios no texto.

Livre

Portugus

Open Book
Fonte: Freedom Scientific. Disponvel em: <http://www.freedom scientific.com/produ cts/fs/openbookproduct-page.asp>.

Windows

Permite escanear o texto que vai ser convertido para udio. Permite fazer comentrios no texto.

Proprietrio

27 idiomas, incluindo portugus e ingls

Ambiente Operacional

DOSVOX
Fonte: Projeto DOSVOX. Disponvel em: <http://intervox.nce.u frj.br/dosvox/>.

Windows

Comunicao com o usurio feita atravs de um sintetizador de voz. Totalmente projetado com caractersticas de comunicao coerentes com as limitaes do cego. Possui mais de 80 programas.

Livre

Portugus

21

Funo Navegador Web

Nome Easy Web Browsing


Fonte: IBM. Disponvel em: <http://www03.ibm.com/able/acc essibility_services/E asyWebBrowsingaccessible.pdf>.

Ambiente Operacional Windows

Principais Caractersticas Permite ampliar textos e caracteres. Possui um leitor de texto com velocidade e volume do som ajustveis.

Distribuio Livre

Idiomas 9 idiomas, incluindo portugus e ingls

Conversor de texto para udio e linguagem braile

RoboBraille
Fonte: RoboBraille. Disponvel em: <http://www.robobrai lle.org/>.

Todos

Basta enviar um e-mail com um documento de texto anexado ao RoboBraille, que se recebe de volta um documento no formato especificado. Permite a converso de imagem em arquivo de texto.

Livre

15 idiomas, incluindo portugus e ingls

Gerenciador de rdios

Mozekty
Fonte: InfraDrive. Disponvel em: <http://www.infradriv e.com/mozekty.php> .

Windows

Aplicativo para ouvir, gravar e compartilhar estaes de rdio. Permite salvar as estaes preferidas.

Livre

Ingls

Editor de msica

Braille Music Editor 2


Fonte: Braille Music Editor. Disponvel em: <http://braillemusice ditor.com/en/>.

Windows

Permite aos msicos cegos a edio de partituras. Permite imprimir as partituras em impressora normal e impressora braile.

Proprietrio

Ingls, italiano, francs e espanhol

2.2.4 Software Livre

Software livre se refere liberdade que o usurio tem de executar, distribuir, modificar e repassar as alteraes sem, para isso, ter que pedir permisso ao autor do programa. De acordo com a Free Software Foundation, um programa ser considerado livre se todos os seus usurios tiverem quatro liberdades: Executar o programa, para qualquer propsito; Estudar como o programa funciona, e adapt-lo as suas necessidades. Acesso ao cdigo-fonte um pr-requisito para esta liberdade; Redistribuir cpias de modo que possamos beneficiar o prximo;

22

Aperfeioar

programa,

obrigao

de

liberar

os

seus

aperfeioamentos, de modo que toda a comunidade se beneficie. Um projeto de software livre uma organizao composta por um conjunto de pessoas que usa e desenvolve um software livre especfico, contribuindo para uma base comum de cdigo-fonte e conhecimento. Por definio, este conjunto de pessoas estabelecido pelo fato de discutirem por correio eletrnico (ou outra ferramenta de comunicao) assuntos relacionados ao software do projeto. Estes indivduos trabalham geograficamente dispersos, tendo a sua disposio

ferramentas simples para coordenar e comunicar seu trabalho atravs da Internet, e um conjunto de experincias e opinies tcnicas que usam para discutir o andamento do projeto. Entre as ferramentas que os projetos utilizam, se destacam as listas de discusso e os sistemas de controle de verso [18]. Normalmente o desenvolvimento feito de forma isolada, cada desenvolvedor cria alteraes ao cdigo-fonte localmente. Uma vez decidido que a alterao correta e desejvel (possivelmente tendo passado por reviso de projeto e cdigo de outros desenvolvedores), o processo de integrao iniciado. Se o desenvolvedor tem permisso para escrever cdigo diretamente no repositrio, faz a integrao pessoalmente, se no, envia sua alterao para outro que tem autoridade suficiente para integr-la. Durante este processo, comum que diversas pessoas comentem sobre a alterao e que esta seja revisada e mesmo reescrita caso necessrio, isto ocorre tanto na fase pr-integrao como ps-integrao. Este ciclo se repete para cada alterao a ser introduzida na base de cdigo-fonte [18]. A maioria dos softwares livres comea com um desenvolvedor ou um grupo pequeno, que, buscando resolver um problema particular, intelectual ou de negcio, desenvolve um software deixando-o posteriormente disponvel livremente para outras pessoas utilizarem. Juntando-se ao idealizador ou desenvolvedor do software, os usurios e outros colaboradores acabam criando uma espcie de comunidade colaborativa em torno do software [19]. As comunidades de desenvolvimento de software livre so ambientes de colaborao que esto espalhados pelo mundo todo e seus colaboradores cooperam entre si em projetos por intermdio da Internet. Dispondo de ferramentas tecnolgicas de desenvolvimento e busca, so verdadeiras redes de pessoas interligadas e interconectadas, organizadas em comunidades. O objetivo da criao

23

das comunidades reunir os esforos em torno do desenvolvimento e disseminao da idia de software livre [19]. No Brasil, a iniciativa Projeto Software Livre [20] foi de extrema importncia para o avano do software livre. Este projeto j possui mais de 17 mil usurios [20] e impulsiona, desde 1999, o uso do software livre na administrao pblica. A partir dele que vem sendo organizando o Frum Internacional de Software Livre. O projeto de carter no governamental est trabalhando conjuntamente com a prefeitura de Porto Alegre, o Governo Federal e outras sees da administrao pblica do Brasil para a expanso do software livre nas diferentes reas do governo [21].

2.2.5 Ambiente Operacional Dosvox

Desenvolvido sob o escopo dos projetos de acessibilidade da Universidade Federal do Rio de Janeiro [22], o Dosvox um ambiente operacional para deficientes visuais. Atualmente este ambiente utilizado por, aproximadamente, 20.000 usurios distribudos pelo Brasil, Portugal e Amrica Latina [23]. Ele foi escolhido para ser instalado nos telecentros que fazem parte de um programa do governo brasileiro denominado Programa Nacional de Apoio Incluso Digital nas Comunidades. Os telecentros so ambientes voltados para a oferta de cursos e treinamentos presenciais e a distncia, informaes, servios e oportunidades de negcios visando o fortalecimento das condies de competitividade da

microempresa e da empresa de pequeno porte e o estmulo criao de novos empreendimentos. Serve como um instrumento para aproximar os empresrios, as instituies pblicas e privadas, as organizaes no governamentais e a sociedade em geral. O telecentro composto por computadores interligados e onde monitores realizam a orientao dos usurios. A maior diferena entre o Dosvox e outros programas voltados para auxlio de deficientes visuais reside no fato de que ele no apenas uma casca de interface colocada sobre os programas convencionais, mas um ambiente operacional totalmente projetado com caractersticas de comunicao coerentes com as limitaes do cego [24]. O Dosvox composto por um sistema de sntese de fala, um editor de textos, um leitor de textos, um impressor/formatador de textos, um impressor/formatador

24

para display braile, um ampliador de telas para pessoas com viso reduzida, programas para ajuda educao de crianas com deficincia visual, jogos, programas sonoros para acesso Internet, leitor simplificado de telas para Windows [4]. Atualmente possui mais de 80 programas, sendo que os principais so o Edivox - editor de textos principal, o Imprivox - impressor de textos formatados, o Cdmp3vox - conversor de textos para MP3, o Monitvox - leitor de telas, o Braivox - impressor braile, a Calcuvox - calculadora vocal, o Webvox - navegador Web, o Cartavox correio eletrnico, o Tnetvox - Telnet sonoro, o Papovox - programa de bate-papo, o Ftpvox - cliente FTP. A licena de software livre usada pelo Dosvox a GNU General Public License (GPL), que a licena de software livre mais utilizada [25]. Esta uma licena do tipo copyleft, o que torna obrigatrio a qualquer um que distribua o software, com ou sem modificaes, a passar adiante a liberdade de copiar e modificar novamente o programa [26]. O Dosvox foi desenvolvido para o sistema operacional Windows, dessa forma o Dosvox por padro no compatvel com o sistema operacional Linux, mas possvel execut-lo neste sistema operacional atravs de programas como o Wine. O Wine um emulador para Linux que faz implementao livre das bibliotecas do Windows fazendo com que os programas sejam traduzidos para rotinas UNIX, dessa forma gerando resultados idnticos aos apresentados no Windows. Quando executado por meio deste emulador, o Dosvox apresenta alguns problemas na parte grfica, como por exemplo, algumas letras no aparecem na tela, mas estes problemas, alm de no interferirem na usabilidade do Dosvox para os usurios com deficincia visual, podem ser solucionados instalando a fonte Verdana no Wine. importante que seja possvel executar o Dosvox no Linux porque o programa ProInfo do Ministrio da Educao (mostrado no Quadro 1) j distribuiu mais de um milho de computadores com o Linux educacional para as escolas pblicas brasileiras [27]. Dessa forma, muitos estudantes com deficincia visual podem ser beneficiados com uso do Dosvox na sua aprendizagem. No Linux educacional, que um sistema de informtica voltado para a educao, o programa Wine nativo. Para instalar o Dosvox, basta executar o instalador e seguir as orientaes do mesmo. Depois de instalado, possvel execut-lo atravs do cone ou das teclas de atalho "Ctrl+Alt+D". A tela inicial apresenta a pergunta "O que voc deseja?", conforme ilustra a Figura 1.

25

Figura 1: Tela inicial do Dosvox Para saber as opes do Dosvox, basta usar a tecla de ajuda "F1". Para entrar em uma opo preciso pressionar a letra correspondente a sua tecla de atalho. Outra maneira para saber as opes disponveis no Dosvox usar as teclas vetores do teclado e depois apertar a tecla "Enter" na opo que desejar. As opes da tela inicial so mostradas na Figura 2.

26

Figura 2: Menu principal do Dosvox 2.2.6 Programa Cartavox

O programa Cartavox a ferramenta de correio eletrnico do Dosvox, ou seja, permite que sejam enviadas e recebidas mensagens eletrnicas atravs da Internet. Para acionar o Cartavox atravs da tela inicial do Dosvox basta pressionar a tecla R (Rede) e depois a tecla C (Cartavox). O Cartavox um programa muito intuitivo, o que faz com que ele seja bastante prtico para novos usurios, permitindo uma curva de aprendizagem muito rpida. Apesar disto, ele ainda possui algumas limitaes como, por exemplo, a falta de um recurso para a resposta automtica de mensagens eletrnicas. A falta de recursos bsicos para correio eletrnico o que torna importante a ateno para o desenvolvimento de melhorias nesta ferramenta. O programa atualmente se encontra na verso 5.6 B. As opes existentes nesta verso podem ser vistas na Figura 3, que mostra as opes do Cartavox.

27

Figura 3: Menu principal do Cartavox 2.2.7 Ambiente de Desenvolvimento do Cartavox

O Dosvox compilado no ambiente de desenvolvimento Delphi 6, produzido pela Borland Software Corporation, o qual utiliza como linguagem de programao uma verso moderna de Pascal, chamada de Object Pascal [28]. O Object Pascal uma linguagem hbrida, pois alm da orientao a objetos possui tambm uma parte do antigo Pascal, que era uma linguagem imperativa [29]. Como o Cartavox tambm desenvolvido com o Delphi 6, este ambiente ser utilizado para a implementao das melhorias propostas. Delphi uma ferramenta de propsito geral, permitindo o desenvolvimento de aplicaes cientficas e comerciais com a mesma facilidade e alto desempenho. Integra-se facilmente com a API (Application Program Interface) do Windows, permitindo a criao de programas que explorem ao mximo os seus recursos. O Delphi possui um ambiente de depurao integrado e, alm disso, possui um compilador capaz de gerar cdigo diretamente executvel pelo Windows, proporcionando uma velocidade de execuo de 5 a 20 vezes maior que as linguagens interpretadas, como o Visual Basic e o Visual FoxPro, que geravam executveis Pcode [29].

28

O Delphi uma ferramenta RAD (Rapid Application Development), sigla usada para designar ambientes de desenvolvimento de sistemas que so orientados ao trabalho com formulrios e objetos [30]. Ele distribudo em trs verses diferentes: Personal, Professional e Enterprise. A verso Personal a mais simples e possui distribuio gratuita. As demais possuem mais componentes e so pagas. Pelo fato de ser gratuita, a verso Personal ser a utilizada neste trabalho [31].

2.3 Encaminhamento da Soluo

Aps terem sido apresentados os conceitos tericos necessrios ao desenvolvimento do trabalho, a seguir so apresentadas as propostas de soluo de cada um dos problemas descritos na seo 2.1 deste captulo. Em cada item, o problema identificado e uma proposta de soluo descrita. 1. Apresentao do texto na resposta da mensagem HTML - Desenvolver um cdigo para que a resposta s mensagens que contm apenas uma parte em HTML inclua o texto da mensagem original. 2. Folheamento das mensagens eletrnicas do servidor - Criar uma lista para o usurio poder visualizar todas as suas mensagens ao acessar o seu servidor de correio eletrnico pelo Cartavox. Nesta lista ser possvel marcar as mensagens que deseja apagar do servidor e as que deseja trazer. Alm disso, sero includas opes para facilitar o manuseio das mensagens na lista, como por exemplo, a ordenao e a procura de mensagens. 3. Opes para receber mensagens, transmitir mensagens e monitorar contas para um grupo de contas - Criar um sub-menu que ser aberto atravs do menu principal atravs das teclas de atalho Ctrl + T. Este sub-menu ter as seguintes opes: S - Selecionar as contas R - Receber cartas de todas as contas T - Transmitir cartas de todas as contas M - Monitorar todas as contas

29

Assim, primeiramente, o usurio selecionar as contas com a opo Selecionar as contas, guardando o nome e a senha delas em um arquivo de configuraes. Depois, dever utilizar as opes Receber cartas, Transmitir cartas e Monitorar contas para as contas selecionadas. 4. Implementao do protocolo IMAP. 5. Seleo de mais de um anexo simultaneamente - Ao entrar na opo de anexo, ser possvel marcar os arquivos que se deseja anexar em um diretrio, e depois clicar a tecla F para finalizar a opo de anexo. 6. Resposta automtica - Ser criada uma opo para enviar resposta automtica quando for recebida uma mensagem eletrnica. A proposta fazer com que a resposta automtica seja enviada apenas na primeira vez que um remetente enviar uma mensagem. Alm disso, fazer com que a resposta automtica no seja enviada para endereos de correio eletrnico pertencentes a listas, para que a resposta automtica no perturbe as pessoas da lista que no esto interessadas em receber a resposta.

30

3 DESENVOLVIMENTO DA SOLUO
O presente captulo descreve a especificao e a implementao das funcionalidades desenvolvidas para o Cartavox. Na primeira seo so descritos os recursos de software e hardware necessrios para o desenvolvimento do trabalho. Na segunda seo so apresentadas as funcionalidades selecionadas para serem desenvolvidas no trabalho. A terceira seo mostra a modelagem utilizada para o planejamento da implementao. Na quarta e ltima seo feita a descrio do desenvolvimento de cada funcionalidade implementada.

3.1 Recursos Necessrios

Os recursos de software e hardware necessrios para o desenvolvimento do trabalho so listados nas duas sees a seguir.

3.1.1 Software

Ambiente de desenvolvimento Borland Delphi 6 Ambiente Operacional Dosvox v.4.1 Programa Cartavox v.5.6 B Microsoft Windows 98 ou superior

3.1.2 Hardware

Processador Intel Pentium 166 MHz ou superior 64 MB de Memria RAM ou superior Placa de som ou disponibilidade de som "on-board"

3.2 Funcionalidades a serem desenvolvidas

Aps o estudo do Cartavox e seu cdigo-fonte, decidiu-se por desenvolver as seguintes melhorias:

31

1. Apresentao do texto na resposta da mensagem HTML. 2. Folheamento das mensagens eletrnicas do servidor. 3. Opes para receber mensagens, transmitir mensagens e monitorar contas para um grupo de contas. 4. Seleo de mais de um anexo simultaneamente. 5. Resposta automtica. Assim todas as melhorias inicialmente propostas sero desenvolvidas, com exceo do Protocolo IMAP, pois o desenvolvimento desta melhoria envolveria manuteno de praticamente todas as funcionalidades j existentes na aplicao. Alm disso, para que o desenvolvimento gerasse benefcios, seria necessrio implementar todas as funcionalidades intrinsecamente associadas ao protocolo, fugindo assim das necessidades atuais requeridas pelos usurios.

3.3 Modelagem

Nesta seo apresentada a modelagem das funcionalidades que sero desenvolvidas, realizada atravs da ferramenta Astah Community. Os diagramas UML utilizados na modelagem so o Diagrama de Casos de Uso e o Diagrama de Classes. Os casos de uso foram obtidos atravs da anlise dos requisitos, descrevendo assim todas as funcionalidades propostas para o sistema de maneira mais objetiva. O diagrama de Casos de Uso apresentado na Figura 4. As cores dos casos de uso servem como legenda, ou seja: o caso de uso em amarelo a funcionalidade da melhoria Folheamento das mensagens eletrnicas diretamente no servidor; os casos de uso em azul so funcionalidades da melhoria Opes para receber mensagens, transmitir mensagens e monitorar contas para vrias contas ao mesmo tempo; os casos de uso em verde correspondem melhoria Resposta automtica; o caso de uso em cinza ser desenvolvido para a melhoria Seleo de mais de um anexo simultaneamente. Nenhum caso de uso foi feito para a melhoria Apresentao do texto na resposta da mensagem HTML, pois esta se trata de um defeito no programa, e no de uma nova funcionalidade.

32

Figura 4: Diagrama de Casos de Uso Os casos de uso sero implementados seguindo o padro das

funcionalidades j existentes no Cartavox, ento eles foram descritos de modo a manter esse padro. Os detalhamentos dos casos de uso apresentados podem ser vistos no Apndice A. No Diagrama de Classes, mostrado na Figura 5, so apresentadas as novas classes (que sero desenvolvidas) e as classes j existentes no sistema que tero novos mtodos. O Quadro 3 resume quais so as novas classes - observadas no Diagrama de Classes - e a identificao dos casos de uso associados Quadro 3 - Novas classes que sero desenvolvidas no Cartavox Novas Classes Resposta automtica Folheamento das cartas Controle conjunto de contas Selecionar contas Casos de uso UC7 UC1 UC2, UC3, UC4, UC5 UC5

33

Figura 5: Diagrama de Classes As demais classes que aparecem no Diagrama de Classes no so novas no Cartavox, porm sero desenvolvidos novos mtodos nelas. No Quadro 4 so identificadas as classes j existentes, seus mtodos novos, os mtodos j existentes e os casos de uso correspondentes.

34

Quadro 4 - Classes existentes no Cartavox Classes existentes Transmitir cartas Rotinas novas enviaRespostaAutomatica, enviaCartasTodasContas, atachaArquivo, selecionaListArq recebeCartasTodasContas Rotinas j existentes abreConexaoSmtp, enviaUmaCartaSMTP Casos de uso UC4, UC7, UC8

Receber cartas

inicializaPOP3, pegaUmaCartaPOP3, recebeCartas

UC3, UC7

Monitorar contas

monitoraTodasContas

verificaPop3, monitoraConta

UC2

A classe Resposta Automtica, como pode ser observado no Diagrama de Classes, dependente das classes Monitorar correio e Transmitir cartas, pois ela chama rotinas da classe Monitorar correio para que seja possvel saber quando uma nova mensagem chegou ao correio eletrnico do usurio e, chama rotinas da classe Transmitir cartas para que seja enviada uma reposta automtica para o remetente desta nova mensagem. J a classe Controle Conjunto de Contas dependente das classes Transmitir cartas, Monitorar correio, Receber cartas e Selecionar contas. Ela chama as rotinas da classe Selecionar contas quando o usurio quer selecionar ou retirar contas para serem usadas no Controle Conjunto de Contas. Depois o usurio pode optar por receber as mensagens das contas que foram selecionadas, enviar as mensagens destas contas ou ainda monitorar estas contas. Para estas trs operaes, rotinas das classes Transmitir cartas, Monitorar correio, Receber cartas sero chamadas. Quanto aos objetos, Carta e Conta so objetos j existentes no Cartavox. Carta representa uma mensagem eletrnica e Conta representa uma conta de correio eletrnico configurada pelo usurio. O nico objeto novo que aparece no Diagrama de Classes o objeto RespostaAutomatica, que uma generalizao do objeto Carta, herdando seus atributos. Este objeto possui trs atributos particulares, o atributo chamado ativada, usado para identificar se a resposta automtica est ativada, o atributo emBranco, usado para identificar se a resposta automtica est em branco, isto , ainda no foi escrita, e o atributo vetorEnviados, usado para guardar os endereos de correio eletrnico para os quais a resposta automtica j

35

foi enviada, servindo assim para saber os endereos que a resposta automtica no deve ser enviada novamente.

3.4 Implementao

3.4.1 Folheamento das mensagens eletrnicas do servidor

Para o usurio trazer as mensagens presentes no seu correio eletrnico para o Cartavox, o programa tinha a opo de baixar todas as mensagens de uma s vez ou escolher, uma de cada vez, quais as mensagens que deseja baixar. Alm disso, o Cartavox permitia escolher se as mensagens baixadas seriam ou no apagadas do correio eletrnico. Com a opo de folheamento das mensagens eletrnicas do servidor que foi desenvolvida, quando o usurio acessar o seu servidor de correio eletrnico atravs do Cartavox, so listadas no programa todas as mensagens existentes no correio eletrnico do usurio, assim, ele tem a opo de folhear as mensagens e escolher quais deseja trazer para seu Cartavox ou quais deseja apagar do servidor. Para que o usurio possa usar a opo de folheamento das mensagens eletrnicas do servidor, ele primeiramente precisa configurar uma conta no Cartavox. Nesta conta, ele informa seu endereo de correio eletrnico, dessa forma, o usurio vai receber as suas mensagens atravs de sua conta configurada. No desenvolvimento do folheamento das mensagens eletrnicas do servidor, alm das opes para o usurio receber as mensagens no Cartavox e para o usurio apagar as suas mensagens do servidor, foram includas outras opes sugeridas pela equipe tcnica do Dosvox que podem ser teis aos usurios, as quais esto presentes nos demais folheamentos de mensagens do Cartavox. Essas opes esto listadas abaixo: a) Selecionar o nome do remetente associando-o a um apelido: Nesta opo o usurio associa o nome do remetente da mensagem selecionada a um apelido. Assim, o nome do remetente associado a um apelido guardado em um arquivo chamado apelidos.ini.

36

b) Informaes sobre a mensagem: Nesta opo informado ao usurio o nome da configurao atual, o assunto, se a mensagem contm ou no arquivos inclusos, o remetente da mensagem, a data de envio e a data de chegada. c) Informar qual mensagem do total: Nesta opo informado ao usurio o posio da mensagem cujo cursor est em cima do total de mensagens que esto sendo folheadas. Por exemplo, se existem 20 mensagens no servidor e o cursor est em cima da mensagem 12, ento o programa informa: "12 de 20". d) Informar selecionadas do total: Nesta opo informado ao usurio quantas mensagens esto selecionadas do total de mensagens que esto sendo folheadas. Por exemplo, se existem 20 mensagens no servidor e 4 foram selecionadas, ento o programa fala: "4 selecionados de 20". e) Informar o tamanho da mensagem: Nesta opo informado ao usurio o tamanho do arquivo da mensagem. f) Informar o tamanho de todas as mensagens: Nesta opo informado ao usurio o tamanho total ocupado pelas mensagens no servidor. g) Informar o nmero da mensagem: Nesta opo informado ao usurio o posio da mensagem no folheamento. h) Buscar mensagem pelo nmero: Nesta opo o usurio deve informar a posio da mensagem que deseja encontrar no folheamento. Assim, o programa posiciona o cursor em cima da mensagem cuja posio foi informada pelo usurio. i) Editar apelidos: Nesta opo o usurio pode inserir um novo apelido no arquivo de apelidos, editar o arquivo de apelidos ou escolher outro arquivo para usar como arquivo de apelidos. j) Falar o remetente da mensagem: Nesta opo sintetizado o remetente da mensagem cujo cursor est em cima. k) Falar o destinatrio da mensagem: Nesta opo sintetizado o destinatrio da mensagem cujo cursor est em cima. l) Ordenar mensagens: Nesta opo o usurio pode ordenar as mensagens listadas no folheamento pela data de chegada, pela data de envio, pelo assunto das mensagens, pelo remetente das mensagens ou pelo tamanho das mensagens.

37

m) Procurar mensagens: Nesta opo o usurio pode procurar mensagens informando uma palavra existente no cabealho das mensagens. Alm disso, ele pode procurar mensagens pelo assunto da mensagem cujo cursor est em cima, pelo remetente da mensagem cujo cursor est em cima ou pela data de chegada da mensagem cujo cursor est em cima. n) Procura invertida de mensagens: Esta opo idntica a opo Procurar mensagens, porm exibe as mensagens que no contm o texto buscado. Por exemplo, se o usurio escolher a opo de procurar pelo assunto da mensagem cujo cursor est em cima, e o assunto dela "futebol", o resultado da procura ser todas as mensagens que no possuem o assunto "futebol". O primeiro passo para desenvolver o folheamento de mensagens do servidor foi incluir uma opo de acesso funcionalidade atravs do menu principal do Cartavox. Para acessar a nova funcionalidade foi escolhida a tecla de atalho J, pois a tecla F, de folheamento, ou S, de servidor, que seriam as mais pertinentes, j estavam sendo utilizadas por outras funcionalidades do Cartavox. Na Figura 6 pode ser observada a opo J - Folhear cartas no servidor no menu principal do Cartavox.

Figura 6: Menu principal com a opo de folhear mensagens do servidor

38

Ao pressionar a tecla J no menu principal, o usurio direcionado para o folheamento de mensagens do servidor. Primeiramente, se a senha do usurio no est gravada em sua conta, o programa pede para o usurio informar a sua senha, como pode ser observado na Figura 7. A seguir, se o servidor de correio eletrnico do usurio possui mais de 10 mensagens, o programa faz a pergunta So muitas cartas, quantas deseja folhear? que tambm pode ser observada na Figura 7. Esta pergunta realizada porque o carregamento de muitas mensagens pode levar muito tempo, assim se o usurio deseja que o carregamento seja realizado rapidamente, ele pode escolher um nmero pequeno de mensagens do servidor para serem folheadas em seu Cartavox. Se o programa fizer esta pergunta e o usurio desejar folhear todas as mensagens de seu correio eletrnico, basta ele pressionar a tecla Enter que todas as mensagens sero carregadas. Para o usurio ter conhecimento do progresso do carregamento das mensagens, se ele pressionar qualquer tecla durante o carregamento (com exceo da tecla Esc), o programa informa o nmero de mensagens que j foram carregadas.

Figura 7: Incio do folheamento de mensagens do servidor

39

Depois disso o folheamento carregado. Na tela do folheamento, os remetentes das mensagens so mostrados a esquerda, em azul, e os assuntos das mensagens so mostrados a direita, em branco (Figura 8).

Figura 8: Interface do folheamento de mensagens do servidor Para conhecer as principais opes disponveis, o usurio deve pressionar a tecla F1, assim a tela de ajuda carregada (Figura 9). Da mesma forma que nos demais folheamentos existentes no Cartavox, a opo F1 de ajuda mostra apenas as principais opes disponveis para o usurio, assim este padro foi utilizado para fazer a ajuda do folheamento de mensagens. O usurio tambm tem a opo de selecionar a ao desejada com as setas (Figura 10), opo que acessada ao pressionar a tecla F9. Nesta opo, quando o usurio pressiona as teclas cursores para cima e para baixo, a ao cujo cursor est em cima sonorizada, assim, para executar a ao, basta pressionar a tecla Enter. Diferentemente da tela de ajuda, ao selecionar a ao com as setas, todas as aes disponveis no folheamento so mostradas ao usurio.

40

Figura 9: Ajuda do folheamento de mensagens do servidor

Figura 10: Seleo com as setas no folheamento de mensagens do servidor Para o desenvolvimento do folheamento de mensagens do servidor foi criada uma nova classe no Cartavox com o nome carFolInt.pas, onde todos os novos mtodos relacionados com esta funcionalidade esto situados.

41

O principal procedimento desenvolvido nesta nova classe possui o nome de folhearCartasServidor. este o procedimento responsvel por criar e controlar o folheamento de mensagens. ele tambm que chama os demais procedimentos e funes que possuem o papel de executar aes de acordo com a opo escolhida pelo usurio no folheamento. Inicialmente o mtodo folhearCartasServidor chama a funo receberCartasServidor, a qual cria um arquivo temporrio para cada mensagem presente no servidor de correio eletrnico do usurio. Os arquivos temporrios criados contm os dados dos cabealhos das mensagens, os quais so necessrios para montar o folheamento. A funo receberCartasServidor, que pode ser vista no pseudocdigo do Quadro 5, foi criada na classe CarPop3.pas, j existente no Cartavox, pois nesta classe que ficam os mtodos que possuem o papel de recebimento de mensagens do servidor atravs de comandos POP3. Quadro 5 - Pseudocdigo da funo receberCartasServidor
1. 2. 3. 4. 5. 6. 7. int receberCartasServidor inicializaPOP3; ncar := primeiraCartaPop3 para ncar at numCartasPOP3 pegaUmaCartaTempPOP3(ncar); finalizaPop3; fechaConexao (sockPOP3);

O primeiro passo realizado pela funo receberCartasServidor a chamada de uma funo j existente no Cartavox, chamada de inicializaPop3, na qual foram feitas pequenas alteraes para o suporte nova funcionalidade. A funo inicializaPop3 utilizada para fazer uma conexo POP3 em um servidor de correio eletrnico, ou seja, ela utilizada para possibilitar o recebimento de mensagens de um servidor. A funo inicializaPop3 responsvel por perguntar ao usurio qual sua senha, para assim fazer a conexo no servidor. Outra responsabilidade dela verificar quantas mensagens existem no servidor, e caso existam mais de 10, perguntar ao usurio quantas ele deseja folhear. As variveis primeiraCartaPop3 e numCartasPOP3 tambm so preenchidas por esta funo. Estas duas variveis que informam, respectivamente, qual ser a primeira e qual ser a ltima mensagem lida no servidor. Por exemplo, se existem 8 mensagens no servidor, a varivel primeiraCartaPop3 recebe o valor 1 e numCartasPOP3 recebe valor 8, dessa

42

maneira, o programa vai fazer a leitura da mensagem 1 at a mensagem 8, trazendo assim o cabealho de todas as mensagens existentes no servidor para montar o folheamento. No caso de existirem mais de 10 mensagens no servidor, perguntado ao usurio quantas ele deseja folhear, se o usurio digitar o nmero 5, a varivel primeiraCartaPop3 recebe o valor 1 e a varivel numCartasPOP3 recebe o valor 5. Depois de terminada a execuo da funo inicializaPop3, um lao que percorre a quantidade de mensagens a serem lidas comea a ser executado, para que assim os cabealhos das mensagens sejam trazidos. A funo pegaUmaCartaTempPOP3, responsvel por trazer os cabealhos das mensagens, chamada a cada iterao do lao. Esta funo (apresentada no Quadro 6) recebe por parmetro o nmero da mensagem cujo cabealho ser trazido do servidor. Por fim, a funo receberCartasServidor chama a funo finalizaPop3 para encerrar a conexo com o servidor de correio eletrnico e, em seguida, chama o procedimento fechaConexao para fechar o socket que foi utilizado no envio e recebimento de dados do servidor. O Quadro 6 mostra o pseudocdigo da funo pegaUmaCartaTempPOP3, responsvel por trazer os cabealhos das mensagens usados para montar o folheamento de mensagens no servidor. Quadro 6 - Pseudocdigo da funo pegaUmaCartaTempPOP3
1. 2. 3. 4. 5. 6. 7. 8. 9. int pegaUmaCartaTempPOP3 (int numeroCarta) {declarao de variveis} bufEnvia = TOP + numeroCarta + 0; sendbuf (sockPOP3, bufEnvia, strlen (bufEnvia), 0); getTempPath (144, tempPath); getTempFileName(tempPath, 'xxx', 0, tempFileName); multiLineReceiveRespAut (tempFileName, true, false); adicionaStrListaNomeArqTemp(nomeTemp); retorna 'RESP_OK';

Na terceira linha do quadro acima, se v a varivel bufEnvia", que um buffer que recebe os dados que sero enviados para o servidor para se obter os dados desejados. O buffer recebe o comando "TOP", que serve para pedir o cabealho da mensagem ao servidor. A sintaxe deste comando pode ser observada no Quadro 7, onde nmeroMensagem informa o nmero mensagem que vai ter seu cabealho trazido e linhasCorpo informa quantas linhas do corpo da

43

mensagem devem ser trazidas. Como para montar o folheamento de mensagens no servidor no preciso que os corpos das mensagens sejam trazidos, o valor de linhasCorpo ser sempre 0. Quadro 7 - Sintaxe do comando POP3 chamado TOP
TOP nmeroMensagem linhasCorpo

Na quarta linha, a funo sendbuf transmite para o servidor o buffer que contm o comando TOP atravs do socket sockPOP3. Em seguida criado um arquivo temporrio no qual o cabealho da mensagem ser gravado (linha 6). Logo aps, a funo "multiLineReceiveRespAut", responsvel por receber a resposta do servidor, recebe o cabealho da mensagem e armazena-o no arquivo temporrio que foi criado para guard-lo. A ltima ao realizada por esta funo adicionar o nome do arquivo temporrio criado a uma lista, chamada de listaNomeArqTemp. Esta lista vai guardar o nome de todos os arquivos temporrios criados para que assim seja possvel saber quais so os nomes dos arquivos temporrios que contm os cabealhos das mensagens. Depois que os cabealhos das mensagens foram recebidos, a funo folhearCartasServidor prossegue sua execuo. O prximo passo realizado por ela para a montagem do folheamento de mensagens do servidor a chamada de um procedimento chamado montaListaDeCartasServidor. Este procedimento cria as estruturas de cada mensagem presente no folheamento, em outras palavras, para cada mensagem recebida cujo nome foi adicionado anteriormente na

"listaNomeArqTemp", o procedimento inicializa um objeto do tipo "PEstrutura" e o adiciona em um vetor. Os atributos de um objeto do tipo PEstrutura so mostrados no diagrama da Figura 11.

44

Figura 11: Atributos de um objeto do tipo PEstrutura Depois disso, uma funo j existente no Cartavox chamada, a qual possui o nome de folheiaExecuta. Esta funo primeiramente preenche a estrutura que foi criada para cada mensagem. Depois ela faz o controle do folheamento, isto , selecionar as mensagens escolhidas pelo usurio, executar os movimentos das teclas cursores realizados pelo usurio e sonorizar o remetente e o assunto da mensagem a cada vez que o usurio movimenta as teclas cursores para baixo e para cima. Para preencher as estruturas das cartas, esta funo pega os nomes dos arquivos na lista listaNomeArqTemp e l cada um dos arquivos para pegar as informaes necessrias para atribuir valores aos atributos do objeto de cada mensagem. A funo folheiaExecuta encerrada quando o usurio pressiona uma tecla que chama alguma das aes disponveis no folheamento. As aes pedidas pela equipe tcnica do Dosvox e que o folheamento de mensagens do servidor deveria contemplar so as opes para trazer as

45

mensagens do servidor e apagar as mensagens do servidor. Ento as opes que foram criadas para atender estes requisitos foram trs: apagar mensagens do servidor, trazer mensagens do servidor e trazer mensagens sem apag-las do servidor. Para contemplar estas opes, foram feitos dois procedimentos. Para atender a opo de trazer mensagens sem apag-las do servidor foi criado um procedimento chamado de trazCartasServidor e para atender as duas outras opes foi criado um procedimento chamado de trazEApagaCartasServidor. Como os dois procedimentos possuem funcionamentos semelhantes, para entend-los basta conhecer um deles, assim apenas o procedimento desenvolvido para contemplar a ao de trazer as mensagens sem apag-las do servidor ser explicado abaixo. Para ativar o procedimento trazCartasServidor e assim trazer as mensagens sem apag-las do servidor, basta pressionar as teclas Ctrl + R no folheamento. O usurio tem a opo de trazer vrias mensagens de uma nica vez, selecionando algumas mensagens com a tecla Barra de Espao e depois pressionando as teclas Ctrl + R para receb-las, ou o usurio pode pressionar as teclas Ctrl + R sem ter nenhuma mensagem selecionada, recebendo assim apenas a mensagem cujo cursor estava em cima no momento em que o comando foi pressionado. No Quadro 8 apresentado o pseudocdigo do procedimento "trazCartasServidor". Na segunda linha do pseudocdigo mostrado no Quadro 8 verificado se existem mensagens selecionadas no folheamento, o que feito atravs da verificao do valor de uma varivel booleana passada por parmetro para este procedimento, chamada existemSelecionados. Se este parmetro tiver valor verdadeiro, o procedimento executar o cdigo que est entre as linhas 3 e 14. Neste trecho de cdigo, o programa pergunta ao usurio se ele deseja que todas as mensagens selecionadas sejam trazidas para o Cartavox (linha 3). Se o usurio pressionar a tecla N, o programa sonoriza a mensagem desistiu (linha 5) e ento volta para o folheamento sem trazer nenhuma mensagem do servidor. Caso o usurio pressione a tecla S, ento o procedimento segue sua execuo para trazer as mensagens selecionadas.

46

Quadro 8 - Pseudocdigo do procedimento trazCartasServidor


1. trazCartasServidor(boolean existemSelecionados, int nCar, int primeiraCartaPop3) 2. se existemSelecionados = true ento 3. deseja trazer todas as selecionadas?; 4. se resposta do usurio = N 5. mensagem ('desistiu'); 6. seno 7. enquanto laco <= numRegs 8. se regLido[laco].selecionado = true ento 9. nomeArqTemp := regLido[laco].carta.nomArqCarta; 10. cartasATrazer[i] := pegaPosListaNomeArqTemp (nomeArqTemp); 11. i := i + 1; 12. laco := laco + 1; 13. trazCartaServidor(cartasATrazer, true, primeiraCartaPop3, enderUsuario); 14. mensagem ('Ok, peguei as correspondncias'); 15. seno 16. mensagem ('Deseja trazer a carta com o assunto ' + regLido[nCar].carta.subject); 17. se resposta usurio = N 18. mensagem ('desistiu'); 19. seno 20. nomeArqTemp := regLido[nCar].carta.nomArqCarta; 21. cartasATrazer[i] := pegaPosListaNomeArqTemp(nomeArqTemp); 22. trazCartaServidor(cartasATrazer, true, primeiraCartaPop3, enderUsuario); 23. mensagem ('Ok, peguei a correspondncia');

Para trazer as mensagens, um lao percorre todo o folheamento procurando as mensagens que esto selecionadas (linha 7 do quadro acima), neste lao a varivel global numRegs indica o nmero total de mensagens existentes no folheamento. Para verificar se uma mensagem est selecionada, o atributo selecionado de cada mensagem verificado (linha 8). Se este atributo tiver valor verdadeiro, ento a mensagem deve ser trazida. Para a mensagem ser trazida, preciso informar o nmero desta mensagem no servidor, o qual obtido pela posio do arquivo da mensagem na lista listaNomeArqTemp. A posio do arquivo da mensagem na lista encontrada atravs da execuo de uma funo chamada pegaPosListaNomeArqTemp (linha 10), passando o nome do arquivo temporrio como parmetro. Assim, a posio do arquivo temporrio encontrada pela funo guardada em um vetor chamado cartasATrazer (linha 10). Ao final do

47

lao, o vetor cartasATrazer contm o nmero de cada mensagem que deve ser trazida. Depois de passar pelo lao e tendo a informao de quais mensagens devem ser trazidas, a funo responsvel por trazer as mensagens para o Cartavox executada (linha 13), a qual chamada de trazCartaServidor. Este procedimento foi criado na classe carPop3, pois tem a funo de recebimento de mensagens atravs de comandos POP3. Quatro parmetros precisam ser passados para este procedimento, os quais so explicados a seguir. a) 1 Parmetro - o vetor cartasATrazer, que contm os nmeros das mensagens que sero trazidas; b) 2 Parmetro - uma varivel booleana que indica se a mensagem que ser trazida deve ser mantida no servidor. Como o procedimento que est sendo explicado serve para trazer as mensagens sem apag-las do servidor, o valor passado neste parmetro verdadeiro; c) 3 Parmetro - passado o valor que foi recebido por parmetro no procedimento trazCartasServidor, na varivel primeiraCartaPop3, que indica a partir de qual posio do servidor as mensagens comearo a ser trazidas. Este nmero ser somado a cada um dos nmeros presentes na lista cartasATrazer, para assim saber quais as mensagens que sero trazidas do servidor. Isto necessrio porque o folheamento no necessariamente comea da primeira mensagem existente no servidor. Por exemplo, se o usurio escolher folhear da carta 20 a 30, ento a primeira mensagem do folheamento ser a vigsima do servidor. Neste caso o valor passado nesse parmetro seria 20. Assim, se o usurio escolhesse trazer as mensagens 2 e 3 do folheamento, estes nmeros seriam somados com o valor 20, desse modo, as mensagens 22 e 23 seriam trazidas do servidor; d) 4 Parmetro - um parmetro do tipo string pelo qual passado o endereo de correio eletrnico do usurio. A partir deste parmetro ser verificado se o comando POP3 de recebimento funciona no servidor de correio eletrnico do usurio.

48

Ao final da execuo da funo trazCartaServidor, o programa sonoriza a mensagem Ok, peguei as correspondncias (linha 14) para informar ao usurio que as mensagens selecionadas foram recebidas no seu Cartavox. Se nenhuma mensagem est selecionada quando o usurio escolhe a opo de trazer mensagens sem apag-las do servidor, apenas a mensagem cujo cursor estava em cima ser trazida do servidor. Neste caso, a condio que verifica se existem mensagens selecionadas, na primeira linha do pseudocdigo, ser falsa. Consequentemente, a estrutura condicional seno da linha 15 ser verdadeira e o procedimento executar somente o cdigo que est entre as linhas 16 e 23. Neste caso, primeiramente perguntado ao usurio se ele deseja trazer para o Cartavox a mensagem cujo cursor est em cima, e o assunto de tal mensagem sonorizado (linha 16). Se o usurio pressionar a tecla N, o programa sonoriza a mensagem desistiu (linha 18) e volta para o folheamento sem trazer a mensagem do servidor. Caso o usurio pressione a tecla S, ento a mensagem trazida. Como nesta ocasio apenas uma mensagem vai ser trazida do servidor, a lista que contm os nmeros das mensagens a serem trazidas, lista cartasATrazer, vai conter apenas o nmero dessa mensagem. Da mesma forma que feito anteriormente, para encontrar o nmero da mensagem a ser trazida (que a posio do arquivo temporrio que contm a mensagem na lista de arquivos temporrios), preciso saber o nome do arquivo temporrio da mensagem. Este nome encontrado no objeto que representa a mensagem, o qual est armazenado no vetor que guarda os objetos das mensagens. A fim de acessar o objeto no vetor para pegar o nome do arquivo, usado o valor da varivel recebida por parmetro, chamada nCar, que guarda o nmero da mensagem que ser trazida. Desse modo, o nome do arquivo temporrio correto encontrado atravs do atributo nomArqCarta do objeto acessado. Depois disso, a funo pegaPosListaNomeArqTemp executada, passando como parmetro o nome do arquivo temporrio da mensagem (linha 21), para assim obter o nmero da mensagem no servidor. Este nmero guardado no vetor cartasATrazer (linha 21). Logo a seguir, a funo trazCartaServidor executada passando por parmetro o vetor cartasATrazer para trazer a mensagem para o Cartavox. Ento, a funo trazCartaServidor termina de ser executada e o programa sonoriza a mensagem Ok, peguei a correspondncia para informar ao usurio que a mensagem selecionada por ele foi recebida no seu Cartavox.

49

As demais aes implementadas (que podem ser observadas na Figura 10) so opes que servem para auxiliar o usurio no folheamento. Essas opes do informaes bsicas sobre as mensagens presentes no folheamento, como o remetente da mensagem, a posio da mensagem atual no folheamento, o tamanho da mensagem. Alm disso, elas tornam a tarefa de encontrar mensagens mais fcil para usurio atravs de aes como a procura de mensagens e a ordenao de mensagens. O desenvolvimento destas aes foi feito atravs da adaptao de funes e procedimentos que j realizavam estes papis, presentes nos demais folheamentos do Cartavox.

3.4.2 Opes para receber mensagens, transmitir mensagens e monitorar contas para um grupo de contas

No Cartavox, o usurio pode ter vrias contas configuradas. A opo grupo de contas que foi desenvolvida serve para o usurio poder usar mais facilmente e rapidamente estas contas. Por exemplo, se um usurio tem 3 contas configuradas e quer receber para o Cartavox as mensagens destas contas, ele no precisa recuperar cada conta e receber as mensagens de uma conta por vez. Com a opo grupo de contas basta ele selecionar as 3 contas e depois receber as mensagens das contas selecionadas. As opes disponveis que o usurio tem no grupo de contas so: selecionar contas, receber mensagens das contas selecionadas, transmitir mensagens das contas selecionadas e monitorar as contas selecionadas. A primeira etapa para desenvolver esta funcionalidade foi criar um menu chamado Grupo de Contas (que pode ser observado na Figura 12) e atravs dele permitir o acesso s opes disponveis no grupo de contas, as quais so explicadas a seguir. a) Selecionar contas: nesta opo, o usurio adiciona suas contas ao grupo de contas ou remove suas contas do grupo de contas; b) Receber cartas das contas selecionadas: nesta opo, o usurio recebe as mensagens de cada uma das contas presentes no grupo de contas; c) Transmitir cartas das contas selecionadas: nesta opo, o usurio transmite as mensagens preparadas para envio das contas que esto presentes no grupo de contas;

50

d) Monitorar contas selecionadas: nesta opo, todas as contas presentes no grupo de contas so monitoradas. O monitoramento das contas personalizado pelo usurio, isto , o usurio pode escolher se o programa vai emitir um aviso s quando uma nova mensagem chegar a alguma das contas que esto sendo monitoradas ou se, assim que uma mensagem chegar a alguma conta, o programa sempre vai ficar emitindo um aviso. Alm disso, no monitoramento o usurio escolhe se deseja receber as mensagens das contas do grupo de contas de forma automtica logo que elas chegarem s contas ou se deseja receber as mensagens manualmente. Se escolher a segunda opo, ao final do monitoramento, cada uma das contas presentes no grupo de contas acessada para que o usurio escolha as mensagens que deseja receber no Cartavox.

Figura 12: Menu principal do grupo de contas Para acessar o grupo de contas a partir do menu principal do Cartavox foi escolhida a tecla K, pois foi considerada a melhor das teclas de atalho ainda disponveis no menu principal. Conforme pedido pela equipe tcnica do Dosvox, tambm foram criadas teclas de atalho no menu principal para as opes Receber cartas das contas selecionadas (teclas Ctrl + Z), Transmitir cartas das contas selecionadas (teclas Ctrl + X) e Monitorar contas selecionadas (teclas Ctrl + C),

51

porm, como pode ser observado na Figura 13, somente a opo de acesso ao grupo de contas exibida no menu principal.

Figura 13: Menu principal do Cartavox com a opo de grupo de contas A primeira etapa para desenvolver esta funcionalidade foi criar a opo Selecionar Contas, onde o usurio pode incluir e retirar contas do grupo de contas. Assim, ao escolher esta opo, o usurio direcionado para uma tela em que existem duas opes: adicionar contas ao grupo e remover contas do grupo. As teclas de acesso escolhidas para as duas opes so A e R, respectivamente. A Figura 14 mostra a interface da seleo do grupo de contas contendo estas duas opes. Na opo de adicionar contas ao grupo de contas, todas as contas que no esto no grupo de contas so exibidas em um folheamento, enquanto que na opo de remover contas do grupo de contas, todas as contas que esto no grupo de contas so exibidas.

52

Figura 14: Menu da seleo do grupo de contas Para adicionar contas ao grupo de contas, o usurio tem a opo de adicionar vrias contas de uma vez, selecionando com a tecla Barra de Espao as contas que deseja adicionar ao grupo e pressionando a tecla Enter para adicion-las, ou o usurio tem a opo de adicionar ao grupo somente a conta cujo cursor est em cima, pressionando Enter sem selecionar nenhuma conta. Uma conta que adicionada ao grupo de contas precisa ter sua senha gravada no Cartavox. Se a senha de uma conta que o usurio selecionou para adicionar ao grupo no est gravada, o programa informa que a senha precisa estar gravada para que a conta seja adicionada ao grupo e pede que o usurio a informe. Este processo pode ser observado na Figura 15. Isto necessrio porque, por exemplo, caso as senhas das contas presentes no grupo no estivessem gravadas, toda vez que o usurio fosse receber as mensagens destas contas, ele teria que informar a senha de todas elas para que as mensagens fossem recebidas, o que tornaria esta tarefa muito cansativa.

53

Figura 15: Adio de uma conta que no tem a senha gravada Para organizar o grupo de contas no Cartavox uma nova classe foi criada, na qual foram colocados todos os novos mtodos relacionados com o grupo. A esta classe deu-se o nome de carCont.pas. Para o desenvolvimento da opo de selecionar as contas do grupo, foi criado um procedimento principal que responsvel por organizar as chamadas a diversos mtodos, os quais vo montar um folheamento com as contas do usurio, fazer o controle dos movimentos do usurio neste folheamento e adicionar e remover as contas no grupo de acordo com a opo escolhida pelo usurio. A este procedimento principal foi dado o nome de folhearContas. Ele possui um parmetro booleano chamado adicionarContas, que serve para indicar se o usurio deseja adicionar ou remover contas do grupo de contas. Quando o usurio escolhe a opo de adicionar contas ao grupo, este parmetro possui valor verdadeiro e, quando escolhe a opo de remover contas do grupo, este parmetro possui o valor falso. A primeira ao realizada pelo procedimento folhearContas chamar outro procedimento, chamado carregarContas, que tem o papel de criar e preencher os objetos que representam as contas. Esses objetos so do tipo cont, possuindo um atributo chamado nome, responsvel por guardar o nome de uma conta, e outro atributo chamado selecionado, responsvel por indicar se a conta est ou no est

54

selecionada no folheamento. No Quadro 9 mostrado o pseudocdigo do procedimento carregarContas. Quadro 9 - Pseudocdigo do procedimento carregarContas
1. carregarContas(boolean adicionarContas) 2. getprivateProfileString (NIL, NIL, '', nomes, 1000, 'CARTAVOX.INI'); 3. nomeConta := nomes; 4. enquanto nomeConta diferente de nulo 5. n := getPrivateProfileString(nomeConta, 'SERVIDORSMTP', '', estaNoGrupo, 144, 'CARTAVOX.INI'); 6. se n > 0 ento 7. getPrivateProfileString(nomeConta, 'GRUPODECONTAS', '', estaNoGrupo, 144, 'CARTAVOX.INI'); 8. se adicionarContas = true ento 9. se estaNoGrupo = false ento 10. numContas := numContas + 1; 11. new (cont); 12. cont[numContas].nome := nomeConta; 13. cont[numContas].selecionado := false; 14. seno 15. se estaNoGrupo = true ento 16. numContas := numContas + 1; 17. new (cont); 18. cont[numContas].nome := nomeConta; 19. cont[numContas].selecionado := false; 20. nomeConta := prxima conta;

O primeiro passo realizado pelo procedimento carregarContas chamar uma funo nativa do Windows chamada getPrivateProfileString (linha 2). Esta funo possui o papel de recuperar informaes de arquivos de configuraes com a extenso .ini. Arquivos com esta extenso possuem sees, onde cada seo pode ter diversos campos e cada campo possui um valor. Abaixo mostrado um exemplo de como a estrutura de um arquivo com a extenso .ini.
[Seao1] campo=valor campo=valor campo=valor [Seo2] campo=valor campo=valor

O arquivo que ser acessado pela funo getPrivateProfileString o arquivo de configuraes do Cartavox, chamado de CARTAVOX.INI. Neste arquivo as

55

sees representam os nomes das contas configuradas pelos usurios e os campos representam os dados de configurao de cada conta. Alguns exemplos dos campos guardados por cada conta so o endereo de correio eletrnico do usurio, o nome do arquivo que contm a assinatura do usurio usada nas mensagens, o nome do diretrio em que as mensagens recebidas so guardadas, o nome do diretrio em que as mensagens enviadas so guardadas. Os parmetros passados para a funo getPrivateProfileString servem para informar quais sero os valores extrados do arquivo CARTAVOX.INI, abaixo explicado o papel de cada parmetro desta funo. a) 1 Parmetro - indica o nome da seo em que o valor ser procurado. Se o valor deste parmetro nulo, a funo copia o nome de todas as sees do arquivo para o buffer de resposta fornecido no 4 parmetro; b) 2 Parmetro - indica o nome do campo, da seo especificada, do qual o valor ser extrado. Se o valor deste parmetro nulo, a funo copia o nome de todos os campos da seo para o buffer de resposta fornecido no 4 parmetro; c) 3 Parmetro - o valor que deve ser retornado se o valor do campo fornecido no 2 parmetro no for encontrado no arquivo. Nesse caso, a funo copia este valor para o buffer de resposta fornecido no 4 parmetro. No procedimento carregarContas, o valor passado para este parmetro sempre nulo; d) 4 Parmetro - Indica o buffer que ser usado para armazenar o resultado da funo; e) 5 Parmetro - Indica o tamanho do buffer passado no 4 parmetro; f) 6 Parmetro - Indica o nome do arquivo .ini que ser acessado. O nome do arquivo passado neste parmetro sempre ser CARTAVOX.INI, pois este o arquivo de configuraes do Cartavox. Na segunda linha do pseudocdigo mostrado no Quadro 9, o 1 parmetro passado para a funo getPrivateProfileString possui valor nulo. Isto faz com que o buffer de resposta nomes, passado atravs do 4 parmetro da funo, receba o nome de todas as sees do arquivo CARTAVOX.INI, ou seja, o nome de todas as

56

contas configuradas no Cartavox. Os nomes das contas sero utilizados para verificar se cada conta est ou no no grupo de contas. Na terceira linha, um ponteiro chamado nomeConta do tipo pchar recebe o buffer nomes, o que faz com que o ponteiro aponte para o incio do buffer, assim o ponteiro recebe o nome da primeira conta presente no buffer. Este ponteiro ser usado para percorrer o buffer, pegando o nome das contas. Na quarta linha comea o lao que percorre as contas, este lao ter fim quando o ponteiro nomeConta apontar para nulo, indicando assim que todas as contas presentes no buffer j foram percorridas. No lao, primeiramente a funo getPrivateProfileString executada para verificar se a conta a ser a adicionada no folheamento vlida. Para isto, o nome da conta passado no primeiro parmetro da funo e o campo a ser verificado, chamado SERVIDORSMTP, passado como segundo parmetro da funo. O resultado da funo recebido por uma varivel do tipo inteiro, chamada n. Se o valor de n igual a 0, o campo SERVIDORSMTP possui o valor nulo, logo a conta verificada no vlida, dessa forma, o lao avana diretamente para sua ltima linha (linha 20), onde a prxima conta a ser verificada recebida pelo ponteiro. Caso o valor de n seja maior que 0, o campo SERVIDORSMTP no possui um valor nulo, logo a conta verificada vlida, dessa maneira, as prximas linhas do pseudocdigo sero executadas para verificar se a conta deve ser adicionada ao folheamento de contas. Neste caso, o lao continua sua execuo fazendo uma nova chamada da funo getPrivateProfileString (linha 7), agora para obter a informao se a conta est ou no no grupo de contas. A funo chamada contendo em seu primeiro parmetro o nome da conta que ser acessada no arquivo CARTAVOX.INI e, no segundo parmetro, o nome do campo que indica se a conta est ou no no grupo de contas, chamado GRUPODECONTAS, que um campo que foi criado para esta funcionalidade no arquivo CARTAVOX.INI. No quarto parmetro da funo, passado o buffer em que a resposta vai ser colocada, chamado estaNoGrupo. O valor recebido por este buffer ser verificado mais adiante para saber se a conta est ou no no grupo. Depois disso, o valor da varivel adicionarContas, passado como parmetro para o procedimento carregarContas, verificado (linha 8). Se ele tem valor verdadeiro, o cdigo que cria os objetos para as contas que no esto no grupo executado (linhas 9 a 13), isto porque, neste caso, o usurio escolheu a opo de

57

adicionar contas ao grupo, assim, as contas que no esto no grupo devem ser carregadas. Em seguida o buffer estaNoGrupo, que indica se a conta est ou no no grupo de contas, verificado (linha 9). Se estaNoGrupo tem o valor falso, a conta deve ser adicionada ao folheamento de contas, ento o objeto que representa a conta, do tipo cont, criado para esta conta (linha 11). Alm disso, os atributos desse objeto so inicializados, com o atributo nome recebendo o nome da conta (linha 12) e o atributo selecionado recebendo o valor falso (linha 13), para indicar que a conta no est selecionada no folheamento. Caso a varivel estaNoGrupo tenha valor verdadeiro, a conta no deve ser adicionada ao folheamento de contas, ento nada feito com a conta e o lao vai para sua prxima iterao. Se o valor do parmetro adicionarContas falso, o cdigo que cria os objetos para as contas que esto no grupo executado (linha 15 a 19), porque este parmetro possui valor falso quando o usurio escolheu a opo de retirar contas do grupo, ento as contas que esto no grupo devem ser carregadas no folheamento de contas. Prosseguindo-se a execuo do cdigo, verificado se a varivel estaNoGrupo possui valor verdadeiro (linha 15). Em caso afirmativo, um objeto criado para a conta que est no grupo. Em caso negativo, nada feito com a conta e a iterao atual do lao encerrada. Depois do procedimento carregarContas ter finalizado sua execuo, a prxima ao realizada pelo procedimento folhearContas chamar um procedimento que possui o nome de inicializaFolheamentoContas. Este

procedimento cria e inicializa algumas estruturas necessrias para montar o folheamento das contas. Em seguida, um lao comea a ser executado no procedimento folhearContas. A primeira ao realizada dentro do lao chamar a funo folheiaExecuta, que j existia no Cartavox e que tambm foi utilizada na implementao da funcionalidade Folheamento das mensagens do servidor. Essa funo possui diversas responsabilidades, como fazer as selees das contas escolhidas pelo usurio, executar os movimentos das teclas cursores realizados pelo usurio, sintetizar o nome da conta a cada vez que o usurio movimenta as teclas cursores para baixo ou para cima, entre outras. Ela encerrada quando o usurio pressiona uma tecla para executar alguma das opes disponveis no folheamento de contas, as quais so mostradas abaixo.

58

Tecla direcional para esquerda ou para direita - sintetiza o nome da conta cujo cursor est em cima; Tecla F1 - chama a tela de ajuda, que informa as opes disponveis no folheamento de contas; Tecla F5 - Abre a opo de procura, onde o usurio informa o nome de uma conta a ser procurada no folheamento; Teclas CTRL + F5 - Procura a prxima conta com as palavras procuradas na opo de procura (F5); Tecla F8 - Informa a hora atual; Tecla CTRL + F8 - Informa o dia atual. As aes explicadas acima existem por padro em todos os folheamentos do Cartavox, por isso tambm foram implementadas no folheamento de contas. Depois de executar a ao escolhida pelo usurio, o lao comea uma nova iterao, onde a funo folheiaExecuta chamada novamente. Para encerrar o lao, o usurio deve pressionar as teclas Esc ou Enter. Ao pressionar a tecla Esc, nada feito com as contas presentes no folheamento e o procedimento folhearContas encerrado. J ao pressionar a tecla Enter, as contas selecionadas pelo usurio ou, no caso de nenhuma conta estar selecionada, a conta cujo cursor est em cima, so adicionadas a uma lista, chamada contasSelecionadas. Assim, o procedimento folhearContas vai continuar sua execuo para adicionar ou remover (dependendo da opo escolhida pelo usurio) as contas que esto na lista contasSelecionadas. No Quadro 10 mostrado o pseudocdigo do algoritmo que possui este papel. Neste algoritmo, executa-se um lao que faz o tratamento necessrio para cada conta selecionada pelo usurio. Se o usurio entrou na opo de retirar contas do grupo, a varivel adicionarContas possui valor falso, assim, para cada iterao, o algoritmo avana diretamente para linha 31, que retira uma conta do grupo. Para informar que uma conta foi retirada do grupo, uma informao precisa ser gravada no arquivo CARTAVOX.INI, preciso gravar o valor NAO no campo GRUPODECONTAS da conta que est sendo verificada. Esta gravao feita atravs da funo writePrivateProfileString.

59

Quadro 10 - Algoritmo que remove ou insere contas no grupo de contas


1. para indice = 0 at quantidade de 'contasSelecionadas' 2. nomeConta := contasSelecionadas[indice]; 3. se adicionarContas = true ento 4. getPrivateProfileString(nomeConta, 'SCCV', '', resultado, 255, 'CARTAVOX.INI'); 5. senhaSalva := decodFraseMime64 (resultado); 6. se senhaSalva = '' ento 7. mensagem ('Para adicionar a conta ' + nomeConta + ' ao grupo de contas a senha precisa ser gravada.'); 8. mensagem ('Deseja gravar a senha desta conta?'); 9. c := resposta do usurio; 10. se c = N ou c = ESC 11. mensagem ('A conta ' + nomeConta + 'no foi adicionada ao grupo de contas'); 12. seno 13. getPrivateProfileString(szConta, 'SERVIDORPOP3', '', resultado, 255, 'CARTAVOX.INI'); 14. hostPOP3Aux := resultado; 15. getPrivateProfileString(szConta, 'CONTAUSUARIO', '', resultado, 255, 'CARTAVOX.INI'); 16. contaUsuarioAux := resultado; 17. getPrivateProfileString(szConta, 'USASSL', '', resultado, 255, 'CARTAVOX.INI'); 18. usaSSLAux := resultado; 19. getPrivateProfileString(szConta, 'PORTAPOP3', '', resultado, 255, 'CARTAVOX.INI'); 20. portaPOP3Aux := resultado; 21. se senhaValida(hostPOP3Aux, contaUsuarioAux, portaPOP3Aux, usaSSLAux) = false ento 22. mensagem ('A conta ' + nomeConta + 'no foi adicionada ao grupo de contas'); 23. seno 24. writePrivateProfileString(nomeConta, 'ARMAZENASENHA', 'SIM', 'CARTAVOX.INI'); 25. senha := codFraseMime64(senhaSalva); 26. writePrivateProfileString(nomeConta, 'SCCV', senha, 'CARTAVOX.INI'); 27. writePrivateProfileString(nomeConta, 'GRUPODECONTAS', 'SIM', 'CARTAVOX.INI'); 28. seno 29. writePrivateProfileString(nomeConta, 'GRUPODECONTAS', 'SIM', 'CARTAVOX.INI'); 30. seno 31. writePrivateProfileString(nomeConta, 'GRUPODECONTAS', 'NAO', 'CARTAVOX.INI');

Se o usurio entrou na opo de adicionar contas ao grupo, a varivel adicionarContas possui valor verdadeiro, ento a condio verificada na terceira

60

linha verdadeira e o trecho de cdigo responsvel por adicionar uma conta ao grupo executado (linhas 4 a 29). Como explicado anteriormente, para uma conta ser adicionada ao grupo de contas, sua senha precisa estar gravada no Cartavox, portanto uma verificao feita para saber se senha da conta j est gravada. Para isto, obtm-se, do arquivo de configuraes "CARTAVOX.INI", a senha codificada da conta que est sendo verificada atravs da execuo da funo getPrivateProfileString (linha 4). A seguir, esta senha descodificada com a funo "decodFraseMime64", que j era existente no Cartavox (linha 5), e verificado se ela possui valor nulo (linha 6). Se a senha da conta no tem valor nulo, porque a senha da conta est gravada, o que significa que a conta j est pronta para ser includa no grupo de contas. Desse modo, o algoritmo avana diretamente para a linha 29, que grava a conta no grupo de contas. Nesta linha, a funo writePrivateProfileString chamada, a qual acessa o arquivo CARTAVOX.INI, gravando o valor SIM no campo GRUPODECONTAS da conta que est sendo adicionada. No caso da condio verificada na linha 6 constatar que a senha possui valor nulo, porque a senha da conta no est gravada, porm o usurio precisa gravar a senha da conta para adicion-la ao grupo de contas. Ento o algoritmo segue sua execuo, perguntando se o usurio deseja gravar a senha da conta (linha 7 e 8). Se o usurio pressiona as teclas N ou Esc, o programa informa que a conta no foi adicionada ao grupo de contas (linha 11) e a iterao atual do lao encerrada. J no caso do usurio pressionar a tecla S, feita uma verificao para testar a validade da senha. Para isto, quatro informaes da conta so recuperadas do arquivo CARTAVOX.INI atravs da funo getPrivateProfileString (linha 13 a 20): o campo SERVIDORPOP3, que contm o endereo do servidor POP3 da conta do usurio, o campo CONTAUSUARIO, que contm o endereo da conta do usurio, o campo USASSL, que informa se o servidor de correio eletrnico do usurio usa segurana SSL e o campo PORTAPOP3, que informa o nmero da porta POP3 do servidor. Estas informaes so passadas como parmetro para a funo senhaValida (linha 21), que pergunta ao usurio qual a senha da conta e tenta acessar o servidor de correio eletrnico do usurio para verificar se a senha vlida. Se a funo senhaValida retornar o valor falso, o programa informa para o usurio que a conta no foi adicionada ao grupo de contas (linha 22). No caso da funo senhaValida retornar valor verdadeiro, a conta adicionada ao grupo. Para

61

concretizar a incluso da conta no grupo de contas, algumas informaes so gravadas no arquivo CARTAVOX.INI. Primeiramente, o valor SIM gravado no campo ARMAZENASENHA da conta (linha 24). Em seguida a senha da conta, digitada anteriormente pelo usurio, codificada com a funo codFraseMime64 (linha 25), j existente no Cartavox, e a senha codificada gravada no campo SCCV da conta (linha 26). Por fim, o valor SIM gravado no campo GRUPODECONTAS da conta (linha 27). Depois do trmino do lao que trata as contas selecionadas pelo usurio, as estruturas gravadas em memria que foram utilizadas no procedimento folhearContas so destrudas e o procedimento encerrado. Possuindo contas includas no grupo de contas, o usurio pode utilizar as opes para receber mensagens das contas do grupo, transmitir as mensagens das contas do grupo e monitorar as contas do grupo. Para cada uma destas trs opes, foi desenvolvido um procedimento responsvel por execut-las, que so chamados quando o usurio seleciona uma das trs opes. Estes procedimentos sero explicados a seguir. O procedimento desenvolvido para atender a funcionalidade de receber as mensagens para as contas do grupo de contas chamado de receberGrupoContas. A primeira ao realizada neste procedimento a atribuio do nome da conta que est sendo usada no Cartavox, cujo nome est presente na varivel global nomeConfiguracao, para uma varivel auxiliar, chamada confAtual. Isto feito porque, ao final da execuo deste procedimento, o programa deve estar configurado com a mesma conta com que comeou a execuo. Assim, ao final da execuo deste procedimento, o nome contido na varivel confAtual utilizado para recuperar a conta configurada antes do procedimento comear. Depois disso, o procedimento "receberGrupoContas" continua sua execuo para trazer as mensagens das contas que esto no grupo de contas para o Cartavox. O pseudocdigo desse procedimento apresentado no Quadro 11.

62

Quadro 11 - Pseudocdigo do procedimento receberGrupoContas


1. receberGrupoContas 2. confAtual := nomeConfiguracao; 3. getprivateProfileString(NIL, NIL, '', nomes, 1000, 'CARTAVOX.INI'); 4. nomeConta = nomes; 5. enquanto nomeConta diferente de nulo 6. n = getPrivateProfileString(nomeConta, 'SERVIDORSMTP', '', resultado, 144, 'CARTAVOX.INI'); 7. se n > 0 ento 8. getPrivateProfileString(nomeConta, 'GRUPODECONTAS', '', estaNoGrupo, 144, 'CARTAVOX.INI'); 9. estaNoGrupo = resultado; 10. se estaNoGrupo = true ento 11. se existemContas = false ento 12. mensagem ('Deseja trazer as cartas de todas as contas automaticamente?'); 13. c = resposta do usurio; 14. se c = ESC ento termina; 15. seno se c = N ento contaPorConta = true; 16. seno se c = S ou c = ENTER contaPorConta = false; 17. existemContas = true; 18. recuperaConfigGrupoContas(nomeConta); 19. se contaPorConta ento 20. cod = receberCartasGrupoContas(false); 21. seno 22. cod = receberCartasGrupoContas(true); 23. se cod = -1 ento termina; 24. nomeConta = prxima conta; 25. recuperaConfigGrupoContas (confAtual);

Na terceira linha do Quadro 11, os nomes de todas as contas configuradas no Cartavox so recuperados atravs da execuo da funo getprivateProfileString. Depois disso, o ponteiro nomeConta recebe o buffer nomes, que contm os nomes de todas as contas, assim o ponteiro aponta para o incio do buffer, recebendo o nome da primeira conta (linha 4). A seguir, inicia-se um lao que percorre todas as contas presentes no buffer (linha 5). A cada iterao do lao, o ponteiro nomeConta recebe a prxima conta, assim quando o ponteiro nomeConta apontar para nulo, o lao ser encerrado. No lao, primeiramente verifica-se se conta vlida atravs da chamada da funo getPrivateProfileString (linha 6). Se esta funo retornar o valor 0, porque a conta que est sendo verificada no vlida, dessa forma o lao avana diretamente para sua ltima linha (linha 24), onde a prxima conta a ser verificada recebida pelo ponteiro. Caso o valor retornado pela funo seja diferente de 0, a conta verificada vlida, desse

63

jeito, as prximas linhas do algoritmo sero executadas para verificar se as mensagens da conta devem ou no ser trazidas para o Cartavox. Ao prosseguir sua execuo, o prximo passo realizado no lao uma chamada da funo getPrivateProfileString para verificar se a conta est ou no no grupo de contas (linha 8). Esta funo acessa o arquivo CARTAVOX.INI para recuperar o valor do campo GRUPODECONTAS da conta que est sendo verificada. Depois da execuo desta funo, o valor do campo GRUPODECONTAS encontrado no buffer resultado, ento este valor atribudo para uma varivel booleana chamada estaNoGrupo (linha 9). Assim, para saber se a conta est ou no no grupo, o valor da varivel estaNoGrupo verificado (linha 10). Se estaNoGrupo possui valor falso, o ponteiro nomeConta recebe o nome da prxima conta a ser verificada e a iterao atual do lao encerrada sem trazer do servidor as mensagens da conta que est sendo verificada. Caso a varivel estaNoGrupo possua valor verdadeiro, o lao continua sendo executado. Ao continuar sua execuo, o lao verifica o valor de uma varivel booleana chamada existemContas. Se esta varivel possui o valor inicial falso, porque o lao est percorrendo a primeira conta que est no grupo de contas, significando assim que ao menos uma conta ter suas mensagens recebidas no Cartavox. Como existe pelo menos uma conta que ter suas mensagens recebidas, preciso perguntar ao usurio se ele deseja receber as mensagens de todas as contas automaticamente, o que feito na linha 12 do pseudocdigo. Se o usurio pressionar a tecla S, todas as mensagens de todas as contas do grupo sero trazidas para o Cartavox automaticamente, sem que mais nenhuma pergunta seja feita a ele. Caso o usurio pressione a tecla N, cada conta presente no grupo de contas ser acessada individualmente para que o usurio possa escolher as mensagens que deseja trazer de cada conta. E ainda, na hiptese do usurio pressionar a tecla Esc, o programa considera que o usurio est cancelando o recebimento das mensagens, assim o procedimento receberGrupoContas encerrado. Depois disso, o valor verdadeiro atribudo para a varivel existemContas (linha 17) para indicar que existe pelo menos uma conta adicionada no grupo de contas. No caso de no existir nenhuma conta no grupo de contas, o valor da varivel "existemContas" no vai ser alterado, ou seja, vai ficar falso. Desse modo, ao final da execuo do procedimento receberGrupoContas, ser

64

sintetizado ao usurio a informao de que no existem contas adicionadas no grupo de contas. Depois de atribuir valor verdadeiro varivel "existemContas", feita a execuo de um procedimento chamado recuperaConfigGrupoContas, no qual o nome da conta que ter suas mensagens trazidas passado como parmetro (linha 18). Esse procedimento carrega a conta no Cartavox, o que necessrio para que as mensagens dela sejam recebidas. Para isso, ele pega do arquivo de configuraes "CARTAVOX.INI" todas as configuraes da conta e preenche os atributos que mantm os dados dela. Em seguida, executada a funo que traz as mensagens das contas do grupo Esta de contas do servidor, adaptao chamada da de receberCartasGrupoContas.

funo

uma

funo

receberCartas, j existente no Cartavox. Se o usurio respondeu que no deseja trazer todas as mensagens automaticamente, o valor da varivel booleana contaPorConta verdadeiro. Neste caso, a funo receberCartasGrupoContas executada com o valor falso sendo passado em seu parmetro (linha 20), o que indica que as mensagens da conta sero recebidas manualmente. Se o usurio respondeu que deseja trazer todas as mensagens automaticamente, a varivel contaPorConta possui valor falso, assim a funo receberCartasGrupoContas executada com o valor verdadeiro sendo passado em seu parmetro (linha 22), o que indica que as mensagens da conta sero recebidas automaticamente. Depois da execuo da funo receberCartasGrupoContas, o seu retorno verificado (linha 23). Se esta funo retornar o valor -1, ou porque houve algum erro durante a execuo desta funo, ou porque o usurio pressionou a tecla Esc para cancelar o recebimento das mensagens enquanto a funo receberCartasGrupoContas estava sendo executada. Em qualquer dos casos, o recebimento das mensagens do servidor cancelado e o procedimento receberGrupoContas se encerra. Aps ter recebido as mensagens da conta na iterao atual, o ponteiro nomeConta recebe o nome da prxima conta a ser verificada (linha 24) e a iterao atual do lao encerrada. Depois de encerrado o lao e as mensagens de todas as contas do grupo de contas terem sido recebidas, a ltima ao realizada pelo procedimento receberGrupoContas carregar a conta que estava configurada antes do procedimento comear. Isto feito atravs de uma chamada do procedimento recuperaConfigGrupoContas, passando como parmetro o nome da conta que

65

estava carregada no Cartavox antes do procedimento ser executado, deixando assim o Cartavox com as mesmas configuraes que estava antes da execuo do procedimento receberGrupoContas. O procedimento desenvolvido para atender a funcionalidade de transmitir as mensagens para as contas do grupo de contas, chamado de transmitirGrupoContas, semelhante ao procedimento receberGrupoContas, porm contm algumas diferenas. Como no procedimento receberGrupoContas, no procedimento transmitirGrupoContas, o nome da conta que o usurio est usando no Cartavox guardado em uma varivel chamada confAtual, usada para recuperar essa conta no final procedimento. O pseudocdigo do procedimento transmitirGrupoContas" pode ser observado no Quadro 12. Quadro 12 - Pseudocdigo do procedimento transmitirGrupoContas
1. transmitirGrupoContas 2. confAtual := nomeConfiguracao; 3. getprivateProfileString (NIL, NIL, '', nomes, 1000, 'CARTAVOX.INI'); 4. nomeConta := nomes; 5. enquanto nomeConta diferente de nulo 6. n := getPrivateProfileString (nomeConta, 'SERVIDORSMTP', '', resultado, 144, 'CARTAVOX.INI'); 7. se n > 0 ento 8. getPrivateProfileString (nomeConta, 'GRUPODECONTAS', '', resultado, 144, 'CARTAVOX.INI'); 9. estaNoGrupo := resultado; 10. se estaNoGrupo = true ento 11. recuperaConfigGrupoContas (nomeConta); 12. cod := transmitirCartasGrupoContas; 13. se cod = -1 ento termina; 14. nomeConta := prxima conta; 15. recuperaConfigGrupoContas (confAtual);

Como o funcionamento deste procedimento muito semelhante ao do procedimento receberGrupoContas, ele ser explicado de forma resumida. Primeiramente, os nomes das contas configuradas no Cartavox so recuperados do arquivo CARTAVOX.INI. Depois, para cada conta, verificado se a conta vlida. Em seguida, verificado se a conta est presente no grupo de contas. Se a conta est presente, as configuraes dela so recuperadas e a funo transmitirCartasGrupoContas, responsvel por transmitir as mensagens da conta, chamada. Esta funo uma adaptao do procedimento transmitirCartas, j

66

existente no Cartavox. Por fim, o ponteiro nomeConta recebe o nome da prxima conta a ser verificada e a iterao atual do lao encerrada. Depois da execuo desse lao, o procedimento transmitirGrupoContas carrega no Cartavox a conta que estava configurada antes dele comear e o procedimento encerrado. O ltimo procedimento que ser explicado do grupo de contas o procedimento chamado monitorarGrupoContas, o qual executado quando o usurio escolhe a opo de monitorar as contas do grupo de contas. Este procedimento comea com a execuo de um algoritmo cujo pseudocdigo mostrado no Quadro 13. Quadro 13 - Algoritmo do procedimento monitorarGrupoContas
1. getprivateProfileString(NIL, NIL, '', nomes, 1000, 'CARTAVOX.INI'); 2. nomeConta := nomes; 3. enquanto nomeConta diferente de nulo 4. n := getPrivateProfileString(nomeConta, 'SERVIDORSMTP', '', resultado, 144, 'CARTAVOX.INI'); 5. se n > 0 ento 6. getPrivateProfileString(nomeConta, 'GRUPODECONTAS', '', resultado, 144, 'CARTAVOX.INI'); 7. estaNoGrupo := resultado; 8. se estaNoGrupo = true ento 9. existemContas := true; 10. contasNoGrupo.add(nomeConta); 11. nomeConta := prxima conta;

Este algoritmo muito semelhante ao algoritmo mostrado no Quadro 12. A diferena est apenas no tratamento dado para as contas que esto no grupo. Quando verificado que uma conta est no grupo, o valor verdadeiro atribudo a uma varivel, chamada existemContas, a qual ser usada para informar se existem ou no contas no grupo. Depois disso, cada conta que est no grupo inserida em uma lista chamada de contasNoGrupo, que vai conter o nome de todas as contas presentes no grupo. Depois de terminar a execuo deste algoritmo, o procedimento monitorarGrupoContas executa o trecho de cdigo mostrado no Quadro 14. Quadro 14 - Trecho de cdigo final do procedimento monitorarGrupoContas
1. confAtual := nomeConfiguracao; 2. se existemContas = true ento 3. monitorarCorreioGrupoContas (contasNoGrupo); 4. recuperaConfigGrupoContas (confAtual);

67

Neste trecho de cdigo, o nome da conta atual do Cartavox guardado em uma varivel chamada confAtual (linha 1), usada para recuperar, no final do procedimento, a conta carregada no Cartavox antes dele comear. Em seguida, se a varivel existemContas possui valor verdadeiro, porque existem contas no grupo de contas, ento se chama o procedimento monitorarCorreioGrupoContas passando por parmetro a lista contasNoGrupo, que possui o nome das contas do grupo. O procedimento monitorarCorreioGrupoContas uma adaptao de monitorarCorreio, j existente no Cartavox. No procedimento monitorarCorreioGrupoContas feito o tratamento necessrio para que as contas presentes na lista contasNoGrupo sejam monitoradas. Quando o usurio pressiona a tecla Esc, o monitoramento das contas encerrado e a conta que estava carregada no Cartavox recuperada (linha 4).

3.4.3 Resposta Automtica

A opo de resposta automtica que foi desenvolvida serve para enviar uma resposta automtica para as mensagens eletrnicas que chegam ao correio eletrnico quando o usurio no est presente, como por exemplo, quando ele est de frias. Para isso, o usurio primeiramente deve criar uma resposta automtica, escrevendo o seu assunto e texto, e depois deve ativ-la. Alm disso, conforme foi pedido adicionalmente pela equipe tcnica do Dosvox, foi desenvolvida uma opo para preparar resposta automaticamente para as mensagens do usurio usando a resposta automtica criada por ele. Ou seja, quando o usurio est respondendo a uma mensagem, em vez de escrever o texto da mensagem, ele poder usar o texto da resposta automtica como resposta para a mensagem. Depois o usurio poder transmitir a mensagem de resposta quando desejar. Para o desenvolvimento da resposta automtica, foi criada uma nova classe, chamada de carResp.pas. Nela esto reunidas as funes de criao e edio da resposta automtica e as funes para os menus. Alm disso, outros mtodos foram implementados dentro de classes que possuem mtodos com o mesmo papel. Para acessar a tela inicial da resposta automtica, foi includa uma opo no menu principal do Cartavox, como ilustra a Figura 16. Escolheu-se a tecla U para

68

acessar o menu da resposta automtica, pois a tecla R j era atalho para outra opo.

Figura 16: Menu principal com a opo de resposta automtica Na tela inicial da resposta automtica, foram includas as opes Escrever resposta automtica e Ativar Resposta Automtica, como mostra a Figura 17.

Figura 17: Menu principal da resposta automtica

69

3.4.3.1 Escrever Resposta Automtica

Quando o usurio escolhe a opo Escrever resposta automtica, se ele no tem uma resposta automtica preparada, o programa vai exibir a pergunta "Qual o assunto da resposta automtica?", para o usurio escrever o assunto da resposta. O assunto que vai ser enviado na resposta automtica o conjunto do assunto original da mensagem com o assunto da resposta automtica escrita pelo usurio. Por exemplo, se a mensagem recebida tem o assunto "Marcao de reunio", na resposta automtica o assunto vai ficar "Re: Marcao de reunio - assunto da resposta automtica". O assunto que o usurio escreve pode ficar em branco. Em seguida, para escrever o texto da resposta automtica, apresentada a pergunta "Qual o nome do arquivo de texto a mandar?". O modo utilizado para escrever o texto j era utilizado nos preparos de mensagens do Cartavox, assim, optou-se por seguir o padro. Neste modo o usurio tem as seguintes opes: a) Escrever o nome de um arquivo existente no diretrio em que o programa est sendo executado para usar o texto deste arquivo. Neste caso, o programa pergunta se o usurio quer editar o arquivo. Se ele aceitar, o Cartavox abre o arquivo com o editor de texto do Dosvox para o usurio editlo; b) Pressionar Enter sem escrever nada para digitar um texto novo para a resposta automtica. Assim o Cartavox abre o editor de texto do Dosvox para o usurio escrever sua resposta; c) Escrever o nome de um novo arquivo e pressionar Enter para escrever um texto novo para a resposta automtica criando um novo arquivo para guardlo. Assim, como na opo anterior, o programa abre o editor de texto do Dosvox para o usurio escrever sua resposta; d) Pressionar Esc para deixar o texto da resposta automtica em branco. Aps ter escrito o texto da resposta automtica, se o usurio tiver um arquivo de assinatura criado e configurado, mostrada a pergunta "Adiciono sua assinatura?", e o usurio deve teclar S para adicionar a sua assinatura na sua resposta ou teclar N para no adicionar. As etapas para a criao da resposta automtica so mostradas na Figura 18.

70

Figura 18: Etapas de configurao de uma resposta automtica As configuraes da resposta automtica so armazenadas nos arquivos de configuraes do Cartavox (CARTAVOX.INI) e do Dosvox (DOSVOX.INI). As informaes guardadas so o nome completo do diretrio onde est armazenado o arquivo que contm o texto da resposta automtica, o assunto da resposta e se ela possui assinatura ou no. No arquivo de configuraes do Dosvox, estas informaes ficam dentro da seo Cartavox, que tem as configuraes da conta est sendo usada pelo usurio. No arquivo do Cartavox, estas informaes ficam dentro da seo com o nome da conta do usurio. A seguir apresentado um exemplo de como ficam armazenadas as configuraes da resposta automtica nos arquivos de configuraes.
[Seo] ARQRESPAUT=C:\winvox\e-mail\respAut.txt ASSRESPAUT=Estou de frias SIGRESPAUT=SIM

Para o desenvolvimento do cdigo que responsvel pela criao da resposta automtica, primeiramente criou-se uma funo, chamada

"escreveRespAut", que verifica se existe ou no uma resposta automtica criada para a conta que o usurio est usando, como mostrado no Quadro 15.

71

Quadro 15 - Verificao da existncia de uma resposta automtica configurada


1. 2. se (arqRespAut = '') ou (not fileExists (arqRespAut)) ento no existe resposta automtica;

O valor da varivel "arqRespAut", mostrada no quadro acima, representa o valor do parmetro ARQRESPAUT do arquivo de configuraes. Se o valor for nulo ou se o valor indicar um arquivo inexistente, a resposta automtica ainda no foi criada. Caso seja constatado que a resposta no foi escrita, feita a chamada da funo "perguntaNovaResp", que cuida das etapas de criao da resposta automtica, apresentada no Quadro 16 e analisada a seguir. Quadro 16 - Pseudocdigo da funo perguntaNovaResp
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. string perguntaNovaResp assunto := editaAssunto(c); se c = ESC retorna 'desistiu'; nomeArq := escolheNomeArq (editar); se nomeArq = '' retorna 'desistiu'; se editar ento editaArquivo (nomeArq); respAssinatura := perguntaAssinatura; se respAssinatura = 'cancelar' retorna 'desistiu'; res := escreveArquivo(nomeArq, assunto, respAssinatura); se res = 'erro' ento retorna 'erro'; retorna 'ok';

A funo "editaAssunto", chamada na linha 2, responsvel por retornar o assunto da resposta automtica escrito pelo usurio. Caso o usurio pressione a tecla Esc durante a escrita do assunto, a varivel "c" passada por parmetro fica com o valor "ESC", assim a criao da resposta automtica cancelada e o programa volta para a tela inicial. Na linha 4, feita a chamada da funo "escolheNomeArq", que j existia no Cartavox. Ela retorna o nome do arquivo que contm o texto que o usurio quer usar na resposta automtica ou, caso ele opte por escrever um texto para a sua resposta sem usar um arquivo, retorna o nome de um arquivo temporrio vazio que criado pela funo. Alm disso, a varivel booleana "editar", que passada por parmetro, recebe o valor verdadeiro em trs casos: se o usurio desejar editar um arquivo que ele quis usar como texto da resposta, se o usurio indicar o nome de um novo arquivo que ele deseja criar ou se ele quer escrever um texto para sua resposta. Desse modo, se o valor da varivel "editar" for verdadeiro, executado o mtodo

72

"editaArquivo", que tambm j existia no Cartavox. Este mtodo abre, com o editor de texto do Dosvox, o arquivo que foi retornado pela funo "escolheNomeArq" para o usurio editar. Na funo "perguntaAssinatura" da linha 7, se o usurio tem uma assinatura criada e configurada, o programa pergunta se ele quer adicionar a sua assinatura na resposta automtica. Se ele aprovar, a funo retorna a string "SIM", caso contrrio retorna "NAO". E tambm retorna "NAO" no caso do usurio no ter uma assinatura criada no Cartavox. Por fim, feita a chamada da funo "escreveArquivo", passando por parmetro o nome do arquivo que contm o texto da resposta automtica, o assunto da resposta e a informao se o usurio quer ou no adicionar sua assinatura. Seu pseudocdigo apresentado no Quadro 17 e explicado detalhadamente a seguir. O trecho de cdigo da linha 3 a 12 (do Quadro 17) serve para atribuir varivel "nomeArqRespAut" o nome completo que o arquivo com o texto da resposta automtica vai ter, para depois este nome ser escrito nos arquivos de configuraes do Cartavox e do Dosvox. Para isso, verificado se a varivel "arqRespAut", que possui o valor do parmetro ARQRESPAUT do arquivo de configuraes, tem valor nulo. Se o valor desta varivel no for nulo, significa que j existe um nome para o arquivo com o texto da resposta automtica (configurado pelo usurio), dessa forma, este nome j existente atribudo varivel "nomeArqRespAut" (linha 12). E caso valor da varivel "arqRespAut" seja nulo, o nome "respAut.txt" precedido do nome do diretrio de recebimento de mensagens do Cartavox atribudo varivel "nomeArqRespAut", como pode se observar na linha 5. Mas caso j exista o arquivo "respAut.txt" no diretrio de recebimento, o nome atribudo "respAut1.txt" precedido do nome do diretrio. Prosseguindo a explicao do pseudocdigo do Quadro 17, o texto do arquivo apontado pela varivel "nomeArq" (passada por parmetro) escrito no arquivo criado para guardar o texto da resposta automtica, apontado pela varivel "nomeArqRespAut" (linhas 13 a 15). Por fim, o nome completo do arquivo que contm o texto da resposta automtica, guardado na varivel "nomeArqRespAut", escrito nos arquivos de configuraes CARTAVOX.INI e DOSVOX.INI, assim como o assunto da resposta e a informao se ela possui assinatura, as quais foram recebidas atravs dos parmetros assunto e respAssinatura.

73

Quadro 17 - Pseudocdigo da funo escreveArquivo


1. string escreveArquivo (string nomeArq, string assunto, string respAssinatura) 2. string nomeArqRespAut, s; 3. se arqRespAut = '' ento 4. se fileNotExists(dirRecebe + '\' + 'respAut.txt') ento 5. nomeArqRespAut := dirRecebe + '\' + 'respAut.txt' 6. caso contrrio 7. cont := 1; 8. enquanto fileExists(dirRecebe+'\'+'respAut'+cont+'.txt') 9. cont++; 10. nomeArqRespAut := dirRecebe+'\'+'respAut'+cont+'.txt'; 11. caso contrrio 12. nomeArqRespAut := arqRespAut; 13. enquanto arquivo nomeArq no chegar ao fim 14. s := l linha nomeArq; 15. escreve s em nomeArqRespAut; 16. se arqRespAut = '' ento arqRespAut := nomeArqRespAut; 17. writePrivateProfileString('CARTAVOX', 'ARQRESPAUT', nomeArqRespAut, 'DOSVOX.INI'); 18. writePrivateProfileString(nomeConfiguracao, 'ARQRESPAUT', nomeArqRespAut, 'CARTAVOX.INI'); 19. assRespAut := assunto; 20. writePrivateProfileString('CARTAVOX', 'ASSRESPAUT', assunto, 'DOSVOX.INI'); 21. writePrivateProfileString(nomeConfiguracao, 'ASSRESPAUT', assunto, 'CARTAVOX.INI'); 22. se respAssinatura = 'SIM' ento sigRespAut := true; 23. caso contrrio sigRespAut := false; 24. writePrivateProfileString('CARTAVOX', 'SIGRESPAUT', respAssinatura, 'DOSVOX.INI'); 25. writePrivateProfileString(nomeConfiguracao, 'SIGRESPAUT', respAssinatura, 'CARTAVOX.INI'); 26. retorna 'ok';

Depois de escritas as configuraes da resposta automtica nos arquivos de configuraes, a opo Escrever resposta automtica termina de ser executada. Contudo, caso o usurio acesse a opo Escrever resposta automtica e j tenha escrito uma resposta automtica, so mostradas na tela do programa as opes Editar o assunto da resposta automtica e Editar o corpo da resposta automtica, como ilustra a Figura 19.

74

Figura 19: Opes de edio de uma resposta automtica No caso do usurio escolher a opo Editar o assunto da resposta automtica, apresentado na interface do Cartavox o assunto da resposta automtica que foi escrito pelo usurio para ele edit-lo. A funo que responsvel pela edio do assunto apresentada no Quadro 18. No pseudocdigo do Quadro 18, a funo da linha 6 sintetiza e imprime a mensagem Edite o assunto da resposta automtica. A funo "sintEditaCampo" (linha 8), j existente no Cartavox, serve para o usurio digitar um texto, que no caso mostrado no Quadro 18, retornado na varivel "assunto" passada para esta funo por referncia. Aps o usurio digitar um texto, ele deve pressionar Enter ou Esc para encerrar a funo, assim, o nome da tecla pressionada retornado na varivel "c" do tipo char. Caso ele pressione Esc, a edio cancelada e o programa volta tela inicial do Cartavox. E se ele pressionar Enter, o novo assunto da resposta automtica escrito nos arquivos de configuraes do Cartavox e Dosvox, como se observa nas linhas 12 e 13 do Quadro 18.

75

Quadro 18 - Pseudocdigo da funo perguntaEditaAssuntoRespAut


1. string perguntaEditaAssuntoRespAut 2. string assunto; 3. char c; 4. assunto := assRespAut; 5. enquanto no for teclado ENTER ou ESC 6. mensagem ('Edite o assunto da resposta automtica'); 7. mensagem (assunto); 8. c := sintEditaCampo (assunto, 1, wherey, 255, 80, true); 9. se c = ESC ento retorna 'desistiu'; 10. caso contrrio 11. assRespAut := assunto; 12. writePrivateProfileString('CARTAVOX', 'ASSRESPAUT', assunto, 'DOSVOX.INI'); 13. writePrivateProfileString(nomeConfiguracao, 'ASSRESPAUT', assunto, 'CARTAVOX.INI'); 14. retorna 'ok';

Quando o usurio seleciona a opo Editar o corpo da resposta automtica, o arquivo com o texto da resposta automtica aberto atravs do editor de texto do Dosvox para o usurio editar. A funo que comanda a edio do texto da resposta automtica exibida do Quadro 19. Quadro 19 - Pseudocdigo da funo perguntaEditaAssuntoRespAut
1. string perguntaEditaTextoRespAut 2. string respAssinatura; 3. char c; 4. editaArquivo (arqRespAut); 5. respAssinatura := perguntaAssinatura; 6. se respAssinatura = 'SIM' ento sigRespAut := true; 7. caso contrrio sigRespAut := false; 8. writePrivateProfileString('CARTAVOX', 'SIGRESPAUT', respAssinatura, 'DOSVOX.INI'); 9. writePrivateProfileString(nomeConfiguracao, 'SIGRESPAUT', respAssinatura, 'CARTAVOX.INI'); 10. retorna 'ok';

No pseudocdigo do quadro acima, na chamada da funo "editaArquivo" (linha 4) passado por parmetro a varivel "arqRespAut" que contm o nome completo do arquivo com o texto da resposta automtica. Assim, essa funo abre o arquivo para edio com o editor de texto do Dosvox. Aps isso, feita a chamada da funo "perguntaAssinatura", a qual, no caso do usurio ter uma assinatura configurada, pergunta se ele deseja adicionar a assinatura na resposta automtica.

76

No final da execuo, gravado nos arquivos de configuraes do Cartavox e do Dosvox se a resposta automtica vai ter assinatura ou no (linhas 8 e 9).

3.4.3.2 Ativar resposta automtica de frias

Quando selecionada a opo Ativar resposta automtica de frias da tela inicial da resposta automtica, se o usurio j criou uma resposta automtica, ele deve informar se deseja ativar a resposta automtica de frias. Caso ele ative, se o usurio no tiver a senha salva na configurao do Cartavox, deve informar a sua senha. Depois de informar a senha, a resposta automtica de frias ativada e o programa fica monitorando o correio eletrnico da conta do usurio para verificar quando chegam mensagens novas. Quando uma mensagem nova chega ao correio do usurio, o Cartavox emite um aviso sonoro e em seguida envia a resposta automtica para o remetente da mensagem emitindo um aviso sonoro novamente para informar ao usurio que a resposta foi enviada. Para desativar a resposta automtica, basta o usurio pressionar a tecla Esc que o Cartavox volta para o menu principal. A Figura 20 mostra um exemplo da resposta automtica de frias ativada, onde foi enviada uma resposta. A frase "Conectando com 200.147.3.209" indica cada monitoramento que feito no correio eletrnico da conta do usurio. J o primeiro asterisco apresentado na tela ocorreu quando a mensagem chegou ao correio eletrnico, enquanto o segundo asterisco apareceu no momento que a resposta automtica foi enviada. Quando a resposta automtica de frias ativada, um procedimento chamado monitorarRespAut executado. Este procedimento fica monitorando o correio eletrnico do usurio para verificar se alguma mensagem nova chegou ao correio. Se uma nova mensagem chega ao correio, este procedimento chama as funes responsveis por enviar a resposta automtica. No Quadro 20 mostrado pseudocdigo deste procedimento, onde apenas os trechos de cdigos relevantes para o entendimento do procedimento so apresentados.

77

Figura 20: Resposta automtica de frias ativada Quadro 20 - Pseudocdigo do procedimento monitorarRespAut
1. monitorarRespAut 2. int cartasRecebidas, existentesAntes, existentesDepois; 3. string senha := ''; 4. se senhaSalva = '' ento 5. mensagem ('Informe sua senha'); 6. c := sintEditaCampoMudo (senha, 1, wherey, 255, 80, true); 7. se senha <> '' ento senhaSalva := senha; 8. existentesAntes := verificaPop3 (hostPOP3, portaPOP3, contaUsuario, senhaSalva, true); 9. mensagem ('Resposta automtica de frias ativada'); 10. repete enquanto Esc no for teclado ou no der erro 11. existentesDepois := verificaPop3 (hostPOP3, portaPOP3, contaUsuario, senhaSalva, true); 12. pausa 60 segundos; 13. se (existentesDepois > existentesAntes) ento 14. cartasRecebidas := receberCartas (existentesAntes, existentesDepois); 15. se cartasRecebidas > 0 ento 16. prepararCartas (cartasRecebidas, true); 17. transmitirCartas;

No pseudocdigo acima, caso a varivel "senhaSalva", mostrada na linha 4, possua valor nulo, significa que o usurio no tem a senha salva na configurao do Cartavox, ento ele deve informar a sua senha. Aps ter informado a senha, feita a chamada a funo "verificaPop3" (linha 8), que realiza a conexo com o servidor

78

POP3 da conta que o usurio est usando a fim de verificar se a senha que ele informou est correta e ainda retorna o nmero de mensagens existentes no correio eletrnico do usurio antes de comear o monitoramento. Aps ter certificado que a senha est correta, informado ao usurio que a resposta automtica de frias foi ativada (linha 9). Em seguida, dentro de um lao, que s termina quando o usurio pressionar Esc ou der erro no programa, com a finalidade de saber se chegou alguma mensagem nova para o usurio, feita a chamada da funo "verificaPop3" novamente (linha 11). Assim, retornada a quantidade atual de mensagens existentes no correio eletrnico. Este nmero de mensagens existentes vai ser comparado com a quantidade de mensagens que existiam no servidor antes de comear o monitoramento para saber se alguma nova mensagem chegou ao servidor. Logo aps, na linha 12, o programa pausado por 60 segundos. Este tempo de pausa foi escolhido, pois concede um intervalo seguro para ficar conectando no servidor POP3 da conta do usurio. Se este tempo fosse menor, poderia ocasionar erro em alguns servidores. Depois da pausa, verificado se o nmero atual de mensagens existentes no servidor maior que o nmero anterior de mensagens existentes. Se o nmero atual de mensagens maior, porque chegaram mensagens novas no servidor. Neste caso estas mensagens novas so recebidas no Cartavox, e em seguida as respostas para estas mensagens so preparadas e transmitidas. Os cdigos dos mtodos que so responsveis pelo recebimento das mensagens, pelo preparo da respostas e pela transmisso delas sero explicados a seguir. Quadro 21 - Pseudocdigo da funo receberCartas
1. int receberCartas (int existentesAntes, int existentesDepois) 2. int codPega := 0, cartasRecebidas := 0; 3. inicializaPOP3; 4. enquanto existentesDepois > existentesAntes 5. codPega := pegaUmaCartaPOP3 (existentesDepois); 6. se codPega = RESP_RECEBEU ento cartasRecebidas++; 7. existentesDepois--; 8. finalizaPop3; 9. fechaConexao(sockPOP3); 10. retorna cartasRecebidas;

O trecho de cdigo apresentado no Quadro 21 possui o papel de receber as novas mensagens do servidor para as quais sero enviadas respostas automticas.

79

Assim como na funo de recebimento de mensagens desenvolvida para a funcionalidade Folheamento de mensagens do servidor, o primeiro passo realizado pela funo "receberCartas" abrir uma conexo POP3 com o servidor atravs da execuo da funo "inicializaPop3" (linha 3). Depois disso, a funo pegaUmaCartaPop3 executada dentro de um lao para trazer as novas mensagens do servidor, para as quais a resposta automtica ser enviada. Para indicar qual a mensagem que ser trazida do servidor, o nmero da ltima mensagem do servidor passado por parmetro para a funo pegaUmaCartaPop3, pois a mensagem mais nova do servidor a ltima em numerao no servidor. Por exemplo, se o servidor possui 50 mensagens, o nmero da mensagem mais nova 50. O lao executado at que o nmero atual de mensagens no servidor seja igual ao nmero inicial de mensagens no servidor, trazendo assim todas as novas mensagens do servidor para o Cartavox. Em seguida a conexo com o servidor de correio eletrnico encerrada e o socket usado na comunicao com o servidor fechado (linhas 8 e 9). No Quadro 22 mostrado o pseudocdigo da funo pegaUmaCartaPOP3, usada para trazer as mensagens do servidor para o Cartavox. Quadro 22 - Pseudocdigo da funo pegaUmaCartaPOP3
1. int pegaUmaCartaPOP3 (int numeroCarta) 2. {declarao de variveis} 3. bufEnvia = TOP + numeroCarta + 0; 4. sendbuf (sockPOP3, bufEnvia, strlen (bufEnvia), 0); 5. getTempPath (144, tempPath); 6. getTempFileName(tempPath, 'xxx', 0, tempFileName); 7. multiLineReceiveRespAut (tempFileName, true, false); 8. l arquivo temporrio para achar o remetente da mensagem 9. enquanto vetorEnviados[i] != null 10. se vetorEnviados[i] = remetente ento jaEnviado := true; 11. i++; 12. se jaEnviado = false ento 13. vetorEnviados[i] := remetente; 14. bufEnvia = RETR + numeroCarta; 15. sendbuf (sockPOP3, bufEnvia, tamanho(bufEnvia), 0); 16. nomeArq := novoNomeCarta (nbaseRecebe, dirRecebe, '.CAR') 17. multiLineReceiveRespAut (nomeArq, false, false); 18. apagaCarta; 19. criaListaCAR; 20. adicionaListaCAR (nomeArq); 21. retorna 'RESP_RECEBEU'; 22. retorna 'RESP_OK';

80

Na linha 3 do Quadro 22, assim como na funcionalidade Folheamento de mensagens do servidor, o buffer bufEnvia recebe o comando "TOP", usado para receber o cabealho de uma mensagem do servidor. Dessa maneira, o buffer enviado para o servidor por meio do socket "sockPOP3". Em seguida, o cabealho da mensagem recebido e armazenado no arquivo temporrio criado para guardlo, o que feito atravs da execuo da funo "multiLineReceiveRespAut" (linha 7). Depois disso, a funo l esse arquivo temporrio para achar o remetente da mensagem, conforme mostrado na linha 8 do pseudocdigo. Tendo a informao de quem o remetente da mensagem, verificado se o remetente no est no "vetorEnviados", que armazena os remetentes das mensagens recebidas durante o monitoramento atual. Se o remetente est no vetor, significa que uma mensagem deste remetente j havia sido recebida e por conseguinte uma resposta automtica j tinha sido enviada para ele. Desse modo, a funo no traz para o Cartavox a mensagem enviada por esse remetente e, portanto, uma resposta automtica no vai ser enviada novamente para ele. Quando a reposta automtica for encerrada, o vetor vetorEnviados desalocado, assim, da prxima vez que o usurio ativar a resposta automtica, o vetor estar sem o endereo de nenhum remetente. Por outro lado, se o remetente obtido no est no "vetorEnviados", significa que a mensagem ser recebida no Cartavox, assim, a funo envia novamente um buffer para o servidor, dessa vez com o comando "RETR", que serve para obter toda mensagem do servidor. Dessa maneira, a mensagem recebida e gravada em um arquivo com a extenso .CAR que armazenado no diretrio de recebimento de mensagens do Cartavox. Depois de receber a mensagem, como padro no Cartavox apag-la do servidor, feita a chamada da funo "apagaCarta" para apag-la do servidor (linha 18). Completando a funo mostrada no Quadro 22, feita a chamada de um mtodo que cria uma lista, chamada de "listaCAR" (linha 19), que serve para armazenar o nome completo das mensagens que foram recebidas. Em seguida o nome da mensagem que foi recebida adicionado na lista. Esta lista usada posteriormente para saber quais so as mensagens a que se deve enviar uma resposta automtica.

81

Aps a explicao do funcionamento do cdigo para receber as mensagens, no Quadro 23 mostrado o pseudocdigo do procedimento que cuida do preparo da resposta automtica para as mensagens que foram recebidas. Quadro 23 - Pseudocdigo do procedimento prepararCartas
1. prepararCartas (int quantCartas, boolean vaiEnviar) 2. {declarao de variveis} 3. montaListaDeCartas; 4. destroiListaCAR; 5. se vaiEnviar ento criaListaCPR; 6. para i := 1 a quantCartas 7. carregaArqPreencheCabPrinRespAut (i); 8. nomeDest := regLidoRespAut[i]^.carta^.from; 9. se assRespAut <> '' ento assunto := ' - ' + assRespAut; 10. assunto := 'Re: ' + regLidoRespAut[i]^.carta^.subject + assunto; 11. preencheArqRespAut (i, nomeArq, false); 12. nomeArq := colocaRespostaCarta(nomeArq); 13. nomeArqEnviar := geraTextoSMTP (nomeArq, nomeDest, assunto, pCc, pBcc, tipo = 'E', confReceb, true, i, message_id); 14. se vaiEnviar ento adicionaListaCPR (nomeArqEnviar);

No procedimento prepararCartas, mostrado no quadro acima, o parmetro "quantCartas" designa a quantidade de mensagens que iro ser preparadas, ou seja, o total de mensagens que foram recebidas em cada iterao da funo que monitora o correio eletrnico do usurio, mostrada anteriormente. J o parmetro "vaiEnviar" uma varivel booleana, que possui valor verdadeiro quando se trata da opo Resposta automtica de frias, informando assim que as mensagens sero enviadas aps o preparo. E esse parmetro possui valor falso no caso da funo ser executada a partir da opo de Preparar resposta automtica para as mensagens que o usurio tem em seu Cartavox, informando assim que as mensagens no sero enviadas aps o preparo. A funo "prepararCartas" comea fazendo a chamada da funo "montaListaDeCartas" que, para cada mensagem recebida cujo nome foi adicionado anteriormente na "listaCAR", inicializa um objeto do tipo "PEstrutura" (mostrado na Figura 11) que representa a mensagem e o adiciona numa lista de objetos do tipo PEstrutura. Alm disso, a funo "montaListaDeCartas", para cada mensagem que foi recebida, preenche os atributos "nomArqCarta", "dataHora" e "tamanho" do objeto que foi inicializado para a mensagem buscando os dados para preencher esses atributos no arquivo que contm a mensagem.

82

Aps a montagem da lista de mensagens, a "listaCAR" desalocada, pois no vai ser mais usada. Em seguida, caso a funo "prepararCartas" tenha sido executada a partir da opo Resposta automtica de frias, criada uma lista, chamada de "listaCPR". Esta lista vai servir para armazenar o nome completo dos arquivos que sero usados para guardar a resposta automtica de cada mensagem recebida. Dessa maneira, esta lista vai ser usada posteriormente pela funo "transmitirCartas", para saber quais so os arquivos que contm as respostas automticas que devem ser transmitidas. Na linha 6 iniciado um lao que vai percorrer cada mensagem recebida. Assim, dentro do lao, chamada a funo "carregaArqPreencheCabPrinRespAut", que responsvel por ler o arquivo da mensagem da iterao atual para preencher todos os atributos do objeto que representa a mensagem. Aps a chamada desta funo, atribudo varivel "nomeDest" o nome do remetente da mensagem. Esta varivel ser usada para indicar qual o destinatrio da resposta automtica criada para a mensagem. Em seguida, preenchida a varivel "assunto" pegando o assunto original da mensagem e adicionando o assunto que o usurio escreveu para sua resposta automtica, este sendo obtido atravs da varivel "assRespAut" que contm o valor do parmetro ASSRESPAUT do arquivo de configuraes. Depois, no lao, executada a funo "preencheArqRespAut" que comea a montar a resposta automtica para a mensagem atual, criando um arquivo temporrio e colocando o texto da mensagem nele. O nome do arquivo criado atribudo varivel "nomeArq" que foi passado por referncia. Aps o arquivo temporrio j ter o texto da mensagem recebida, somente falta adicionar nele o texto que o usurio escreveu para a resposta automtica, o que feito pelo mtodo "colocaRespostaCarta" (chamado na linha 13). Alm de adicionar o texto da resposta automtica, este mtodo adiciona a assinatura no arquivo temporrio, caso o usurio tenha optado pela incluso dela na montagem da resposta automtica. Assim, o mtodo "colocaRespostaCarta" retorna o nome do arquivo temporrio que contm o texto da mensagem recebida e o texto da resposta automtica. Para finalizar o preparo da resposta automtica chamada a funo "geraTextoSMTP", que j era existente no Cartavox, passando como um dos parmetros o nome do arquivo temporrio que contm o corpo completo da mensagem que vai ser enviada automaticamente. Essa funo passa todo o texto do

83

arquivo temporrio para um arquivo com a extenso .CPR, criado no diretrio de mensagens a serem enviadas do Cartavox por esta funo. Tambm nessa funo, os cabealhos com o formato SMTP, que so necessrios para a mensagem ser enviada, so escritos no arquivo criado. Por fim a funo retorna o nome do arquivo criado. O preparo da mensagem que contm a resposta automtica concludo, ento na ltima linha da funo "prepararCartas" feita uma verificao para ver se a varivel booleana "vaiEnviar" verdadeira, ou seja, se a resposta est sendo preparada a partir da opo Ativar resposta automtica de frias. Caso a varivel seja verdadeira, o nome do arquivo que contm a resposta automtica adicionado na lista "listaCPR" para depois a resposta automtica ser transmitida. Depois de se ter explicado como o programa recebe uma mensagem e prepara uma resposta automtica a ela, no Quadro 24 exposto o pseudocdigo do procedimento "transmitirCartas", que transmite as respostas automticas que so preparadas. Quadro 24 - Pseudocdigo do procedimento transmitirCartas
1. 2. 3. 4. 5. 6. 7. transmitirCartas abreConexaoSmtp (true); mensagem ('Enviando as cartas'); abreSmtp; enviarTodas; mensagem ('Fim de envio'); destroiListaCPR;

Na segunda linha de cdigo do procedimento do Quadro 24, feita a chamada da funo "abreConexaoSmtp" que cria o socket que vai servir para transmitir as mensagens. O valor booleano true, passado por parmetro nessa funo, serve para indicar que nada deve ser sintetizado durante a criao do socket. Em seguida, na linha 3 do procedimento "transmitirCartas", sintetizado e impresso na tela a frase Enviando as cartas para indicar que as mensagens esto sendo enviadas. A prxima funo chamada a "abreSmtp", responsvel por fazer a conexo ao servidor de correio eletrnico para que as mensagens possam ser transmitidas. Como o usurio j digitou a sua senha para ativar a resposta automtica de frias, a senha est guardada em uma varivel global, sendo assim ele no precisa digitar a

84

senha novamente para fazer a conexo ao servidor. Aps ter feito a conexo com o servidor, feita a chamada da funo "enviarTodas", que cuida da transmisso das respostas automticas para as mensagens que foram recebidas. Para o melhor entendimento desta funo, seu pseudocdigo apresentado no Quadro 25. Quadro 25 - Pseudocdigo da funo enviarTodas
1. 2. 3. 4. 5. 6. 7. 8. enviarTodas para indice := 0 a listaCPR.count - 1 enviaUmaCartaSMTP (listaCPR.strings [indice]); se indice + 1 < listaCPR.count fechaSmtp; abreConexaoSmtp (true); abreSmtp; fechaSmtp;

Como os nomes dos arquivos das respostas que tm que ser enviadas foram adicionados anteriormente na lista "listaCPR", o mtodo "enviarTodas" (apresentado no Quadro 25) comea com um lao que percorre toda esta lista, para assim transmitir uma mensagem por vez. Na primeira linha do lao, a funo "enviaUmaCartaSMTP", j existente no Cartavox, responsvel por transmitir a mensagem, executada passando por parmetro o nome do arquivo que contm a mensagem que vai ser transmitida. Esta funo envia a mensagem passada por parmetro atravs do socket que foi criado com a funo "abreConexaoSmtp" e sintetiza um aviso sonoro enquanto a mensagem est sendo enviada. Aps enviar uma mensagem, verificado se ainda existem mais nomes de arquivos que contm mensagens para serem enviadas na lista "listaCPR" (linha 4). Caso tenha mais mensagens para serem enviadas, a conexo com servidor finalizada e o socket que foi usado para transmitir a primeira mensagem fechado. E em seguida, um novo socket criado (linha 6) e feita uma nova conexo com servidor do correio eletrnico do usurio (linha 7) para outra mensagem ser transmitida. Depois que todas as mensagens foram enviadas, o lao do mtodo "enviarTodas" encerrado. Assim chamada a funo "fechaSmtp" (linha 8), que finaliza a conexo com o servidor pela ltima vez e fecha o ltimo socket que foi criado. Dessa maneira, o envio das respostas automticas para as mensagens recebidas finalizado, por isso a funo "transmitirCartas" (mostrada Quadro 24)

85

sintetiza a mensagem "Fim de Envio" e por fim executa uma funo, chamada destroiListaCPR, para limpar da memria a lista "listaCPR".

3.4.4 Apresentao do texto na resposta da mensagem HTML

As mensagens enviadas pelos servidores de correio eletrnico para o Cartavox usualmente contm duas partes: uma parte contendo o corpo da mensagem em formato de texto e outra parte contendo o corpo da mensagem em texto com tags HTML. Na Figura 21 mostrado como as partes de uma mensagem so apresentadas aos usurios no Cartavox.

Figura 21: Partes de uma mensagem Contudo, as mensagens que so enviadas de alguns servidores para o Cartavox possuem apenas a parte em HTML, e quando o usurio estava respondendo a uma mensagem que possui somente uma parte em HTML, o corpo da mensagem original no era includo na resposta. Quando a resposta est sendo preparada para uma mensagem, o programa faz a chamada de uma funo que j existia no Cartavox, chamada gravaParteDecodificada, que grava o corpo da mensagem original na resposta que est sendo preparada. Como esta funo s capaz de ler texto (no l texto com

86

tags HTML), ela s executada se o indicativo de tipo de contedo TEXT/PLAIN, que serve para indicar que a mensagem possui uma parte em texto, for encontrado na mensagem. Assim, como as mensagens que s tem uma parte em HTML contm o indicativo de tipo de contedo "TEXT/HTML", a funo gravaParteDecodificada" no executada quando se est respondendo para essas mensagens, ocasionando o problema do corpo da mensagem original no ser includo na resposta. O trecho de cdigo responsvel por fazer a chamada da funo gravaParteDecodificada apresentada no Quadro 26. Quadro 26 - Trecho de cdigo com a funo gravaParteDecodificada
1. se(typeOuContent_type(RegLido[nCar]) = 'TEXT/PLAIN') ou (regLido[nCar]^.content_type = '') ento 2. nomeArq := gravaParteDecodificada (regLido[nCar], '');

Para corrigir isto, outra condio foi adicionada a este trecho de cdigo, a qual pode ser visualizada nas linhas 3 e 4 do Quadro 27. Esta condio ser verificada caso a mensagem no tenha uma parte em texto, assim ser verificada a existncia de uma parte HTML, atravs do indicativo de tipo de contedo TEXT/HTML. Se este indicativo existir na mensagem, ento uma funo chamada gravaParteDecodificadaTexto executada. Quadro 27 - Trecho de cdigo com a funo gravaParteDecodificadaTexto
1. se(typeOuContent_type(RegLido[nCar]) = 'TEXT/PLAIN') ou (regLido[nCar]^.content_type = '') ento 2. nomeArq := gravaParteDecodificada (regLido[nCar], '') 3. seno se(typeOuContent_type(RegLido[nCar]) = 'TEXT/HTML') ento 4. nomeArq := gravaParteDecodificadaTexto(regLido[nCar], '');

A funo gravaParteDecodificadaTexto uma adaptao da funo gravaParteDecodificada para fazer o tratamento de textos em HTML. O texto com tags HTML no pode ser gravado diretamente na mensagem de resposta, pois a mensagem editada pelo usurio atravs do Edivox, editor de texto do Cartavox, o qual no possui suporte para textos HTML. Para solucionar isto, foi includa a chamada de uma funo com o nome de htmlToText, responsvel por transformar um texto HTML em texto simples, para depois ele ser gravado na mensagem de resposta.

87

Para que a funo htmlToText pudesse ser executada, a forma de tratamento das linhas do corpo da mensagem original teve que ser alterada. Anteriormente, o tratamento realizado para gravar as linhas no corpo da mensagem de resposta era feito individualmente para cada linha, assim uma linha por vez era gravada na mensagem de resposta. Este tratamento teve que ser alterado, pois a tag de abertura poderia ficar em uma linha diferente da tag de fechamento, dessa forma a funo htmlToText no reconheceria as tags HTML. Ento, em vez de gravar cada linha individualmente no corpo da mensagem de resposta, primeiramente todas as linhas da mensagem original so acumuladas em uma string, pois uma string contendo todo o texto precisa ser passada para a funo htmlToText. Dessa maneira, a funo htmlToText executada corretamente, pois assim as tags HTML no ficam divididas entre duas linhas. Depois disso, o texto gravado de uma s vez na mensagem. No Quadro 28 mostrado o pseudocdigo que acumula as linhas da mensagem em uma varivel do tipo string. Quadro 28 - Trecho de cdigo que acumula as linhas da mensagem
1. 2. 3. 4. 5. 6. 7. i := parte.linhaInicial; enquanto houveErro=false e (i <= parte.linhaFinal) faa html := html + linhasArquivo[i]; se (html no vazio) e (ltimo caractere(html) = '=') ento html := apaga ltimo caractere(html); i++; html := htmlToText(html);

No pseudocdigo apresentado acima, inicialmente o ndice i recebe o nmero da linha em que comea o texto HTML a ser lido. Em seguida um lao executado, onde cada linha do texto HTML acumulada em uma varivel chamada html. Dentro do lao, aps adicionar uma linha string "html", uma condio verifica se o ltimo caractere desta string igual ao caractere = (linha 4), se a condio for verdadeira, o ltimo caractere de html apagado. Isto feito porque este caractere serve para informar que ainda existem linhas no texto, assim ele no faz parte da mensagem. Quando o valor do ndice i maior do que o valor da linha final do texto, o lao encerrado. Depois que todo o texto HTML est acumulado em string html, a funo htmlToText executada e, por fim, o texto gravado na mensagem de resposta.

88

Na Figura 22 mostrada uma mensagem do servidor BOL, o qual envia mensagens somente com a parte em HTML, sendo respondida. Nesta figura possvel observar o corpo da mensagem original, o qual no aparecia antes da correo deste defeito.

Figura 22: Resposta de uma mensagem com o corpo da mensagem original 3.4.5 Seleo de mais de um anexo simultaneamente

Ao escrever mensagem eletrnica no Cartavox, o usurio no tinha a opo de selecionar mais de um anexo de uma s vez. Assim, para cada arquivo que ele fosse anexar mensagem, ele tinha que fazer uma confirmao, tornando cansativa a tarefa de anexar diversos arquivos. Anteriormente j existia a opo para marcar diversos arquivos quando uma mensagem estava sendo preparada, porm a marcao no estava sendo utilizada, isto , independente dos arquivos que o usurio tivesse marcado, o Cartavox apenas anexava mensagem o arquivo cujo cursor estava em cima no momento que o usurio pressionasse Enter. Dessa forma, o cdigo foi modificado para que os arquivos marcados fossem de fato anexados mensagem. Aps escrever o assunto e o corpo da mensagem, o usurio possui a opo de anexar arquivos carta pressionando a tecla A. Realizando esta ao, o

89

programa sonoriza a pergunta Nome do arquivo a enviar, assim o usurio marca os arquivos que deseja anexar mensagem e pressiona a tecla Enter. A Figura 23 mostra a interface da opo de anexo de arquivos, onde exibida a lista de arquivos de um diretrio com alguns arquivos marcados.

Figura 23: Seleo de arquivos a serem anexados Os mtodos responsveis por controlar a lista de arquivos a serem anexados estavam em uma classe chamada dvArq.pas, que uma classe pertencente ao Dosvox, no sendo assim uma classe do programa Cartavox. A alterao de seus mtodos poderia impactar outros programas do Dosvox, por isso foi recomendado pela equipe tcnica do Dosvox no alterar os mtodos desta classe. Dessa forma, foi criada uma classe no Cartavox onde todos os mtodos alterados da classe dvArq.pas foram replicados, chamada de carArq.pas. A primeira funo alterada foi uma funo chamada escolheFuncaoListArq, a qual foi replicada com o nome de escolheFuncaoListArqAnexo. O retorno desta funo era uma string contendo o nome do arquivo cujo cursor estava em cima. Uma alterao foi feita para que a funo retornasse uma string contendo o nome de todos os arquivos que foram marcados. Para realizar esta mudana, um trecho de cdigo foi adicionado ao final desta funo. O pseudocdigo deste trecho pode ser observado no Quadro 29.

90

Quadro 29 - Cdigo includo na funo escolheFuncaoListArqAnexo


1. 2. 3. 4. 5. 6. 7. enquanto existem arquivos no diretrio se arquivo est marcado ento listaSelecionados = listaSelecionados + nome do arquivo + |; contMarcados++; se contMarcados = 0 ento retorna arquivo cujo cursor est em cima; seno retorna listaSelecionados;

No cdigo do quadro acima, um lao percorre a lista de arquivos de um diretrio. Quando um arquivo marcado pelo usurio encontrado, o nome deste arquivo concatenado com os demais arquivos marcados e o caractere | adicionado ao final para separ-los (linha 3). A varivel na qual estes arquivos so concatenados do tipo string, chamada listaSelecionados. Abaixo mostrado um exemplo do contedo da varivel listaSelecionados com trs arquivos

concatenados.
listaSelecionados = arquivo1|arquivo2|arquivo3

Tambm

dentro

do

lao,

uma

varivel

do

tipo

inteiro,

chamada

contMarcados, conta a quantidade de arquivos marcados (linha 4). Ao fim do lao, o valor da varivel contMarcados verificado (linha 5). Se ele for igual a 0, significa que nenhum arquivo estava marcado quando o usurio pressionou a tecla Enter, desse jeito apenas o arquivo cujo cursor estava em cima retornado pela funo. Caso a varivel contMarcados seja maior que 0, porque o usurio marcou ao menos um arquivo para ser anexado a mensagem, assim a varivel listaSelecionados, que contm os nomes dos arquivos marcados, retornada pela funo. Depois disso, a string que foi retornada pela funo escolheFuncaoListArqAnexo recebida pela funo escolheListArqAnexo, que faz algumas consistncias e retorna esta mesma string para a funo selecArqAnexo. A funo selecArqAnexo analisa o diretrio de onde o usurio selecionou os arquivos que deseja anexar. Se o diretrio escolhido pelo usurio foi o diretrio padro do Cartavox, esta funo no modifica a string que contm os nomes dos arquivos a serem anexados. J no caso do diretrio escolhido pelo usurio ter sido outro, esta funo concatena o nome do diretrio de onde o usurio pegou seus arquivos com a string que contm os nomes dos arquivos a serem

91

anexados. Abaixo est um exemplo do contedo da string se o diretrio escolhido pelo usurio no o padro do Cartavox.
selecArqAnexo = nome do diretrio|arquivo1|arquivo2|arquivo3

Assim esta string retornada pela funo selecArqAnexo e recebida por uma outra funo, chamada obtemNomeArqMascAnexo, que faz outras

consistncias e retorna a string novamente, desta vez para uma funo chamada obtemNomeArqAnexo. Esta, por fim, retorna a string para o procedimento que vai anexar os arquivos mensagem. Este procedimento possui o nome de atachaArquivos e pertence a uma classe do Cartavox chamada carSMTP.pas. As primeiras alteraes feitas neste procedimento so mostradas no pseudocdigo do Quadro 30. Quadro 30 - Primeiras alteraes feitas no procedimento atachaArquivos
1. 2. string nomeArqAttach = obtemNomeArqAnexo; split('|', nomeArqAttach, listaArq);

Na primeira linha do pseudocdigo acima, uma varivel do tipo string, chamada nomeArqAttach, recebe o resultado da funo obtemNomeArqAnexo, que contm os nomes dos arquivos que devem ser anexados, os quais esto concatenados. Em seguida a funo split divide a string nomeArqAttach a partir do caractere |, colocando assim os nomes dos arquivos que devem ser anexados dentro de uma lista, chamada de listaArq. No caso do usurio ter selecionado os arquivos a serem anexados de outro diretrio, a primeira posio da lista listaArq vai conter o nome deste diretrio. Depois disso, para que o procedimento possa anexar os arquivos mensagem, preciso ter, para cada um dos arquivos adicionados na lista listaArq, uma string com o nome do diretrio em que o arquivo est localizado seguido do nome do arquivo. Abaixo mostrado um exemplo de como preciso montar esta string para que depois o procedimento possa anexar o arquivo mensagem.
arquivo a ser anexado = nome do diretrio/nome do arquivo

O pseudocdigo do algoritmo desenvolvido para fazer este processo para cada um dos arquivos a serem anexados mostrado no Quadro 31.

92

Quadro 31 - Algoritmo desenvolvido no procedimento atachaArquivos


1. 2. 3. 4. 5. 6. 7. i = primElem; para i at tamanho de listaArq se contemDir = true ento nomeArqAttach = listaArq[0] + listaArq[i]; seno se listaArq[i] no contm os caracteres '\ ' ou ' /' nomeArqAttach = dirAtual + listaArq[i]; anexa nomeArqAttach mensagem;

Neste algoritmo percorre-se um lao que comea com o valor da varivel primElem e executado at que todos os elementos da lista listaArq sejam recuperados. A varivel primElem possui o valor 0 se o usurio selecionou os arquivos a serem anexados do diretrio padro do Cartavox e possui o valor 1 se o usurio escolheu outro diretrio para selecionar os seus arquivos. J contemDir, uma varivel booleana, que possui valor falso se o usurio selecionou seus arquivos do diretrio padro do Cartavox e possui valor verdadeiro se o usurio selecionou os arquivos de outro diretrio. Desta forma, se o usurio selecionou seus arquivos de outro diretrio, o lao comea sua execuo com o valor 1 e a condio da terceira linha do algoritmo verdadeira. Neste caso a quarta linha do algoritmo ser executada em cada iterao do lao. Nesta linha a varivel nomeArqAttach concatena o elemento da primeira posio da lista (nome do diretrio de onde o usurio selecionou os arquivos) com um elemento de outra posio da lista (nome do arquivo a ser anexado). Depois o arquivo anexado mensagem utilizando a varivel nomeArqAttach (linha 7). Os valores recebidos pela varivel nomeArqAttach a cada iterao do lao podem ser vistos no exemplo abaixo. 1 iterao: nomeArqAttach := listaArq[0] + listaArq[1] 2 iterao: nomeArqAttach := listaArq[0] + listaArq[2] 3 iterao: nomeArqAttach := listaArq[0] + listaArq[3] ... No caso do usurio ter selecionado seus arquivos do diretrio padro do Cartavox, a varivel primElem igual a 0, assim o lao comea sua execuo com o valor 0 e com a varivel contemDir possuindo valor falso. Desse jeito a estrutura condicional seno da quinta linha do algoritmo ser verdadeira em todas as

93

iteraes do lao. Os valores recebidos pela varivel nomeArqAttach durante o lao neste caso podem ser vistos no exemplo abaixo. 1 passagem: nomeArqAttach := dirAtual + listaArq[0] 2 passagem: nomeArqAttach := dirAtual + listaArq[1] 3 passagem: nomeArqAttach := dirAtual + listaArq[2] ... Como pode ser observado no exemplo, a string nomeArqAttach recebe a varivel dirAtual, que contm o nome do diretrio padro do Cartavox e o concatena com o nome do arquivo que est na lista. Depois disso, a stima linha do algoritmo executada, onde o valor especificado em nomeArqAttach usado para anexar o arquivo mensagem. Em um terceiro caso as duas estruturas condicionais (se e seno) sero falsas. Isto vai acontecer quando, ao responder a pergunta Nome do arquivo a enviar, em vez de pressionar o cursor para baixo para ter acesso lista de arquivos de algum diretrio, o usurio escreve diretamente o nome do diretrio seguido pelo nome do arquivo e pressiona a tecla Enter. Neste caso apenas um arquivo ser anexado mensagem, conseqentemente, a lista listaArq, que contm os nomes dos arquivos a serem anexados, vai conter apenas um elemento. Com a lista contendo apenas um elemento, o lao ter apenas uma iterao, a qual suficiente para anexar o arquivo pedido pelo usurio. Alm disso, neste caso a string nomeArqAttach j est montada com o nome do diretrio seguido do nome do arquivo. Assim, o algoritmo avana diretamente para a ltima linha do pseudocdigo mostrado no Quadro 31, onde a string nomeArqAttach usada para anexar o arquivo mensagem.

94

4 CONSIDERAES FINAIS
Ao finalizar o Trabalho de Concluso possvel afirmar que as

funcionalidades que foram desenvolvidas tornam o Cartavox mais completo e ajudam a suprir as necessidades de seus usurios, contribuindo para viabilizar o acesso s TICs para um grande nmero de pessoas e proporcionando, dessa maneira, acessibilidade digital. Durante o desenvolvimento do trabalho existiram algumas dificuldades em trabalhar com o Delphi 6, plataforma utilizada para desenvolvimento do Dosvox, pois hoje este ambiente j obsoleto. A primeira dificuldade foi encontrar um lugar onde estivesse disponvel para download o Delphi 6 Personal, verso freeware do ambiente, pois ela no est mais disponvel para download no site da Borland, que o desenvolvedor da linguagem. Outro problema que a ltima verso do Windows compatvel com o Delphi 6 o Windows Millenium, que foi lanado h mais de dez anos, sendo ento necessrio fazer algumas alteraes de segurana no Windows 7 para que o Delphi pudesse ser executado, como, por exemplo, dar a permisso de controle total na pasta "Bin" do Delphi 6 para o usurio utilizado na mquina. Tambm surgiram alguns empecilhos enquanto o trabalho estava sendo

desenvolvido, como, por exemplo, durante a utilizao da opo de depurao do Delphi 6, os breakpoints adicionados param de funcionar freqentemente, necessitando reconstruir o projeto para que eles voltem a funcionar. Este trabalho proporcionou uma experincia interessante de participao na comunidade de software livre atravs do desenvolvimento distribudo. De um lado, possvel afirmar que os membros da comunidade so bastante acessveis e amigveis com os novos colaboradores; esto sempre abertos para discusses sobre melhorias do ambiente; demonstraram interesse no desenvolvimento que realizamos, respondendo prontamente nossas perguntas; so bastante ativos nas listas de discusso da comunidade, onde usurios do Dosvox relatam

problemas/melhorias que poderiam ser realizados no ambiente e os discutem com a comunidade de desenvolvedores. De outro, foi possvel notar que a documentao do ambiente quase inexistente; no existe um espao de uso comum onde se possa obter a informao sobre o que est sendo desenvolvido e por quem; no compartilhada a memria de sugestes dos usurios e/ou se estas sugestes foram

95

desenvolvidas ou no; no existe um controle de verso, dificultando o trabalho paralelo das diversas equipes de desenvolvimento. Para a validao das melhorias implementadas, a cada funcionalidade que era concluda, ela era enviada para a equipe de desenvolvimento do Dosvox. Assim, eles testavam a nova funcionalidade e davam o retorno para informar se estava tudo certo. Caso fosse encontrado algum defeito ou alguma opo no estivesse funcionando dentro do esperado eles avisam-nos para que fosse feita a correo. Dessa forma, depois que todas as funcionalidades foram concludas e validadas pela equipe do Dosvox, o programa foi liberado na lista Voxtec, que a lista de discusso dos usurios do Dosvox, para os usurios testarem. O programa Cartavox foi disponibilizado aos usurios com uma nova verso, a 5.7 beta (a anterior era 5.6b). A palavra "beta" foi colocada na verso, pois a verso definitiva com as novas melhorias desenvolvidas ser lanada aps a validao dos usurios e ser includa na prxima verso do Dosvox (verso 4.2). Tambm possvel relatar que a informalidade domina a forma de trabalho na comunidade de software livre. Apesar dos requisitos estarem acordados com a equipe tcnica, alteraes no cdigo eram freqentemente realizadas pelas decises tomadas atravs de discusses realizadas por correio eletrnico. Dessa forma, medida que os prottipos eram enviados para a equipe tcnica para validao, algumas alteraes tiveram que ser feitas no cdigo para que as necessidades dos usurios fossem atendidas. Por exemplo, no folheamento das mensagens do servidor, inicialmente a tecla T (de trazer) foi utilizada para trazer as mensagens para o Cartavox, mas, aps a orientao da equipe tcnica, alterou-se a tecla utilizada para a tecla R (de receber), pois dessa maneira ficaria mais intuitivo para os usurios. As principais alteraes de projeto que ocorreram foram as incluses de duas opes alm das que estavam acertadas. A primeira incluso foi na funcionalidade de resposta automtica. Foi solicitada uma opo para o usurio poder preparar respostas para as suas mensagens automaticamente utilizando o texto da resposta automtica criada por ele. A segunda incluso foi pedida na funcionalidade grupo de contas, onde foi includa uma opo para sintetizar ao usurio, para cada conta presente no grupo de contas, o total de mensagens preparadas, o total de mensagens no lidas, o total de mensagens lidas e o total de mensagens transmitidas.

96

O trabalho desenvolvido foi apresentado no XIV Encontro Dosvox que ocorreu de 11 a 13 de novembro de 2011 em Gois, na cidade de Goinia. O trabalho foi apresentado pelo Neno Albernaz, membro da equipe tcnica do Dosvox que ajudou nos testes e na validao das funcionalidades desenvolvidas. A apresentao teve transmisso em cinco rdios Web diferentes, que so as seguintes: Rdio Mundocegal, Rdio Vanmix, WM Digital, Nossa rdio e Rdio Dosvox. Assim, pelo interesse em apresentar o trabalho no evento por parte da equipe tcnica, foi possvel notar a satisfao deles quanto aos resultados obtidos. Alm disso, o trabalho tambm foi apresentado no 12 Frum Internacional Software Livre (fisl12) e na Feira das Profisses 2011, ambos os eventos ocorridos na PUCRS, na cidade de Porto Alegre. Apesar da proposta de trabalho ser um conjunto bastante ambicioso de funcionalidades, todos os itens especificados foram devidamente desenvolvidos, testados e validados. Dessa forma, possvel afirmar que todos os objetivos do trabalho foram atingidos. Ademais, importante ressaltar a nossa satisfao em ter realizado este trabalho, pois as funcionalidades desenvolvidas vo ser utilizadas por um grupo significativo de pessoas, contribuindo assim para a sociedade e bem-estar do ser humano. Assim que o trabalho foi disponibilizado na lista Voxtec, os usurios se manifestaram de maneira satisfatria quanto s novidades do programa, mostrando o valor que o trabalho possui para as pessoas com deficincia visual. Aqui so expostos alguns dos feedbacks recebidos dos usurios: Ol! adorei essa nova verso. valeu!, Ainda no tive muito tempo de testar, mas amei essa nova verso do Cartavox. Parabns!, Opa! A novidade tima, valeu!, Parabns, ficou muito bom.. Alm disso, o desenvolvimento de todas as funcionalidades propostas, somado ao fato de sempre estarmos prontos para a correo de eventuais problemas, tambm gerou o reconhecimento do trabalho realizado por parte da equipe tcnica. Alguns dos relatos da equipe tcnica acerca do trabalho foram os seguintes: Vocs fizeram um timo trabalho! Ficou muito bom!, Est muito bom. Tenho usado bastante a opo K R (recebimento de mensagens para as contas do grupo de contas) e testei bastante as outras tambm., Estou vendo o folheamento interativo (de mensagens do servidor) e gostando muito! Ficou muito bom!.

97

5 TRABALHOS FUTUROS
Apesar de existirem muitas pessoas e grupos que contribuem e trabalham para o desenvolvimento do Dosvox, ainda existem diversas melhorias que podem ser feitas. Quando discutido com a equipe de desenvolvimento do Dosvox, foi levantada uma lista de melhorias que ainda precisavam ser feitas no Cartavox. Com a finalizao desse trabalho, foram desenvolvidos todos os itens da lista, com exceo da implementao do protocolo IMAP. Dessa forma, prope-se a implementao do protocolo IMAP no Cartavox, que permitiria o acesso a mensagens e pastas diretamente no servidor, entre outras vantagens. Alm disso, existem outras melhorias necessrias ao Cartavox que foram observadas durante o desenvolvimento. As senhas gravadas no arquivo de configuraes do Cartavox so codificadas utilizando o codificador Mime64, que no concede a segurana necessria para as senhas guardadas pelos usurios. Assim, recomenda-se o desenvolvimento de um algoritmo para criptografar as senhas guardadas pelos usurios, o que tornaria o processo de gravar as senhas seguro. Tambm se sugere que o modo de gravar as contas no Cartavox seja alterado, pois quando uma conta criada, o programa no pergunta se o usurio deseja gravar a conta no Cartavox. Dessa maneira, para o usurio gravar uma conta, ele tem que entrar novamente no menu de configuraes do Cartavox, o que no muito intuitivo, porque existe a possibilidade do usurio achar que a conta gravada no Cartavox no momento em que ela criada. Ento se prope o desenvolvimento de uma opo para perguntar ao usurio se ele deseja gravar a conta logo depois que ela criada. Quanto ao ambiente Dosvox, aconselha-se uma forma de melhorar a sua portabilidade, de modo que os usurios possam utilizar as suas configuraes em diferentes computadores. Para isto, poderia ser desenvolvida uma opo que permitiria ao usurio escolher o diretrio do computador em que as configuraes do Dosvox ficam gravadas. Desse modo, o usurio poderia, por exemplo, gravar suas configuraes em um pen-drive e depois utiliz-las em qualquer computador. Outra aplicao do Dosvox onde h necessidade do desenvolvimento de melhorias o editor de texto do Dosvox, o Edivox. Algumas das opes que

98

precisam ser desenvolvidas no Edivox, conforme informao da equipe tcnica do Dosvox, so: - Inserir nmero de pginas; - Inserir figuras; - Inserir tabelas; - Configurar espaamento entre linhas; - Inserir recuo a esquerda; - Colocar notas de rodap; - Permitir que nmeros possam ser subscritos e sobrescritos; - Inserir molduras. Outra possibilidade o desenvolvimento de jogos de digitao para o Digitavox, possibilitando ao deficiente visual o treinamento da digitao de forma ldica. Digitavox um programa do Dosvox desenvolvido na linguagem Python que oferece um curso de digitao para os deficientes visuais, o programa foi desenvolvido na Dissertao de Mestrado "Digitavox: Curso de digitao para deficientes visuais." [32], realizada pelo desenvolvedor do Dosvox Neno Henrique da Cunha Albernaz. Como as teclas de atalho do Dosvox no seguem o padro adotado pelo W3C (World Wide Web Consortiun), tambm se sugere a padronizao das teclas de atalho do Dosvox seguindo as diretrizes estabelecidas pelo W3C, que um consrcio internacional de padres voltado especificamente para a construo de padres na Web [33]. Este estabeleceu Diretrizes para Acessibilidade do Contedo Web 1.0 (Web Content Accessibility Guidelines - WCAG 1.0) e Diretrizes para Acessibilidade do Contedo Web 2.0 (Web Content Accessibility Guidelines - WCAG 2.0) [34] que so as principais referncias em termos de acessibilidade Web no mundo. Esses documentos trazem diretrizes para tornar o contedo Web acessvel a pessoas com deficincias [35]. Apesar da alta aceitao do Cartavox por parte de seus usurios, ele desenvolvido com o ambiente Delphi, que limitado comparado com ambientes mais modernos. Portanto se sugere a migrao do Cartavox para uma nova plataforma de desenvolvimento.

99

6 REFERNCIAS
[1] TEMPORINI, Edma Rita; NEWTON, Kara-Jos. A perda da viso Estratgias de preveno. 2004. Disponvel em: <http://www.scielo.br/pdf/abo/v67n4/21405.pdf>. Acesso em: 21 mar. 2011. [2] SILVEIRA, Clvis da; REIDRICH, Regina de Oliveira; BASSINI, Patrcia Brandalise Scherer Bassani. Avaliao das tecnologias de softwares existentes para a Incluso Digital de dEficientes visuais atravs da utilizao de Requisitos de qualidade. V. 5, n. 1, 2007. Disponvel em: <www.cinted.ufrgs.br/ciclo9/artigos/10bClovis.pdf>. Acesso em: 17 mar. 2011. [3] FERREIRA, Simone Bacellar Leal; CHAUVEL, Marie Agnes; FERREIRA, Marcos G. do Amaral Leal. E-Acessibilidade: Tornando Visvel o Invisvel. Salvador, 2006. Disponvel em: <http://www.francosampaio.com/urcamp/209-aplicativos/artigo31ago09.pdf>. Acesso em: 17 mar. 2011. [4] Projeto Dosvox. Disponvel em: <http://intervox.nce.ufrj.br/dosvox/>. Acesso em: 17 mar. 2011. [5] MACIEL, Tamires Pinheiro. Acessibilidade Digital: Melhorias no programa CARTAVOX. Pontifcia Universidade Catlica do Rio Grande do Sul (PUCRS), Porto Alegre, 2010. [6] IBGE. Censo 2010. Disponvel em: <http://www.ibge.gov.br/censo2010/>. Acesso em: 05 abr. 2011. [7] SILVA, Diego Furtado; LEITE, Esdras Degaspari; SHIMIZU, Geovane Mitsuki Cazo; FIORAVANTI, Maria Lydia. Acessibilidade em computadores e seu impacto na sociedade. Universidade de So Paulo (USP), So Carlos, 2010. Disponvel em: <http://wiki.icmc.usp.br/images/8/8c/SCC0207Cristina_Grupo1Artigo.pdf>. Acesso em: 25 mar. 2011. [8] VALENCIO, Norma; SIENA, Mariana; MARCHEZINI, Victor; GONALVES, Juliano Costa (org.). Sociologia dos Desastres; Construo, Interfaces e Perspectivas no Brasil. So Carlos: Rima, 2009. Disponvel em: <http://www.pol.org.br/pol/export/sites/default/pol/noticias/noticiaDocumentos/livrosociologia-dos-desastres-versao-eletronica.pdf#page=121>. Acesso em: 25 mar. 2011. [9] MICHELINE, Marcos; OKIMOTO, Lucia; SCHEER, Srgio; WIGINESCKI, Beatriz. Avaliao e Anlise de Acessibilidade de um Deficiente Fsico Motor, Atravs do Software Catia, em Habilitaes de Interesse Social. Disponvel em: <http://www.cesec.ufpr.br/workshop2007/Artigo-25.pdf>. Acesso em: 26 mar. 2011. [10] CAMPOS, Mrcia de Borba. Promoo da acessibilidade na Web como recurso para incluso e permanncia de acadmicos com necessidades educacionais especiais. Pontifcia Universidade Catlica do Rio Grande do Sul (PUCRS), Porto Alegre. Disponvel em: <http://ceiesbc.educacao.ws/pub/index.php/sbie/article/viewFile/471/457>. Acesso em: 26 mar. 2011.

100

[11] AMORIM, Joni A.; SILVA, Mariana da Rocha C.. Produo de Multimdia e Acessibilidade em Cursos de Aprendizagem a Distncia. Campinas, v.10, n.2, 2009. Disponvel em: <http://www.fae.unicamp.br/revista/index.php/etd/article/view/2017/1840>. Acesso em: 26 mar. 2011. [12] ROMO, Manoel Honrio; COSME, ria Caline Saraiva. Utilizao de Softwares Leitores de Tela como Coadjuvante no Processo de Aprendizagem de Pessoas com Deficincia Visual. 2010. Disponvel em: <http://www2.ifrn.edu.br/ojs/index.php/HOLOS/article/viewDownloadInterstitial/556/3 86>. Acesso em: 26 mar. 2011. [13] TORRES, Elisabeth Ftima; MAZZONI, Alberto Angel; ALVES, Joo Bosco da Mota. A acessibilidade informao no espao digital. Braslia, v. 31, n. 3, 2002. Disponvel em: <http://www.scielo.br/pdf/ci/v31n3/a09v31n3.pdf>. Acesso em: 26 mar. 2011. [14] COSTA, Leonardo Figueiredo. Incluso Digital: conceitos, modelo e semnticas. Universidade Federal da Bahia, 2006. Disponvel em: <http://www.intercom.org.br/papers/nacionais/2007/errata2006/R1485-1.pdf>. Acesso em: 27 mar. 2011. [15] PASSERINO, Liliana Maria; MONTARDO, Sandra Portella. Incluso social via acessibilidade digital: Proposta de incluso digital para Pessoas com Necessidades Especiais (PNE). Braslia, v. 8, 2007. Disponvel em: <http://www.compos.org.br/seer/index.php/e-compos/article/view/144/145>. Acesso em 25 mar. 2011. [16] BERSCH, Rita. Introduo Tecnologia Assistiva. Porto Alegre: Ed. Artmed, 2005. Disponvel em: <http://www.nec.fct.unesp.br/TA/3ed/material/m2s1a1_introducao_ta_rita_bersch.pdf >. Acesso em: 25 mar. 2011. [17] WebAnywhere. Disponvel em: <http://webanywhere.cs.washington.edu/>. Acesso em: 25 mar. 2011. [18] REIS, Christian Robottom. Caracterizao de um Processo de Software para Projetos de Software Livre. Universidade de So Paulo (USP), So Paulo, 2003. Disponvel em: <http://www.async.com.br/~kiko/dissert.pdf>. Acesso em: 30 mar. 2011. [19] VICENTIN, Ivan Carlos. Desenvolvimento de software livre no Brasil: estudo sobre a percepo dos envolvidos em relao s motivaes ideolgicas e de negcios. So Paulo, 2007. Disponvel em: <http://www.teses.usp.br/teses/disponiveis/12/12139/tde-09062008114452/publico/TESE_IVAN_CARLOS_VICENTIN.pdf>. Acesso em: 30 mar. 2011. [20] Software Livre Brasil. Disponvel em: <http://softwarelivre.org/>. Acesso em: 16 nov. 2011. [21] HERNNDEZ, Jordi Mas i. Software livre no setor pblico. IV Frum Internacional Software Livre, 2003. Disponvel em:

101

<http://eprints.rclis.org/bitstream/10760/4388/1/brasiler.pdf>. Acesso em: 30 mar. 2011. [22] UFRJ. Projetos de acessibilidade do NCE/UFRJ. <http://intervox.nce.ufrj.br/>. Acesso em: 05 abr. 2011. Disponvel em:

[23] CARDOSO, Dbora Rossini M.; D'ASCENZI, Ina Fricke; NETO, Jos Monserrat. Dosvox: a Histria de uma Revoluo entre os Cegos. Universidade Federal de Lavras (UFLA), Lavras, Minas Gerais, v. 2, n. 2, 2009. Disponvel em: <http://algol.dcc.ufla.br/~monserrat/download/Historia_DOSVOX.pdf>. Acesso em: 21 mar. 2011. [24] BORGES, Antnio Jos. Dosvox: uma nova realidade educacional para deficientes visuais. Rio de Janeiro, n. 3, 1996. Disponvel em: <http://cmapspublic.ihmc.us/rid=1071924115708_1721100387_2057/artfoz.doc>. Acesso em: 17 mar. 2011. [25] ZHU, Shaobin. Patent Rights Under FOSS Licensing Schemes. 4 Shidler J. L. Com. & Tech, junho, 2007. Disponvel em: <http://digital.law.washington.edu/dspacelaw/bitstream/handle/1773.1/404/vol4_no1_art4.pdf?sequence=1>. Acesso em: 15 nov. 2011. [26] CAMPOS, Augusto. O que software livre. BR-Linux. Florianpolis, maro, 2006. Disponvel em <http://br-linux.org/linux/faq-softwarelivre>. Acesso em: 15 nov. 2011. [27] LOPES, urea. ARede: Tecnologia para Incluso Digital. Na Escola. 73 ed. Setembro, 2011. Disponvel em: <http://www.arede.inf.br/inclusao/edicoesanteriores/183-edicao-no-73-setembro2011/4707-na-escola>. Acesso em: 16 nov. 2011. [28] MARTINS, Frederico de Rezende. Desenvolvimento de Software Ldico de Simulao Logstica - Aplicao de Metodologias de Projeto de Produto e Engenharia de Software. Universidade Federal de Juiz de Fora (UFJF), Juiz de Fora, 2006. Disponvel em: <http://www.fmepro.org/XP/editor/assets/DownloadsEPD/TCC_fev2006_FredericoRe zende.pdf>. Acesso em: 01 abr. 2011. [29] PEREIRA, Paulo Roberto Alves. Desenvolvendo Aplicaes para Bancos de Dados Desktop com Borland Delphi 6. 2002. Disponvel em: <http://www.etelg.com.br/paginaete/downloads/informatica/delphi6bd.pdf>. Acesso em: 01 abr. 2011. [30] CAMARA, Fbio. Conhecendo o Delphi 6. Florianpolis: Visual Books, 2001. [31] Borland Press. Borland Delphi 6 Passo A Passo Lite. So Paulo: Makron Books, 2002. [32] ALBERNAZ, Neno Henrique da Cunha. Digitavox: Curso de digitao para deficientes visuais. Universidade Federal do Rio de Janeiro (UFRJ), Rio de Janeiro, 2011. Disponvel em: <teses2.ufrj.br/15/teses/761260.pdf>. Acesso em: 16 nov. 2011.

102

[33] MELO, Lafayette B.. Construindo acessibilidade em materiais didtico pedaggicos digitais. Ncleo de Aprendizagem Virtual (NAV) - Centro Federal de Educao Tecnolgica da Paraba (CEFET-PB), Joo Pessoa. Disponvel em: <http://200.169.53.89/download/CD%20congressos/2008/SBIE/minicursos/Minicurso %203%20%20Construindo%20acessibilidade%20em%20materiais%20did%C3%A1ticopedag%C3%B3gicos%20digitais.pdf>. Acesso em: 08 dez. 2011. [34] SOARES, Fernando S.; JAQUES, Rafael R.; KADE, Adrovane M.; ROSITO, Maurcio C.. Acessibilidade em Editores de Texto para a Web: um Estudo Comparativo. II Salo de Iniciao Cientfica, Bento Gonalves, 2010. Anais. Instituto Federal de Educao, Cincia e Tecnologia do Rio Grande do Sul. Disponvel em: <http://bd.iff.edu.br/acervo/acessibilidade-em-editores-de-texto-paraa-web-um-estudo-comparativo/at_download/file>. Acesso em: 08 dez. 2011. [35] SONZA, Andra Poletto; SANTAROSA, Lucila; CONFORTO, Dbora. Ambientes virtuais acessveis sob a perspectiva de usurios deficientes visuais. Universidade Federal do Rio Grande do Sul, Porto Alegre, 2008. Disponvel em: <http://www.lume.ufrgs.br/bitstream/handle/10183/14661/000666392.pdf?sequence= 1>. Acesso em: 08 dez 2011.

103

APNDICE A Casos de Uso Detalhados


Neste apndice apresentado o detalhamento dos oito casos de uso mostrados no Diagrama de Casos Uso, os quais serviram de base para implementao das funcionalidades propostas. Identificao Nome Atores Pr-condies Ps-condies Descrio UC1 Folhear as Mensagens Eletrnicas no Servidor Usurio Existir mensagens eletrnicas no servidor de correio eletrnico. Mensagens eletrnicas trazidas para o Cartavox e/ou deletadas do correio eletrnico. Folhear as mensagens eletrnicas no servidor de correio eletrnico com a opo de trazer as mensagens para o Cartavox e/ou delet-las do servidor. Fluxos de Eventos Fluxo Principal de Eventos Ao do Ator 1. Usurio entra na opo para folhear as mensagens no servidor. 3. Usurio digita sua senha. (A2) 5. Usurio marca e desmarca as mensagens at apertar a opo desejada. 7. Usurio aperta T ou ENTER para trazer para o Cartavox as mensagens marcadas. (A2) (A4) (A5) Resposta do Sistema 2. Sistema verifica se senha est gravada na configurao de conta do usurio. (A1) 4. Sistema valida senha do usurio e exibe lista de mensagens do servidor. (A3) 6. Sistema marca e desmarca as mensagens. 8. Sistema traz as mensagens para o Cartavox e volta para o passo 5.

Fluxos alternativos Fluxo alternativo A1: Senha est gravada na configurao da conta. Resposta do Sistema 1. Sistema vai ao passo 5 do fluxo principal. Fluxo alternativo A2: Sair do folheamento de mensagens no servidor. Ao do Ator 1. Usurio aperta ESC. Resposta do Sistema 2. Sistema encerra conexo com o servidor e volta ao menu inicial do Cartavox.

Fluxo alternativo A3: Senha incorreta. Resposta do Sistema 1. Sistema encerra conexo com servidor e volta ao menu inicial do Cartavox.

104 Fluxo alternativo A4: Apagar as mensagens do servidor. Ao do Ator Resposta do Sistema 1. Usurio aperta A ou F7 para apagar 2. Sistema apaga as mensagens do servidor do servidor as mensagens marcadas. e volta para o passo 5 do fluxo principal. Fluxo alternativo A5: Apagar as mensagens do servidor e traz-las para o Cartavox. Ao do Ator Resposta do Sistema 1. Usurio aperta P para apagar do 2. Sistema apaga as mensagens do servidor e trazer para o Cartavox as servidor, as traz para o Cartavox e volta mensagens marcadas. para o passo 5 do fluxo principal.

105 Identificao Nome Atores Pr-condies Ps-condies Descrio UC2 Monitorar Contas Usurio Usurio ter uma ou mais contas selecionadas no Controle conjunto de contas. Contas monitoradas. Monitorar as contas do usurio que esto selecionadas no Controle conjunto de contas. Fluxos de Eventos Fluxo Principal de Eventos Ao do Ator 1. Usurio aperta a tecla M para entrar na opo Monitorar contas do Controle conjunto de contas. 3. Usurio escolhe o tempo para ocorrer o re-monitoramento. (A2) Resposta do Sistema 2. Sistema verifica se as senhas das contas esto gravadas e pergunta ao usurio aps quantos segundos as contas devem ser re-monitoradas. (A1) 4. Sistema grava a resposta e pergunta se o usurio deseja que o sistema emita um aviso apenas quando chegarem mensagens novas. 6. Sistema grava a resposta e pergunta se o usurio deseja trazer as mensagens novas que chegarem aos servidores automaticamente. 8. Sistema fica monitorando as contas e fica trazendo as mensagens novas que chegam s contas at que o usurio aperte ESC. 10. Sistema cancela o monitoramento, informa quantas mensagens recebeu e volta para o menu principal. Fluxos alternativos Fluxo alternativo A1: Senha de uma das contas no est gravada. Ao do Ator Resposta do Sistema 1. Sistema constata que a senha de uma conta no est gravada. 3. Sistema valida a senha e volta ao passo 2 do fluxo principal. (A5)

5. Usurio aperta S para que o sistema emita um aviso a cada remonitoramento somente quando chegarem mensagens novas. (A2) (A3) 7. Usurio aperta S para que as mensagens sejam trazidas automaticamente. (A2) (A4) 9. Usurio aperta a tecla ESC.

2. Usurio informa a senha da conta.

Fluxo alternativo A2: Sair da tela Monitorar contas. Ao do Ator 1. Usurio aperta a tecla ESC. Resposta do Sistema 2. Sistema volta ao menu inicial do Cartavox.

106 Fluxo alternativo A3: Sempre emitir um aviso a cada re-monitoramento. Ao do Ator 1. Usurio aperta N para que o sistema emita um aviso a cada remonitoramento mesmo se no chegarem mensagens novas. Resposta do Sistema 2. Sistema grava a resposta, pergunta se o usurio deseja trazer as mensagens novas que chegarem aos servidores automaticamente e vai para o passo 7 do fluxo principal.

Fluxo alternativo A4: No trazer as mensagens automaticamente. Ao do Ator 1. Usurio aperta N para que as mensagens no sejam trazidas automaticamente. 3. Usurio aperta a tecla ESC. Resposta do Sistema 2. Sistema fica monitorando as contas at que o usurio aperte ESC. 4. Sistema cancela o monitoramento e chama o caso de uso UC3 - Receber Mensagens, para receber as novas mensagens manualmente.

Fluxo alternativo A5: Senha invlida. Ao do Ator Resposta do Sistema 1. Sistema constata que a senha informada no valida e pergunta se o usurio deseja digit-la novamente. 3. Sistema volta ao passo 2 do fluxo alternativo A1.

2. Usurio aperta S para digitar a senha novamente. (A2) (A6)

Fluxo alternativo A6: No digitar a senha novamente. Ao do Ator Resposta do Sistema 1. Usurio aperta N para no digitar a 2. Sistema informa que a conta no ser senha novamente. monitorada e volta ao passo 2 do fluxo principal.

107 Identificao Nome Atores Pr-condies Ps-condies Descrio UC3 Receber Mensagens Eletrnicas Usurio Existir uma ou mais contas de correio eletrnico gravadas no Cartavox. Existir contas selecionadas no Controle conjunto de contas. Mensagens eletrnicas das contas selecionadas trazidas para o Cartavox. Receber as mensagens eletrnicas para as contas selecionadas. Fluxos de Eventos Fluxo Principal de Eventos Ao do Ator 1. Usurio aperta a tecla R para entrar na opo Receber cartas do menu Controle conjunto de contas. 3. Usurio aperta a tecla S para trazer as mensagens para o Cartavox interativamente. (A2) (A9) 5. Usurio aperta a tecla S para trazer a mensagem para o Cartavox. (A3) (A9) Resposta do Sistema 2. Sistema verifica se senha est gravada na configurao da conta do usurio. (A1) 4. Sistema l as informaes da mensagem a ser recebida. 6. Sistema traz a mensagem para o Cartavox e se tem mais mensagens na conta, volta para o passo 4. (A4)

Fluxos alternativos Fluxo alternativo A1: Senha no est gravada na configurao da conta. Ao do Ator Resposta do Sistema 1. Sistema constata que a senha no est gravada na configurao de conta do usurio. 3. Sistema valida senha do usurio e vai para o passo 3 do fluxo principal. (A5)

2. Usurio digita a senha da conta. (A9)

Fluxo alternativo A2: Trazer as mensagens de forma no interativa. Ao do Ator Resposta do Sistema 1. Usurio aperta a tecla N para no 2. Sistema traz todas as mensagens da trazer as mensagens interativamente. conta para o Cartavox e se ainda tem mais contas para receber mensagens, volta ao passo 2 do fluxo principal. (A6) Fluxo alternativo A3: No trazer a mensagem. Ao do Ator Resposta do Sistema 1. Usurio aperta a tecla N para no 2. Sistema pergunta se deseja apagar a trazer a mensagem para o Cartavox. mensagem do servidor. 3. Usurio aperta a tecla S para apagar a mensagem do servidor. (A7) (A9) 4. Servidor apaga a mensagem e se tem mais mensagens na conta, volta ao passo

108 4 do fluxo principal. (A4) Fluxo alternativo A4: No tem mais mensagens na conta. Resposta do Sistema 1. Se ainda tem mais contas para receber mensagens, volta ao passo 2 do fluxo principal. (A6) Fluxo alternativo A5: Senha incorreta. Ao do Ator Resposta do Sistema 1. Sistema constata que a senha digitada pelo usurio est incorreta e pede para o usurio digit-la novamente. 3. Sistema volta para o passo 2 do fluxo alternativo A1.

2. Usurio aperta a tecla S para digitar a senha novamente. (A8) (A9)

Fluxo alternativo A6: No tem mais contas para receber mensagens. Resposta do Sistema 1. Sistema volta ao menu inicial do Cartavox. Fluxo alternativo A7: No apagar a mensagem do servidor. Ao do Ator Resposta do Sistema 1. Usurio aperta a tecla N para no 2. Sistema mantm a mensagem no servidor apagar a mensagem do servidor. e se tem mais mensagens na conta, sistema volta ao passo 4 do fluxo principal. (A4) Fluxo alternativo A8: No digitar a senha novamente. Ao do Ator 1. Usurio aperta a tecla N para no digitar senha novamente. Resposta do Sistema 2. Sistema informa que no receber mensagens dessa conta e se ainda tem mais contas para receber mensagens volta para o passo 2 do fluxo principal. (A6)

Fluxo alternativo A9: Sair da tela Receber cartas. Ao do Ator 1. Usurio aperta a tecla ESC. Resposta do Sistema 2. Sistema volta ao menu inicial do Cartavox.

109 Identificao Nome Atores Pr-condies Ps-condies Descrio UC4 Transmitir Mensagens Eletrnicas Usurio Existir uma ou mais contas de correio eletrnico gravadas no Cartavox. Existir contas selecionadas no Controle conjunto de contas para transmitir mensagens. Mensagens eletrnicas das contas selecionadas transmitidas. Transmitir as mensagens eletrnicas preparadas para serem transmitidas das contas selecionadas. Fluxos de Eventos Fluxo Principal de Eventos Ao do Ator 1. Usurio aperta a tecla T para entrar na opo Transmitir cartas do menu Controle conjunto de contas. Resposta do Sistema 2. Sistema verifica se senha est gravada na configurao da conta do usurio, transmite as mensagens preparadas para serem transmitidas e se tem mais contas para transmitir mensagens repete o passo 2. (A1) (A2)

Fluxos alternativos Fluxo alternativo A1: Senha no est gravada na configurao da conta. Ao do Ator Resposta do Sistema 1. Sistema constata que a senha no est gravada na configurao de conta do usurio. 3. Sistema valida senha do usurio e volta para o passo 2 do fluxo principal. (A4)

2. Usurio digita senha da conta. (A3)

Fluxo alternativo A2: No tem mais contas para transmitir mensagens. Resposta do Sistema 1. Sistema volta ao menu inicial do Cartavox. Fluxo alternativo A3: Sair da tela Transmitir cartas. Ao do Ator 1. Usurio aperta a tecla ESC. Fluxo alternativo A4: Senha incorreta. Ao do Ator Resposta do Sistema 1. Sistema constata que a senha digitada pelo usurio est incorreta e pede para o usurio digit-la novamente. 3. Sistema volta para o passo 2 do fluxo alternativo A1. Resposta do Sistema 2. Sistema volta ao menu inicial do Cartavox.

2. Usurio aperta a tecla S para digitar a senha novamente. (A3) (A5)

110 Fluxo alternativo A5: No digitar a senha novamente. Ao do Ator Resposta do Sistema 1. Usurio aperta a tecla N para no 2. Sistema informa que no transmitir digitar senha novamente. mensagens dessa conta e se ainda tem mais contas para transmitir mensagens, volta para o passo 2 do fluxo principal. (A2)

111 Identificao Nome Atores Pr-condies Ps-condies Descrio UC5 Selecionar Contas Usurio Existir uma ou mais contas de correio eletrnico gravadas no Cartavox. Contas selecionadas ou no selecionadas para serem usadas nas opes receber cartas, transmitir cartas e monitorar contas. Selecionar as contas ou tirar as contas que so usadas nas opes receber cartas, transmitir cartas e monitorar contas. Fluxos de Eventos Fluxo Principal de Eventos Ao do Ator Resposta do Sistema 1. Usurio aperta a tecla S para entrar 2. Sistema entra na opo Selecionar contas na opo Selecionar contas do menu do menu Controle conjunto de contas. Controle conjunto de contas. 3. Usurio aperta a tecla A para entrar na opo de selecionar as contas. (A1) (A2) 5. Usurio marca as contas que deseja selecionar. (A2) 7. Usurio aperta ENTER para selecionar as contas marcadas. (A2) 4. Sistema mostra lista com nome de todas as contas que no esto sendo usadas no controle conjunto das contas. 6. Sistema marca as contas. 8. Sistema seleciona as contas marcadas e volta para o menu inicial do Cartavox.

Fluxos alternativos Fluxo alternativo A1: Entrar na opo para tirar contas que esto sendo usadas no controle conjunto das contas. Ao do Ator Resposta do Sistema 1. Usurio aperta a tecla D para entrar 2. Sistema mostra lista com nome de todas na opo de tirar as contas que esto as contas que esto sendo usadas no sendo usadas no controle conjunto controle conjunto das contas. das contas. 3. Usurio marca as contas que deseja tirar. (A2) 5. Usurio aperta ENTER para tirar as contas marcadas. (A2) 4. Sistema marca as contas. 6. Sistema tira as contas marcadas do controle conjunto das contas e volta para o menu inicial do Cartavox.

Fluxo alternativo A2: Sair da tela Selecionar contas. Ao do Ator 1. Usurio aperta tecla ESC. Resposta do Sistema 2. Sistema volta ao menu inicial do Cartavox.

112 Identificao Nome Atores Pr-condies Ps-condies Descrio UC6 Ativar/Desativar Resposta Automtica Usurio Usurio estar na tela do menu de Resposta Automtica. Resposta automtica ativada/desativada. Ativar ou desativar a resposta automtica. Fluxos de Eventos Fluxo Principal de Eventos Ao do Ator Resposta do Sistema 1. Usurio aperta a tecla R para entrar 2. Sistema constata que a resposta na opo de ativao/desativao da automtica est desativada e pergunta se o usurio deseja ativ-la. (A1) (A2) resposta automtica. 3. Usurio aperta a tecla S para ativar a resposta automtica. (A3) (A4) 4. Sistema ativa a resposta automtica e volta para o menu principal.

Fluxos alternativos Fluxo alternativo A1: Resposta automtica est ativada. Ao do Ator Resposta do Sistema 1. Sistema constata que a resposta automtica est ativada e pergunta se o usurio deseja desativ-la. 3. Sistema desativa a resposta automtica e volta para o menu principal.

2. Usurio aperta a tecla S para desativar a resposta automtica. (A5)

Fluxo alternativo A2: Resposta automtica no existe e usurio deseja escrev-la. Ao do Ator Resposta do Sistema 1. Sistema constata que a resposta automtica no existe e pergunta se o usurio deseja escrev-la. 3. Sistema chama o caso de uso UC7 Escrever Resposta Automtica.

2. Usurio aperta a tecla S para escrever a resposta automtica. (A6)

Fluxo alternativo A3: Manter resposta automtica desativada. Ao do Ator Resposta do Sistema 1. Usurio aperta a tecla N para manter 2. Sistema mantm a resposta automtica a resposta automtica desativada. desativada e volta para o menu principal. Fluxo alternativo A4: Cancelar ativao/desativao da resposta automtica. Ao do Ator 1. Usurio aperta a tecla ESC. Resposta do Sistema 2. Sistema volta ao menu principal mantendo o estado anterior da resposta automtica (ativada ou desativada).

113 Fluxo alternativo A5: Manter resposta automtica ativada. Ao do Ator Resposta do Sistema 1. Usurio aperta a tecla N para manter 2. Sistema mantm a resposta automtica a resposta automtica ativada. ativada e volta para o menu principal. Fluxo alternativo A6: Resposta automtica no existe e usurio no deseja escrev-la. Ao do Ator Resposta do Sistema 1. Usurio aperta a tecla N para no 2. Sistema volta para o menu principal. escrever a resposta automtica.

114 Identificao Nome Atores Pr-condies Ps-condies Descrio UC7 Escrever Resposta Automtica Usurio Usurio estar na tela de Resposta Automtica. Assunto e texto da resposta automtica gravados no Cartavox. Escrever o assunto e o texto da resposta automtica. Fluxos de Eventos Fluxo Principal de Eventos Ao do Ator 1. Usurio aperta a tecla E para escrever resposta automtica. 3. Usurio digita o assunto da resposta automtica. (A3) 5. Usurio escreve o texto da resposta automtica. (A3) 7. Usurio aperta a tecla S para ativar a resposta automtica. (A4) (A5) Resposta do Sistema 2. Sistema entra na opo para escrever resposta e pergunta ao usurio qual o assunto dela. (A1) (A2) 4. Sistema abre o editor de texto para que o usurio digite o texto da resposta automtica. 6. Sistema grava a resposta automtica e pergunta se o usurio deseja ativ-la. 8. Sistema ativa a resposta automtica e volta para o menu principal do Cartavox.

Fluxos alternativos Fluxo alternativo A1: Editar resposta automtica. Ao do Ator Resposta do Sistema 1. Sistema constata que a resposta automtica j existe e pergunta se o usurio deseja remov-la ou edit-la. 3. Sistema vai ao passo 3 do fluxo principal.

2. Usurio aperta a tecla E para editar a resposta automtica.

Fluxo alternativo A2: Remover resposta automtica. Ao do Ator Resposta do Sistema 1. Sistema verifica que a resposta automtica j existe e pergunta se o usurio deseja remov-la ou edit-la. 3. Sistema remove a resposta automtica e pergunta se o usurio deseja escrever uma nova resposta automtica. 5. Sistema volta para o menu principal.

2. Usurio aperta a tecla R para remover a resposta automtica. 4. Usurio aperta a tecla N para no escrever uma nova resposta automtica. (A6)

Fluxo alternativo A3: Sair da resposta automtica sem salv-la. Ao do Ator Resposta do Sistema

115 3. Usurio aperta a tecla ESC. 4. Sistema encerra a escrita da resposta automtica sem salv-la e volta ao menu principal.

Fluxo alternativo A4: Sair da resposta automtica sem escolher seu estado (ativada ou desativada). Ao do Ator 1. Usurio aperta a tecla ESC. Resposta do Sistema 2. Sistema volta ao menu principal mantendo o estado anterior da resposta automtica (ativada ou desativada).

Fluxo alternativo A5: No ativar resposta automtica. Ao do Ator Resposta do Sistema 1. Usurio aperta a tecla N para no 2. Sistema no ativa a resposta automtica e ativar a resposta automtica. volta para o menu principal do Cartavox. Fluxo alternativo A6: Escrever nova resposta automtica aps sua remoo. Ao do Ator 1. Usurio aperta a tecla S para escrever uma nova resposta automtica. Resposta do Sistema 2. Sistema vai ao passo 3 do fluxo principal

116 Identificao Nome Atores Pr-condies Ps-condies Descrio UC8 Selecionar Mais de um Anexo Simultaneamente Usurio Usurio estar editando uma mensagem. Arquivo(s) anexado(s) a uma mensagem eletrnica. Anexar arquivos a uma mensagem simultaneamente. Fluxos de Eventos Fluxo Principal de Eventos Ao do Ator 1. Usurio aperta a tecla A enquanto est editando uma mensagem. 3. Usurio digita o nome do diretrio no qual esto os arquivos que deseja anexar e aperta a tecla direcional para baixo. (A1) (A2) 5. Usurio marca e desmarca os arquivos que deseja anexar. (A1) 7. Usurio aperta ENTER para anexar os arquivos marcados. (A1) 9. Usurio aperta a tecla S para utilizar a converso padro. (A3) (A4) 11. Usurio aperta a tecla N ou ESC para no anexar mais arquivos. (A5) Resposta do Sistema 2. Sistema entra na opo de anexo de arquivos. 4. Sistema apresenta a lista com os arquivos do diretrio.

6. Sistema marca e desmarca os arquivos. 8. Sistema anexa os arquivos e pergunta ao usurio se deseja usar a converso padro para todos os arquivos. 10. Sistema converte os arquivos usando a converso padro e pergunta ao usurio se deseja anexar mais arquivos. 12. Sistema encerra a opo de anexo de arquivos.

Fluxos alternativos Fluxo alternativo A1: Encerrar a opo de anexo de arquivos. Ao do Ator 1. Usurio aperta a tecla ESC. Resposta do Sistema 2. Sistema encerra a opo de anexo de arquivos.

Fluxo alternativo A2: Apresentar lista de arquivos do diretrio do Cartavox. Ao do Ator Resposta do Sistema 1. Usurio aperta a tecla direcional para 2. Sistema apresenta a lista com os arquivos baixo sem digitar nada. do diretrio do Cartavox e vai ao passo 5 do fluxo principal. Fluxo alternativo A3: Escolher converso arquivo por arquivo. Ao do Ator 1. Usurio aperta a tecla E para escolher a converso arquivo por arquivo. Resposta do Sistema 2. Sistema pergunta para cada arquivo se o usurio deseja utilizar a converso padro.

117 3. Usurio aperta a tecla S ou N para cada arquivo at terminar os arquivos a serem anexados. 4. Sistema usa ou no a converso padro para cada arquivo de acordo com as respostas do usurio e vai ao passo 11 do fluxo principal.

Fluxo alternativo A4: No utilizar nenhuma converso. Ao do Ator Resposta do Sistema 1. Usurio aperta a tecla N ou ESC para 2. Sistema no faz nenhuma converso nos no utilizar nenhuma converso. arquivos e vai ao passo 11 do fluxo principal. Fluxo alternativo A5: Anexar mais arquivos. Ao do Ator Resposta do Sistema 1. Usurio aperta a tecla S para anexar 2. Sistema volta para o passo 3 do fluxo mais arquivos. principal.

118

APNDICE B Instrues de Uso


Neste apndice so apresentadas as instrues de uso que so utilizadas para verificar o funcionamento das funcionalidades desenvolvidas. Folheamento das mensagens eletrnicas do servidor
1. Apagar mensagens do servidor Requisitos: 1. Ter uma conta configurada no Cartavox. Ao: 1. No menu principal do Cartavox, acesse a opo J - Folhear cartas no servidor pressionando a tecla J ou pressionando a tecla Enter com o cursor em cima da opo. 2. O programa informa Contactando servidor para receber correspondncia. Conexo Realizada. 3. Se a senha da conta no est gravada no Cartavox, o programa informa Informe sua senha. Digite a senha da conta e pressione Enter. 4. O programa informa quantas mensagens existem no servidor e caso tenha mais de 10 mensagens, o programa informa So muitas cartas, quantas deseja folhear?. As opes para escolher quantas mensagens deseja folhear so, por exemplo, se existirem 74 mensagens no servidor: - Pressionar Enter para folhear todas as mensagens; - Digitar "10" e pressionar Enter para folhear as 10 primeiras mensagens; - Digitar "10;20" e pressionar Enter para folhear da mensagem 10 at a mensagem 20; - Digitar "10;" e pressionar Enter para folhear da mensagem 10 at a ltima. 5. No folheamento, pressione Barra de Espao para selecionar as mensagens que deseja apagar. 6. Pressione a tecla A para apagar as mensagens selecionadas. 7. O programa pergunta Deseja apagar todas as selecionadas?. Pressione a tecla S. 8. O programa informa OK, cartas apagadas. Verifique que as mensagens apagadas no esto mais no folheamento e observe na parte superior da tela que o nmero de mensagens no servidor diminuiu. 9. Pressione a tecla Esc para encerrar o folheamento e voltar para a tela inicial do Cartavox. 2. Trazer mensagens do servidor para o Cartavox Requisitos: 1. Ter uma conta configurada no Cartavox. Ao: 1. No menu principal do Cartavox, acesse a opo J - Folhear cartas no servidor pressionando a tecla J ou pressionando a tecla Enter com o cursor em cima da opo.

119

2. O programa informa Contactando servidor para receber correspondncia. Conexo Realizada. 3. Se a senha da conta no est gravada no Cartavox, o programa informa Informe sua senha. Digite a senha da conta e pressione Enter. 4. O programa informa quantas mensagens existem no servidor e caso o servidor tenha mais de 10 mensagens, o programa informa So muitas cartas, quantas deseja folhear?. As opes para escolher quantas mensagens deseja folhear so, por exemplo, se existirem 74 mensagens no servidor: - Pressionar Enter para folhear todas as mensagens; - Digitar "10" e pressionar Enter para folhear as 10 primeiras mensagens; - Digitar "10;20" e pressionar Enter para folhear da mensagem 10 at a mensagem 20; - Digitar "10;" e pressionar Enter para folhear da mensagem 10 at a ltima. 5. No folheamento, pressione Barra de Espao para selecionar as mensagens que deseja trazer para o Cartavox e apagar do servidor. 6. Pressione a tecla R para receber as mensagens selecionadas para o Cartavox e apag-las do servidor. 7. O programa pergunta Deseja trazer todas as selecionadas?. Pressione a tecla S. 8. O programa informa, OK, peguei as correspondncias. Verifique que as mensagens recebidas no esto mais no folheamento e observe na parte superior da tela que o nmero de mensagens no servidor diminuiu. 9. Pressione a tecla Esc para encerrar o folheamento e voltar para a tela inicial do Cartavox. 10. No menu principal do Cartavox, acesse a opo F - Folhear as cartas j recebidas pressionando a tecla F ou pressionando a tecla Enter com o cursor em cima da opo. 11. O folheamento de mensagens recebidas carregado, verifique que as mensagens recebidas esto presentes. 12. Pressione a tecla Esc para sair do folheamento de mensagens recebidas e voltar para a tela inicial do Cartavox. 3. Trazer mensagens para o Cartavox sem apag-las do servidor Requisitos: 1. Ter uma conta configurada no Cartavox. Ao: 1. No menu principal do Cartavox, acesse a opo J - Folhear cartas no servidor pressionando a tecla J ou pressionando a tecla Enter com o cursor em cima da opo. 2. O programa informa Contactando servidor para receber correspondncia. Conexo Realizada. 3. Se a senha da conta no est gravada no Cartavox, o programa informa Informe sua senha. Digite a senha da conta e pressione Enter. 4. O programa informa quantas mensagens existem no servidor e caso o servidor tenha mais de 10 mensagens, o programa informa So muitas cartas, quantas deseja folhear?. As opes para escolher quantas mensagens deseja folhear so, por exemplo, se existirem 74 mensagens no servidor:

120

- Pressionar Enter para folhear todas as mensagens; - Digitar "10" e pressionar Enter para folhear as 10 primeiras mensagens; - Digitar "10;20" e pressionar Enter para folhear da mensagem 10 at a mensagem 20; - Digitar "10;" e pressionar Enter para folhear da mensagem 10 at a ltima. 5. No folheamento, pressione Barra de Espao para selecionar as mensagens que deseja trazer para o Cartavox sem apagar do servidor. 6. Pressione a teclas Ctrl + R para receber as mensagens sem apag-las do servidor. 7. O programa pergunta Deseja trazer todas as selecionadas?. Pressione a tecla S. 8. O programa informa, OK, peguei as correspondncias. Verifique que as mensagens recebidas ainda esto no folheamento. 9. Pressione a tecla Esc para encerrar o folheamento e voltar para a tela inicial do Cartavox. 10. No menu principal do Cartavox, acesse a opo F - Folhear as cartas j recebidas pressionando a tecla F ou pressionando a tecla Enter com o cursor em cima da opo. 11. O folheamento de mensagens recebidas carregado, verifique que as mensagens recebidas esto presentes. 12. Pressione a tecla Esc para sair do folheamento de mensagens recebidas e voltar para a tela inicial do Cartavox.

Grupo de Contas
1. Adicionar contas ao grupo de contas Requisitos: 1. Ter ao menos uma conta configurada no Cartavox. Ao: 1. No menu principal do Cartavox, acesse a opo K - Grupo de Contas pressionando a tecla K ou pressionando a tecla Enter com o cursor em cima da opo. 2. O programa informa Grupo de Contas. Qual sua opo? F1 Ajuda. Acesse a opo S - Selecionar Contas pressionando a tecla S ou pressionando a tecla Enter com o cursor em cima da opo. 3. O programa informa Seleo do Grupo de Contas. Qual sua opo? F1 Ajuda. Acesse a opo A - Adicionar contas ao grupo de contas pressionando a tecla A ou pressionando a tecla Enter com o cursor em cima da opo. 4. Um folheamento com as contas que no esto no grupo de contas exibido. Selecione ao menos uma conta pressionando Barra de Espao e pressione Enter para adicionar as contas selecionadas ao grupo. 5. Caso alguma das contas selecionadas no tenha a senha gravada no Cartavox, o programa informa Para adicionar a conta xx ao grupo de contas, a senha precisa ser gravada. Deseja gravar a senha desta conta?. Pressione a tecla S para gravar a senha da conta no Cartavox. 6. Caso a ao 5 tenha sido realizada, o programa informa Informe sua senha. Digite a senha da conta e pressione Enter. 7. O programa informa que as contas foram adicionadas ao grupo de contas e volta para a tela de seleo do grupo de contas.

121

8. Acesse a opo R - Remover contas do grupo de contas pressionando a tecla R ou pressionando a tecla Enter com o cursor em cima da opo. 9. Um folheamento com as contas que esto no grupo de contas exibido. Verifique que as contas que foram adicionadas ao grupo de contas esto presentes neste folheamento. 10. Pressione Esc para sair do folheamento das contas que esto no grupo e voltar para a tela de seleo do grupo de contas. 11. Pressione Esc novamente para sair da tela de seleo do grupo de contas e voltar para a tela inicial do Cartavox. 2. Remover contas do grupo de contas Requisitos: 1. Ter ao menos uma conta configurada no Cartavox. 2. Ter ao menos uma conta no grupo de contas. Ao: 1. No menu principal do Cartavox, acesse a opo K - Grupo de Contas pressionando a tecla K ou pressionando a tecla Enter com o cursor em cima da opo. 2. O programa informa Grupo de Contas. Qual sua opo? F1 Ajuda. Acesse a opo S - Selecionar Contas pressionando a tecla S ou pressionando a tecla Enter com o cursor em cima da opo. 3. O programa informa Seleo do Grupo de Contas. Qual sua opo? F1 Ajuda. Acesse a opo R - Remover contas do grupo de contas pressionando a tecla R ou pressionando a tecla Enter com o cursor em cima da opo. 4. Um folheamento com as contas que esto no grupo de contas exibido. Selecione ao menos uma conta pressionando Barra de Espao e pressione Enter para remover as contas selecionadas do grupo. 5. O programa informa que as contas foram removidas do grupo de contas e volta para a tela de seleo do grupo de contas. 6. Acesse a opo A - Adicionar contas ao grupo de contas pressionando a tecla A ou pressionando a tecla Enter com o cursor em cima da opo. 7. Um folheamento com as contas que no esto no grupo de contas exibido. Verifique que as contas que foram removidas do grupo de contas esto presentes neste folheamento. 8. Pressione Esc para sair do folheamento das contas que no esto no grupo e voltar para a tela de seleo do grupo de contas. 9. Pressione Esc novamente para sair da seleo do grupo de contas e voltar para a tela inicial do Cartavox. 3. Receber mensagens do grupo de contas automaticamente Requisitos: 1. Ter ao menos uma conta configurada no Cartavox que possua mensagens no correio eletrnico. 2. Ter a conta do requisito 1 adicionada ao grupo de contas. Ao: 1. No menu principal do Cartavox, acesse a opo K - Grupo de Contas pressionando a tecla K ou pressionando a tecla Enter com o cursor em cima da opo.

122

2. O programa informa Grupo de Contas. Qual sua opo? F1 Ajuda. Acesse a opo R - Receber cartas das contas selecionadas pressionando a tecla R ou pressionando a tecla Enter com o cursor em cima da opo. 3. O programa pergunta Deseja trazer as cartas de todas as contas automaticamente?. Pressione a tecla S para receber todas as mensagens de todas as contas do grupo automaticamente. 4. O programa informa Acessando conta xx para cada conta presente no grupo de contas e traz todas as mensagens de cada conta para o Cartavox. 5. Depois de trazer as mensagens de cada conta do grupo, o programa volta para a tela inicial do Cartavox. 6. No menu principal do Cartavox, acesse a opo C - Configurar o programa pressionando a tecla C ou pressionando a tecla Enter com o cursor em cima da opo. 7. O programa entra na tela de configurao do Cartavox. Acesse a opo R Recuperar configurao pressionando a tecla R ou pressionando a tecla Enter com o cursor em cima da opo. 8. O programa informa "Informe o nome da configurao". Recupere uma conta que estava no grupo de contas e que teve suas mensagens recebidas, para isso digite o nome da conta ou selecione o nome da conta com o cursor e depois pressione Enter. 9. O programa recupera a conta e volta para a tela inicial do Cartavox. 10. No menu principal do Cartavox, acesse a opo F - Folhear as cartas j recebidas pressionando a tecla F ou pressionando a tecla Enter com o cursor em cima da opo. 11. O folheamento de mensagens recebidas carregado, verifique que as mensagens recebidas dessa conta esto presentes. 12. Pressione a tecla Esc para sair do folheamento de mensagens recebidas e voltar para a tela inicial do Cartavox. 4. Receber mensagens do grupo de contas manualmente Requisitos: 1. Ter ao menos uma conta configurada no Cartavox que possua mensagens no servidor. 2. Ter a conta do requisito 1 adicionada ao grupo de contas. Ao: 1. No menu principal do Cartavox, acesse a opo K - Grupo de Contas pressionando a tecla K ou pressionando a tecla Enter com o cursor em cima da opo. 2. O programa informa Grupo de Contas. Qual sua opo? F1 Ajuda. Acesse a opo R - Receber cartas das contas selecionadas pressionando a tecla R ou pressionando a tecla Enter com o cursor em cima da opo. 3. O programa pergunta Deseja trazer as cartas de todas as contas automaticamente?. Pressione a tecla N para escolher as mensagens que deseja trazer para cada conta individualmente. 4. Para cada conta presente no grupo de contas, o programa informa Contactando servidor para receber correspondncias da conta xx. 5. Para cada conta presente no grupo de contas, o programa informa quantas mensagens existem no servidor e caso o servidor da conta tenha mais de 10 mensagens, o programa informa So muitas cartas, quantas deseja folhear?. As

123

opes para escolher quantas mensagens deseja folhear so, por exemplo, se existirem 74 mensagens no servidor: - Pressionar Enter para folhear todas as mensagens; - Digitar "10" e pressionar Enter para folhear as 10 primeiras mensagens; - Digitar "10;20" e pressionar Enter para folhear da mensagem 10 at a mensagem 20; - Digitar "10;" e pressionar Enter para folhear da mensagem 10 at a ltima. 6. Para cada conta presente no grupo de contas, o programa pergunta Quer selecionar interativamente?. Pressione a tecla N para trazer para o Cartavox todas as mensagens do servidor automaticamente ou pressione a tecla S para escolher mensagem por mensagem quais deseja trazer. 7. Depois de acessar todas as contas do grupo, o programa volta para a tela inicial do Cartavox. 8. No menu principal do Cartavox, acesse a opo C - Configurar o programa pressionando a tecla C ou pressionando a tecla Enter com o cursor em cima da opo. 9. O programa entra na tela de configurao do Cartavox. Acesse a opo R Recuperar configurao pressionando a tecla R ou pressionando a tecla Enter com o cursor em cima da opo. 10. O programa informa "Informe o nome da configurao". Recupere uma conta que estava no grupo de contas e que teve suas mensagens recebidas, para isso digite o nome da conta ou selecione o nome da conta com o cursor e depois pressione Enter. 11. O programa recupera a conta e volta para a tela inicial do Cartavox. 12. No menu principal do Cartavox, acesse a opo F - Folhear as cartas j recebidas pressionando a tecla F ou pressionando a tecla Enter com o cursor em cima da opo. 13. O folheamento de mensagens recebidas carregado, verifique que as mensagens recebidas dessa conta esto presentes. 14. Pressione a tecla Esc para sair do folheamento de mensagens recebidas e voltar para a tela inicial do Cartavox. 5. Transmitir mensagens do grupo de contas Requisitos: 1. Ter ao menos uma conta configurada no Cartavox. 2. Ter a conta do requisito 1 adicionada ao grupo de contas. Ao: 1. Com uma conta que est presente no grupo de contas, no menu principal do Cartavox, acesse a opo E - Enviar carta pressionando a tecla E ou pressionando a tecla Enter com o cursor em cima da opo. 2. O programa pergunta "Qual o endereo eletrnico do destinatrio?". Digite o endereo e pressione Enter. 3. O programa pergunta "Qual o assunto da carta?". Digite o assunto e pressione Enter. 4. O programa pergunta "Qual o nome do arquivo de texto a mandar?". Pressione Enter. 5. O editor de texto do Dosvox carregado. Digite o texto desejado e pressione a tecla Esc. 6. O programa pergunta Confirma a sada? (S/N). Pressione a tecla S.

124

7. O programa pergunta Quer salvar o arquivo? (S/N). Pressione a tecla S. 8. O programa informa Tecle Enter para fechar a carta ou F1 para conhecer outras opes. Pressione Enter para finalizar o preparo da mensagem. 9. O programa informa Carta preparada para envio" e volta para a tela inicial do Cartavox. 10. No menu principal do Cartavox, acesse a opo K - Grupo de Contas" pressionando a tecla K ou pressionando a tecla Enter com o cursor em cima da opo. 11. O programa informa Grupo de Contas. Qual sua opo? F1 Ajuda. Acesse a opo T - Transmitir cartas das contas selecionadas pressionando a tecla T ou pressionando a tecla Enter com o cursor em cima da opo. 12. O programa acessa cada conta presente no grupo de contas para transmitir as mensagens preparadas delas e, no caso de no existirem mensagens preparadas para a conta o programa informa No existem cartas a serem transmitidas na conta xx. 13. Depois de transmitir as mensagens de todas as contas do grupo, o programa volta para a tela inicial do Cartavox. 14. No menu principal do Cartavox, acesse a opo V - Verificar cartas preparadas ou transmitidas pressionando a tecla V ou pressionando a tecla Enter com o cursor em cima da opo. 15. O programa pergunta "Verificar preparadas ou transmitidas?". Pressione a tecla T. 16. O folheamento de mensagens transmitidas carregado, verifique que a mensagem que voc preparou foi transmitida. 17. Pressione a tecla Esc para sair do folheamento de mensagens transmitidas e voltar para a tela inicial do Cartavox. 6. Monitorar grupo de contas Requisitos: 1. Ter ao menos uma conta configurada no Cartavox. 2. Ter a conta do requisito 1 adicionada ao grupo de contas. Ao: 1. No menu principal do Cartavox, acesse a opo K - Grupo de Contas pressionando a tecla K ou pressionando a tecla Enter com o cursor em cima da opo. 2. O programa informa Grupo de Contas. Qual sua opo? F1 Ajuda. Acesse a opo M - Monitorar contas selecionadas pressionando a tecla M ou pressionando a tecla Enter com o cursor em cima da opo. 3. O programa pergunta Aps quantos segundos remonitoro (sugiro 60)?. Digite de quanto em quanto tempo as contas presentes no grupo sero remonitoradas. 4. O programa pergunta Aviso s quando chegarem cartas novas?. Pressione a tecla S para o programa sintetizar o nome da conta apenas no momento que uma nova mensagem chegar ao correio eletrnico dela ou pressione a tecla N para o programa ficar sempre sintetizando o nome da conta depois que uma mensagem chegar ao correio eletrnico dela. 5. O programa pergunta Deseja receber as cartas automaticamente?. Pressione a tecla S para receber automaticamente as mensagens no momento que elas chegarem aos servidores das contas monitoradas. 6. Acesse um correio eletrnico atravs de um navegador Web e envie uma mensagem para o endereo de uma das contas que esto sendo monitoradas.

125

7. Verifique que um aviso sonoro emitido e que o nome da conta em que a mensagem chegou sonorizado pelo programa. 8. Verifique que a conta acessada e o programa imprime Carta xx e um asterisco na tela, para informar que a mensagem nova foi trazida para o Cartavox. 9. Pressione a tecla Esc para cancelar o monitoramento e voltar para a tela inicial do Cartavox. 10. No menu principal do Cartavox, acesse a opo C - Configurar o programa pressionando a tecla C ou pressionando a tecla Enter com o cursor em cima da opo. 11. O programa entra na tela de configurao do Cartavox. Acesse a opo R Recuperar configurao pressionando a tecla R ou pressionando a tecla Enter com o cursor em cima da opo. 12. O programa informa "Informe o nome da configurao". Recupere a conta que estava no grupo de contas e que recebeu a mensagem que voc enviou, para isso digite o nome da conta ou selecione o nome da conta com o cursor e depois pressione Enter. 13. O programa recupera a conta e volta para a tela inicial do Cartavox. 14. No menu principal do Cartavox, acesse a opo F - Folhear as cartas j recebidas pressionando a tecla F ou pressionando a tecla Enter com o cursor em cima da opo. 15. O folheamento de mensagens recebidas carregado. Verifique que a mensagem que voc enviou para essa conta est presente. 16. Pressione a tecla Esc para sair do folheamento de mensagens recebidas e voltar para a tela inicial do Cartavox.

Resposta Automtica
1. Configurar resposta automtica Requisitos: 1. Ter uma conta configurada no Cartavox. Ao: 1. No menu principal do Cartavox, acesse a opo U - Resposta automtica pressionando a tecla U ou pressionando a tecla Enter com o cursor em cima da opo. 2. O programa informa Resposta Automtica. Qual sua opo? F1 Ajuda. Acesse a opo E - Escrever resposta automtica pressionando a tecla E ou pressionando a tecla Enter com o cursor em cima da opo. 3. O programa pergunta Qual o Assunto da Resposta Automtica?. Digite o assunto e pressione Enter. 4. O programa pergunta Qual o nome do arquivo de texto a mandar?. Pressione Enter. 5. O editor de texto do Dosvox carregado. Digite o texto desejado e pressione Esc. 6. O programa pergunta Confirma a sada? (S/N). Pressione a tecla S. 7. O programa pergunta Quer salvar o arquivo? (S/N). Pressione a tecla S. 8. O programa informa Resposta Automtica Preparada e volta para a tela inicial do Cartavox.

126

9. Para verificar que a resposta automtica foi preparada corretamente, faa os passos do item 5 da resposta automtica neste manual: 5 - Preparar mensagem usando a resposta automtica. 2. Editar o assunto da resposta automtica Requisitos: 1. Ter uma conta com a resposta automtica configurada no Cartavox. Ao: 1. No menu principal do Cartavox, acesse a opo U - Resposta automtica pressionando a tecla U ou pressionando a tecla Enter com o cursor em cima da opo. 2. O programa informa Resposta Automtica. Qual sua opo? F1 Ajuda. Acesse a opo E - Escrever resposta automtica pressionando a tecla E ou pressionando a tecla Enter com o cursor em cima da opo. 3. O programa informa J existe uma resposta automtica configurada e depois pergunta Qual sua opo? F1 Ajuda. Acesse a opo E - Editar o assunto da resposta automtica pressionando a tecla E ou pressionando a tecla Enter com o cursor em cima da opo. 4. O programa informa Edite o assunto da resposta automtica. Edite o assunto e pressione Enter. 5. O programa informa OK e volta para a tela inicial do Cartavox. 6. Para verificar que o assunto da resposta automtica foi modificado corretamente, faa os passos do item 5 da resposta automtica neste manual: 5 - Preparar mensagem usando a resposta automtica. 3. Editar o corpo da resposta automtica Requisitos: 1. Ter uma conta com a resposta automtica configurada no Cartavox. Ao: 1. No menu principal do Cartavox, acesse a opo U - Resposta automtica pressionando a tecla U ou pressionando a tecla Enter com o cursor em cima da opo. 2. O programa informa Resposta Automtica. Qual sua opo? F1 Ajuda. Acesse a opo E - Escrever resposta automtica pressionando a tecla E ou pressionando a tecla Enter com o cursor em cima da opo. 3. O programa informa J existe uma resposta automtica configurada e depois pergunta Qual sua opo? F1 Ajuda. Acesse a opo A - Editar o corpo da resposta automtica pressionando a tecla A ou pressionando a tecla Enter com o cursor em cima da opo. 4. O editor de texto do Dosvox carregado. Edite o texto da resposta automtica e pressione a tecla Esc. 5. O programa pergunta Confirma a sada? (S/N). Pressione a tecla S. 6. O programa pergunta Quer salvar o arquivo? (S/N). Pressione a tecla S. 7. O programa informa OK e volta para o menu principal do Cartavox.

127

8. Para verificar que o corpo da resposta automtica foi modificado corretamente, faa os passos do item 5 da resposta automtica neste manual: 5 - Preparar mensagem usando a resposta automtica. 4. Editar o corpo da resposta automtica incluindo assinatura Requisitos: 1. Ter uma conta com a resposta automtica configurada no Cartavox. Ao: 1. Crie um arquivo do tipo txt com a assinatura desejada em alguma pasta do sistema operacional e anote o caminho e o nome do arquivo criado. Por exemplo, crie um arquivo chamado assinatura.txt dentro da pasta do DOSVOX, para o qual o caminho de acesso C:\winvox\assinatura.txt. 2. No menu principal do Cartavox, acesse a opo C - Configurar o programa pressionando a tecla C ou pressionando a tecla Enter com o cursor em cima da opo. 3. O programa entra na tela de configurao do Cartavox. Acesse a opo C configurar pressionando a tecla C ou pressionando a tecla Enter com o cursor em cima da opo. 4. Selecione com as teclas cursores a opo Arquivo de Assinatura da configurao, escreva o caminho do arquivo de assinatura seguido de seu nome. Por exemplo, C:\winvox\assinatura.txt. 5. Pressione a tecla Esc para sair da configurao e voltar ao menu principal do Cartavox. 6. No menu principal do Cartavox, acesse a opo U - Resposta automtica pressionando a tecla U ou pressionando a tecla Enter com o cursor em cima da opo. 7. O programa informa Resposta Automtica. Qual sua opo? F1 Ajuda. Acesse a opo E - Escrever resposta automtica pressionando a tecla E ou pressionando a tecla Enter com o cursor em cima da opo. 8. O programa informa J existe uma resposta automtica configurada e depois pergunta Qual sua opo? F1 Ajuda. Acesse a opo A - Editar o corpo da resposta automtica pressionando a tecla A ou pressionando a tecla Enter com o cursor em cima da opo. 9. O editor de texto do Dosvox carregado. Pressione a tecla Esc para sair do editor deixando o texto da resposta automtica como est. 10. O programa pergunta Confirma a sada? (S/N). Pressione a tecla S. 11. O programa pergunta Quer salvar o arquivo? (S/N). Pressione a tecla S. 12. O programa pergunta Adiciona sua assinatura?. Pressione a tecla S. 13. O programa informa OK e volta para o menu principal do Cartavox. 14. Para verificar que a assinatura foi includa na resposta automtica, faa os passos do item 5 da resposta automtica neste manual: 5 - Preparar mensagem usando a resposta automtica. 5. Preparar mensagem usando a resposta automtica Requisitos: 1. Ter duas contas configuradas no Cartavox.

128

2. Ter uma das duas contas com uma resposta automtica preparada. 3. A mesma conta que tem uma resposta automtica preparada ter uma mensagem recebida da outra conta que est configurada no Cartavox. Ao: 1. No menu principal do Cartavox, com a conta que tem uma resposta automtica preparada, acesse a opo F - Folhear as cartas j recebidas pressionando a tecla F ou pressionando a tecla Enter com o cursor em cima da opo. 2. O folheamento de mensagens recebidas carregado. Pressione a tecla U com o cursor em cima da mensagem recebida da outra conta que voc tem configurada no Cartavox. 3. O programa informa Preparando resposta automtica para destinatrio xx e depois pergunta Confirma destino (S/N)?. Pressione a tecla S. 4. O programa informa Carta preparada para envio. Pressione a tecla Esc para sair do folheamento de mensagens recebidas e voltar para a tela inicial do Cartavox. 5. No menu principal do Cartavox, acesse a opo T - Transmitir cartas escritas pressionando a tecla T ou pressionando a tecla Enter com o cursor em cima da opo. 6. Se a senha da conta no est gravada no Cartavox, o programa informa Informe sua senha. Digite a senha da conta e pressione Enter. 7. O programa envia a mensagem com a resposta automtica e volta para a tela inicial do Cartavox. 8. No menu principal do Cartavox, acesse a opo C - Configurar o programa pressionando a tecla C ou pressionando a tecla Enter com o cursor em cima da opo. 9. O programa entra na tela de configurao do Cartavox. Acesse a opo R Recuperar configurao pressionando a tecla R ou pressionando a tecla Enter com o cursor em cima da opo. 10. O programa informa "Informe o nome da configurao". Para recuperar a conta que recebeu a mensagem que voc enviou a resposta automtica, digite o nome da conta ou pressione Enter com o cursor em cima da conta. 11. O programa recupera a conta e volta para a tela inicial do Cartavox. 12. No menu principal do Cartavox, acesse a opo J - Folhear cartas no servidor pressionando a tecla J ou pressionando a tecla Enter com o cursor em cima da opo. 13. O programa informa Contactando servidor para receber correspondncia. Conexo Realizada. 14. O programa informa quantas mensagens existem no servidor e caso tenha mais de 10 mensagens, o programa informa So muitas cartas, quantas deseja folhear?. Pressione Enter para folhear todas as mensagens. 15. O folheamento das mensagens do servidor carregado. Verifique que a mensagem com a resposta automtica que voc enviou para essa conta est presente, v com o cursor at ela e pressione a tecla R para receb-la para o Cartavox. 16. O programa pergunta Deseja trazer a carta com o assunto xx(S/N)?. Pressione a tecla S. 17. O programa informa, OK, peguei a correspondncia. Pressione a tecla Esc para encerrar o folheamento e voltar para a tela inicial do Cartavox.

129

18. No menu principal do Cartavox, acesse a opo F - Folhear as cartas j recebidas pressionando a tecla F ou pressionando a tecla Enter com o cursor em cima da opo. 19. O folheamento de mensagens recebidas carregado. Verifique que a mensagem que contm a resposta automtica est no folheamento, pressione a tecla Enter com o cursor em cima da dela para visualiz-la. 20. O folheamento com as partes da mensagem carregado, pressione Enter com o cursor em cima da parte 1 da mensagem. 21. Verifique que o corpo de resposta desta mensagem o corpo configurado na resposta automtica. Pressione a tecla Esc para sair do folheamento de mensagens recebidas e voltar para a tela inicial do Cartavox. 6. Utilizar a resposta automtica de frias Requisitos: 1. Ter uma conta com a resposta automtica configurada no Cartavox. 2. Ter um endereo de correio eletrnico diferente do endereo da conta com a resposta automtica. Ao: 1. No menu principal do Cartavox, acesse a opo U - Resposta automtica pressionando a tecla U ou pressionando a tecla Enter com o cursor em cima da opo. 2. O programa informa Resposta Automtica. Qual sua opo? F1 Ajuda. Acesse a opo A - Ativar resposta automtica de frias pressionando a tecla A ou pressionando a tecla Enter com o cursor em cima da opo. 3. O programa pergunta Deseja ativar a resposta automtica de frias?. Pressione a tecla S. 4. O programa informa Resposta automtica de frias ativada. Acesse atravs de um navegador Web o endereo de correio eletrnico diferente do endereo da conta que est com a resposta automtica ativada. 5. Envie uma mensagem para o endereo da conta com a resposta automtica. 6. O programa informa "Enviando as cartas", em seguida emite um aviso sonoro para indicar que a resposta automtica est sendo enviada e depois informa "Fim de envio". 7. Verifique no correio eletrnico diferente do endereo da conta que est com a resposta automtica ativada que a resposta automtica foi recebida para a mensagem que voc enviou no passo 5.

Anexo de Arquivos Simultaneamente


1. Anexar mais de um arquivo simultaneamente a uma mensagem Requisitos: 1. Ter uma conta configurada no Cartavox. 2. Ter um endereo de correio eletrnico diferente do endereo da conta configurada. Ao: 1. No menu principal do Cartavox, acesse a opo E - Enviar carta pressionando a tecla E ou pressionando a tecla Enter com o cursor em cima da opo.

130

2. O programa pergunta Qual o endereo eletrnico do destinatrio?. Digite o endereo de correio eletrnico diferente do endereo da conta que voc est usando e pressione Enter. 3. O programa pergunta Qual o assunto da carta?. Digite o assunto e pressione Enter. 4. O programa pergunta Qual o nome do arquivo de texto a mandar?. Pressione Esc para que a mensagem fique sem corpo. 5. Se a conta tem uma assinatura configurada, o programa pergunta Adiciona sua assinatura? Pressione a tecla N. 6. O programa informa Tecle Enter para fechar a carta ou F1 para conhecer outras opes. Acesse a opo A - Anexa arquivos pressionando a tecla A ou pressionando a tecla Enter com o cursor em cima da opo. 7. O programa sonoriza Nome do arquivo a enviar:. Pressione a tecla cursor para cima ou a tecla cursor para baixo para abrir a lista de arquivos do diretrio padro do Cartavox. 8. Selecione com as teclas cursores os arquivos que deseja anexar mensagem e pressione Barra de Espao para marc-los. 9. Pressione Enter para fechar a lista de arquivos e anexar os arquivos marcados mensagem. 10. O programa pergunta Posso usar a converso padro (S/N)?. Pressione a tecla S. 11. O programa pergunta Mais arquivos (S/N)?. Pressione a tecla N. 12. O programa informa Tecle Enter para fechar a carta ou F1 para conhecer outras opes. Pressione Enter. 13. O programa informa Carta preparada para envio e volta para o menu principal do Cartavox. 14. No menu principal do Cartavox, acesse a opo T - Transmitir cartas escritas pressionando a tecla T ou pressionando a tecla Enter com o cursor em cima da opo. 15. O programa transmite a mensagem preparada e volta para o menu principal do Cartavox. 16. Acesse atravs de um navegador Web o endereo de correio eletrnico para o qual voc enviou a mensagem com anexos. 17. Verifique que a mensagem que voc enviou para o correio eletrnico est presente e verifique que os arquivos esto anexados a ela. 2. Anexar mais de um arquivo simultaneamente a uma mensagem alterando o diretrio de onde se deseja selecionar os arquivos a serem anexados Requisitos: 1. Ter uma conta configurada no Cartavox. 2. Ter um endereo de correio eletrnico diferente do endereo da conta configurada. Ao: 1. No menu principal do Cartavox, acesse a opo E - Enviar carta pressionando a tecla E ou pressionando a tecla Enter com o cursor em cima da opo. 2. O programa pergunta Qual o endereo eletrnico do destinatrio?. Digite o endereo de correio eletrnico diferente do endereo da conta que voc est usando e pressione Enter. 3. O programa pergunta Qual o assunto da carta?. Digite o assunto e pressione Enter.

131

4. O programa pergunta Qual o nome do arquivo de texto a mandar?. Pressione Esc para que a mensagem fique sem corpo. 5. Se a conta tem uma assinatura configurada, o programa pergunta Adiciona sua assinatura? Pressione a tecla N. 6. O programa informa Tecle Enter para fechar a carta ou F1 para conhecer outras opes. Acesse a opo A - Anexa arquivos pressionando a tecla A ou pressionando a tecla Enter com o cursor em cima da opo. 7. O programa sonoriza Nome do arquivo a enviar:. Escreva o nome do diretrio de onde deseja selecionar os arquivos a serem anexados e pressione a tecla cursor para cima ou a tecla cursor para baixo para abrir a lista de arquivos do diretrio. Por exemplo, se deseja selecionar os arquivos do diretrio do Dosvox, digite C:\winvox e depois pressione a tecla cursor para cima ou a tecla cursor para baixo. 8. Selecione com as teclas cursores os arquivos que deseja anexar mensagem e pressione Barra de Espao para marc-los. 9. Pressione Enter para fechar a lista de arquivos e anexar os arquivos marcados mensagem. 10. O programa pergunta Posso usar a converso padro (S/N)?. Pressione a tecla S. 11. O programa pergunta Mais arquivos (S/N)?. Pressione a tecla N. 12. O programa informa Tecle Enter para fechar a carta ou F1 para conhecer outras opes. Pressione Enter. 13. O programa informa Carta preparada para envio e volta para o menu principal do Cartavox. 14. No menu principal do Cartavox, acesse a opo T - Transmitir cartas escritas pressionando a tecla T ou pressionando a tecla Enter com o cursor em cima da opo. 15. O programa transmite a mensagem preparada e volta para o menu principal do Cartavox. 16. Acesse atravs de um navegador Web o endereo de correio eletrnico para o qual voc enviou a mensagem com anexos. 17. Verifique que a mensagem que voc enviou no est presente no correio eletrnico e verifique que os arquivos esto anexados a ela.

Apresentao do texto na resposta da mensagem HTML


1. Enviar uma resposta a uma mensagem HTML Requisitos: 1. Ter uma conta configurada no Cartavox. 2. Ter um endereo de correio eletrnico do servidor BOL (este servidor envia mensagens com s uma parte HTML). 3. Ter uma mensagem recebida no Cartavox do endereo de correio eletrnico do servidor BOL do requisito 2. Ao: 1. No menu principal do Cartavox, acesse a opo F - Folhear as cartas j recebidas pressionando a tecla F ou pressionando a tecla Enter com o cursor em cima da opo.

132

2. O folheamento de mensagens recebidas carregado. Selecione com as teclas cursores uma mensagem em que um remetente tenha o endereo do servidor BOL e pressione a tecla R para responder a essa mensagem. 3. O programa informa Enviando para xx e pergunta Confirma destino (S/N)?. Pressione a tecla S. 4. O editor de texto do Dosvox carregado. Verifique que o corpo da mensagem que est sendo respondida apresentado no editor de texto. 5. Escreva um texto de resposta e pressione a tecla Esc. 6. O programa pergunta Confirma a sada? (S/N). Pressione a tecla S. 7. O programa pergunta Quer salvar o arquivo? (S/N). Pressione a tecla S. 8. O programa informa Tecle Enter para fechar a carta ou F1 para conhecer outras opes. Pressione Enter. 9. O programa informa Carta preparada para envio. Pressione Esc para encerrar o folheamento de mensagens recebidas e voltar para a tela inicial do Cartavox. 10. No menu principal do Cartavox, acesse a opo T - Transmitir cartas escritas pressionando a tecla T ou pressionando a tecla Enter com o cursor em cima da opo. 11. O programa transmite a mensagem preparada e volta para o menu principal do Cartavox. 12. Acesse o endereo de correio eletrnico do servidor BOL que voc enviou a mensagem atravs de um navegador Web. 13. Verifique que a mensagem que voc enviou est presente e verifique que o corpo da mensagem original apresentado na mensagem.

133

APNDICE C Manual do Usurio


Neste apndice apresentado o manual do usurio, que foi disponibilizado para os usurios junto com a nova verso do Cartavox (verso 5.7). Este manual foi elaborado seguindo o padro do manual de usurio j existente no Cartavox.
Cartavox - Correio Eletrnico - Verso 5.7 Em 04 de novembro de 2011 --------------------------------------------------------------------Este manual explica como usar as novas funcionalidades que foram desenvolvidas na verso 5.7 do Cartavox. SUMRIO 1) RESPOSTA AUTOMTICA 1.1) ESCREVER RESPOSTA AUTOMTICA 1.2) ATIVAR RESPOSTA AUTOMTICA DE FRIAS 1.3) PREPARAR RESPOSTA AUTOMTICA NOS FOLHEAMENTOS 2) FOLHEAMENTO INTERATIVO NO SERVIDOR 2.1) APAGAR CARTA DO SERVIDOR 2.2) RECEBER CARTA DO SERVIDOR 2.3) RECEBER CARTA SEM APAG-LA DO SERVIDOR 2.4) SELECIONAR O NOME DO REMETENTE ASSOCIANDO-O A UM APELIDO 2.5) INFORMAES SOBRE A CARTA 2.6) INFORMAR QUAL CARTA DO TOTAL 2.7) INFORMAR SELECIONADAS DO TOTAL 2.8) INFORMAR O TAMANHO DA CARTA 2.9) INFORMAR O TAMANHO DE TODAS AS CARTAS 2.10) INFORMAR O NMERO DA CARTA 2.11) BUSCAR CARTA PELO NMERO 2.12) EDITAR APELIDOS 2.13) FALAR O REMETENTE DA CARTA 2.14) FALAR O DESTINATRIO DA CARTA 2.15) ORDENAR CARTAS 2.16) PROCURAR CARTAS 2.17) PROCURA INVERTIDA DE CARTAS 2.18) TERMINAR FOLHEAMENTO 3) GRUPO DE CONTAS 3.1) SELECIONAR CONTAS 3.2) RECEBER CARTAS DAS CONTAS SELECIONADAS 3.3) TRANSMITIR CARTAS DAS CONTAS SELECIONADAS 3.4) MONITORAR CONTAS SELECIONADAS 3.5) INFORMAR TOTAL DE CARTAS DAS CONTAS SELECIONADAS

134

--------------------------------------------------------------------1) RESPOSTA AUTOMTICA Resposta automtica serve para enviar uma resposta automtica para as cartas que chegam no correio quando o usurio no est presente, como por exemplo, quando o usurio est de frias. Para acessar o menu da resposta automtica use a opo U. Depois de acessado, existem duas opes no menu da resposta automtica, que so: Escrever resposta automtica (Opo E) Ativar resposta automtica de frias (Opo A) Ainda, nos folheamentos de cartas j recebidas, no lidas e lidas, voc pode usar a opo U - Preparar resposta automtica nos folheamentos. 1.1) ESCREVER RESPOSTA AUTOMTICA (Opo E) Ao teclar esta opo, se voc no tem uma resposta automtica preparada, o Cartavox vai perguntar: "Qual o assunto da resposta automtica?" Voc deve digitar o assunto da resposta automtica e teclar ENTER. Por exemplo: Digite "Teste" tecle ENTER. Obs: O assunto pode ficar em branco, nesse caso, por exemplo, se a carta recebida tem o assunto: "Marcao de reunio". Na resposta automtica o assunto vai ficar: "Re: Marcao de reunio". Em seguida o Cartavox pergunta: "Qual o nome do arquivo de texto para mandar?" Esta pergunta serve para montar o texto que vai ficar na resposta automtica. Voc tem as seguintes opes: A) Para usar o texto de um arquivo que esteja no diretrio que seu Cartavox est sendo executado, voc pode simplesmente escrever o nome de um arquivo existente. Exemplo: "Bandeira" Depois, o Cartavox vai perguntar: "Quer edit-lo antes de mandar?" Tecle S para editar ou tecle N para deix-lo como est.

135

Se teclar S, o Cartavox vai abrir o editor de texto do Dosvox para voc editar o arquivo. Edite o texto, tecle ESC para sair e salve o arquivo. B) Se desejar digitar um texto novo para sua resposta automtica, tecle ENTER sem escrever nada. O Cartavox vai abrir o editor de texto do Dosvox para voc escrever sua resposta. Digite o texto, tecle ESC para sair e salve o arquivo. C) Para criar um texto novo para sua resposta automtica e quiser criar um novo arquivo para guard-lo, escreva o nome do novo arquivo e tecle ENTER. Como na opo anterior, o Cartavox vai abrir o editor de texto do Dosvox para voc escrever sua resposta. Digite o texto, tecle ESC para sair e salve o arquivo. D) Se desejar que o texto da sua resposta automtica fique em branco, tecle ESC. Aps ter montado o texto da resposta automtica, se houver arquivo de assinatura criado e configurado, o Cartavox pergunta: "Adiciono sua assinatura?" Tecle S para adicionar a sua assinatura na sua resposta automtica ou tecle N para no adicionar. Assim a resposta automtica est pronta. Ao teclar a opo E - Escrever resposta automtica, se voc j tiver uma resposta automtica preparada, o Cartavox vai dar duas opes: A) Editar o assunto da resposta automtica (Opo E) Ao teclar esta opo, o Cartavox diz: "Edite o assunto da resposta automtica" Voc deve editar o assunto da resposta automtica e teclar ENTER. B) Editar o corpo da resposta automtica (Opo A) Ao teclar esta opo, o Cartavox vai abrir o editor de texto do Dosvox para voc editar o texto da sua resposta automtica. Edite o texto, tecle ESC para sair e salve o arquivo. Logo em seguida, se houver arquivo de assinatura criado e configurado, o Cartavox pergunta: "Adiciono sua assinatura?"

136

Tecle S para adicionar a sua assinatura na resposta automtica ou tecle N para no adicionar. 1.2) ATIVAR RESPOSTA AUTOMTICA DE FRIAS (Opo A) Ao teclar esta opo, se voc j tiver uma resposta automtica preparada, o Cartavox vai perguntar: "Deseja ativar a resposta automtica de frias?" Tecle S para ativar a resposta automtica de frias ou tecle N para no ativar. Se voc ativar a resposta automtica de frias, o Cartavox fica monitorando o seu correio eletrnico para ver se chegam cartas novas. Caso chegar alguma carta nova, ela recebida e a resposta automtica que voc configurou enviada para o remetente da carta. Para realizar outra tarefa no Dosvox enquanto o Cartavox estiver monitorando, chame-o com as teclas CONTROL ALT D. Depois para voltar ao Cartavox, use a opo V, selecione o Cartavox com as setas e tecle ENTER. Para encerrar a resposta automtica de frias basta teclar ESC. Ao teclar a opo A - Ativar resposta automtica de frias, se voc ainda no tem uma resposta automtica preparada, o Cartavox vai dizer: "A resposta automtica no foi escrita, deseja escrev-la agora?" Tecle S para escrever a resposta automtica. Veja os passos que deve seguir para escrever a resposta automtica lendo a seo 1.1 deste manual. Depois que voc acabar de preparar a resposta automtica, o Cartavox vai perguntar: "Deseja ativar a resposta automtica de frias?" Tecle S para ativar ou tecle N para no ativar. 1.3) PREPARAR RESPOSTA AUTOMTICA NOS FOLHEAMENTOS (opo U) Esta opo serve para preparar uma resposta automaticamente para uma ou mais cartas dos folheamentos com a sua resposta automtica escrita. Para isso, selecione as cartas para as quais voc deseja preparar a resposta automtica e depois tecle U ou simplesmente coloque o cursor em cima da carta que deseja preparar a resposta automtica e tecle U. Ao teclar U com o cursor em cima de uma carta, se voc tiver uma resposta automtica preparada, o Cartavox vai dizer: "Preparando

137

resposta automtica para xxx, Confirma destino (sim ou no)?" Tecle S para confirmar o destino ou tecle N para no confirmar. Se voc apertar S, o Cartavox vai preparar uma resposta automaticamente para a carta pegando o e-mail do remetente da carta para usar como destinatrio. J se voc teclar U com uma ou mais cartas selecionadas, caso voc j tenha uma resposta automtica preparada, o Cartavox vai perguntar: "Deseja preparar resposta automtica para as selecionadas? I - informar selecionadas" Tecle S para o Cartavox vai preparar resposta automaticamente para a(s) carta(s) selecionada(s) pegando o e-mail do remetente da(s) carta(s) para usar como destinatrio. Tecle I para informar o assunto da(s) carta(s) selecionada(s). E se voc teclar U e no tiver uma resposta automtica preparada, o Cartavox vai dizer: "A resposta automtica no foi escrita, deseja escrev-la agora?" Tecle S para escrever uma resposta automtica, veja os passos que deve seguir lendo a seo 1.1 deste manual. --------------------------------------------------------------------2) FOLHEAMENTO INTERATIVO NO SERVIDOR Com o folheamento interativo no servidor, o usurio pode folhear as cartas que esto no servidor. Neste folheamento possvel selecionar as cartas e escolher uma das seguintes opes: - Receber as cartas selecionadas e apag-las do servidor - Apagar as cartas selecionadas do servidor - Receber as cartas selecionadas sem apag-las do servidor Para acessar o folheamento interativo no servidor use a opo J. Ao entrar nesta opo o programa fala: "Contactando o servidor para receber correspondncia. Conexo realizada." Se a senha j foi digitada na sesso e na configurao atual do CARTAVOX, ele assume a senha digitada. Caso contrrio o programa fala: "Informe a sua senha." Para cancelar o processo, basta teclar ESC.

138

Para verificar se escreveu a senha correta, basta usar os comandos de leitura: setas esquerda e direita soletram, HOME vai para o inicio e CONTROL F1 fala todo contedo. Depois o programa fala: "Existem no servidor xxx cartas com uso de xxxxxx." Se existem mais de 10 cartas no servidor, o programa fala: "So muitas cartas, quantas deseja folhear?" Nota: Se digitar xx;yy, ele vai folhear da carta XX at a carta YY. Por exemplo: O Cartavox falou que tem 74 cartas no servidor, logo, pode-se digitar: - 10 e teclar ENTER: para folhear as 10 primeiras cartas; - 10;20 e teclar ENTER: para folhear da carta 10 at a carta 20; - 10; e teclar ENTER: para folhear da carta 10 at a ltima. Note que o ";" o caractere que separa o intervalo. A seguir o programa fala: "Ordenando a lista de cartas pela data de chegada." "Ok cartas ordenadas." "Nmero de cartas neste folheamento xxx cartas." "Folheando, use as setas e depois tecle sua opo." Teclas de controle na lista de cartas: SETA PARA BAIXO/CIMA anda na lista carta a carta SETA PARA ESQUERDA fala assunto da carta e diz se contm anexo SETA PARA DIREITA fala remetente HOME/CONTROL PGUP vai para primeira carta END/CONTROL PGDOWN vai para ltima carta PGUP/PGDOWN pula dez para cima/para baixo respectivamente TECLA + para selecionar uma carta na lista TECLA - para tirar a seleo de uma carta na lista BARRA DE ESPAO para selecionar se a carta no estiver selecionada ou para tirar a seleo se a carta estiver selecionada TECLA * para selecionar todas as cartas da lista TECLA / para tirar a seleo de todas as cartas da lista Tecle F1 para chamar ajuda, assim o programa fala as principais opes do folheamento no servidor. Tecle F9 para selecionar as opes com as setas, nesta opo todas as opes existentes no folheamento no servidor so exibidas. As opes disponveis no folheamento no servidor so as seguintes. A para apagar carta do servidor R para receber carta do servidor Control R para receber carta sem apag-la do servidor

139

S para selecionar o nome do remetente associando-o a um apelido I para obter informaes sobre a carta Q para informar qual carta do total CONTROL Q para informar selecionadas do total D para informar o tamanho da carta CONTROL D para informar o tamanho de todas as cartas CONTROL N para informar o nmero da carta CONTROL G para buscar carta pelo nmero B para Editar apelidos F para falar o remetente da carta CONTROL F para falar o destinatrio da carta F3 para ordenar F5 para procurar F6 para procura invertida ESC para terminar folheamento Abaixo so explicadas cada uma das opes. 2.1) APAGAR CARTA DO SERVIDOR (opo A) Quando tiverem cartas selecionadas, o programa pergunta: "Deseja apagar todas as cartas selecionadas do servidor?" Se escolher sim, apaga todas as cartas selecionadas do servidor. Se escolher no, nenhuma carta apagada e o programa continua folheando. Quando no tiverem cartas selecionadas, o programa pergunta: "Deseja apagar do servidor a carta com o assunto xxxxx?" Se sim, apaga a carta cujo cursor est em cima. Se escolher no, a carta no apagada do servidor e o programa continua folheando. 2.2) RECEBER CARTA DO SERVIDOR (opo R) Quando tiverem cartas selecionadas, o programa pergunta: "Deseja trazer todas as selecionadas?" Se escolher sim, traz e apaga todas as cartas selecionadas do servidor. Se escolher no, no traz e no apaga nenhuma carta do servidor e o programa continua folheando. Quando no tiverem cartas selecionadas, o programa pergunta: "Deseja trazer a carta com o assunto xxxxx?" Se sim, traz e apaga a carta cujo cursor est em cima. Se escolher no, no traz e no apaga a carta e o programa continua folheando. 2.3) RECEBER CARTA SEM APAG-LA DO SERVIDOR (opo CONTROL R) Esta opo igual a opo 2.2 (Receber carta do servidor), com a diferena de receber as cartas sem apag-las do servidor. 2.4) SELECIONAR O NOME DO REMETENTE ASSOCIANDO-O A UM APELIDO (opo S)

140

Os apelidos so muito teis para que no tenhamos que decorar nomes de pessoas. Usando esta funo, pode-se associar o nome do remetente da carta selecionada a um apelido. Isso nada mais do que uma lista de contatos, o Cartavox chama de Caderno de Apelidos. Nesta opo ser pedido o apelido desejado. O nome do remetente da carta j selecionado, podendo ser editado. 2.5) INFORMAES SOBRE A CARTA (opo I) Ser informado o nome da configurao atual (se tiver nome), o assunto, se a carta contm ou no arquivos inclusos, a pessoa que enviou, a data de envio, a data de chegada. Geralmente a data de envio a mesma data de chegada, a no ser que a data do computador da pessoa que enviou esteja trocada. Normalmente pode haver uma diferena de um dia. 2.6) INFORMAR QUAL CARTA DO TOTAL (opo Q) Informa a carta atual do total de cartas que esto sendo folheadas. Por exemplo, se existem 20 cartas no servidor e o cursor est em cima da carta 12, ento o programa fala: "12 de 20". 2.7) INFORMAR SELECIONADAS DO TOTAL (opo CONTROL Q) Informa quantas cartas esto selecionadas do total de cartas que esto sendo folheadas. Por exemplo, se existem 20 cartas no servidor e 4 foram selecionadas, ento o programa fala: "4 selecionados de 20". 2.8) INFORMAR O TAMANHO DA CARTA (opo D) Informa o tamanho do arquivo da carta. 2.9) INFORMAR O TAMANHO DE TODAS AS CARTAS (opo CONTROL D) Informa o tamanho total ocupado pelas cartas no servidor. 2.10) INFORMAR O NMERO DA CARTA (opo CONTROL N) Informa o nmero da carta no folheamento, ou seja, a posio da carta no folheamento. 2.11) BUSCAR CARTA PELO NMERO (opo CONTROL G) Nesta opo o programa fala: "Informe o nmero da carta a procurar de 1 a xx". O nmero x dever ser um nmero entre 1 e o nmero total de cartas

141

do folheamento atual. Ao pressionar ENTER, ele posicionar na carta que est na posio x. 2.12) EDITAR APELIDOS (opo B) Esta opo um atalho para edio de apelidos. O manual de edio de apelidos encontrado no manual do Cartavox, opo 7 (Apelidos). 2.13) FALAR O REMETENTE DA CARTA (opo F) Fala o remetente da carta. 2.14) FALAR O DESTINATRIO DA CARTA (opo CONTROL F) Fala o destinatrio da carta. 2.15) ORDENAR CARTAS (opo F3) Teclando F3 abre o menu de opes de ordenao. As opes de ordenao so: - Ordenar por data de chegada, opo C - Ordenar por data de envio, opo E - Ordenar por assunto, opo A - Ordenar por nome, opo N - Ordenar por tamanho, opo T Tais ordens so sempre crescentes. 2.16) PROCURAR CARTAS (opo F5) So possveis quatro tipos de procura: - Cabealho da carta (Opo C ou ENTER) Frequentemente temos muitas cartas recebidas. Desta forma possvel procurar nos cabealhos das cartas um nome ou assunto qualquer. O programa exibe no folheamento somente as cartas que tenham no cabealho o texto desejado. - Assunto da carta (opo A) O programa exibe no folheamento somente as cartas que tenham o mesmo assunto da carta selecionada. - Remetente da carta (opo R) O programa exibe no folheamento somente as cartas que tenham o mesmo remetente da carta selecionada. - Data de chegada da carta (opo H)

142

O programa exibe no folheamento somente as cartas que tenham a mesma data de chegada da carta selecionada. 2.17) PROCURA INVERTIDA DE CARTAS (opo F6) Esta opo idntica a do item 2.16 (Procurar Cartas), porm, exibe as cartas que no contm o texto buscado. Por exemplo, se escolher a opo de procurar pelo assunto da carta, e o assunto da carta cujo cursor est em cima "futebol", o resultado da procura ser todas as cartas que no possuem o assunto "futebol". 2.18) TERMINAR FOLHEAMENTO (opo ESC) Termina o folheamento no servidor. --------------------------------------------------------------------3) GRUPO DE CONTAS A opo grupo de contas serve para o usurio poder usar mais facilmente e rapidamente vrias contas. Por exemplo, se um usurio tem 3 contas diferentes configuradas no Cartavox e ele quer receber as cartas das 3 contas. Ele no precisa recuperar cada conta e receber as cartas de uma conta por vez. Com a opo grupo de contas basta selecionar as 3 contas e depois receber as cartas das contas selecionadas. Para acessar o menu do grupo de contas use a opo K. Depois de acessado, existem cinco opes no menu do grupo de contas, que so: Selecionar contas (Opo S) Receber cartas das contas selecionadas (Opo R) Transmitir cartas das contas selecionadas (Opo T) Monitorar contas selecionadas (Opo M) Informar total de cartas das contas selecionadas (Opo Q) Ainda para acessar mais rapidamente as opes Receber cartas das contas selecionadas, Transmitir cartas das contas selecionadas, Monitorar contas selecionadas e Informar total de cartas das contas selecionadas, voc pode acess-las diretamente do menu principal do Cartavox utilizando as seguintes teclas de atalho: CONTROL Z: Para acessar a opo Receber cartas das contas selecionadas CONTROL x: Para acessar a opo Transmitir cartas das contas selecionadas CONTROL c: Para acessar a opo Monitorar contas selecionadas

143

CONTROL q: Para acessar a opo Informar total de cartas das contas selecionadas 3.1) SELECIONAR CONTAS (Opo S) Esta opo serve para selecionar as contas que voc deseja receber cartas, transmitir cartas ou monitorar. Ao teclar esta opo, o Cartavox vai apresentar um menu com 2 opes que so: Adicionar contas ao grupo de contas (Opo A) Remover contas do grupo de contas (Opo R) 3.1.1) Adicionar contas ao grupo de contas (Opo A) Ao teclar esta opo ser mostrado um menu de folheamento com todas as contas que voc tm configuradas no Cartavox que no esto no grupo de contas. Neste menu de folheamento, voc poder: Com as setas, verificar as contas que no esto no grupo de contas; CONTROL Q para saber em qual est do total; CONTROL S para saber quantas esto selecionadas do total; F5 para procurar; CONTROL + F5 para procurar novamente a palavra procurada com a opo F5; BARRA DE ESPAO para selecionar ou tirar a seleo do atual; * para selecionar todos; / para tirar a seleo de todos; ENTER para sair do folheamento adicionando ao grupo de contas a conta em que voc est ou as contas que voc selecionou; ESC para sair do folheamento sem adicionar nenhuma conta. Se voc adicionar alguma conta que a senha no est gravada no Cartavox, o programa diz: "Para adicionar a conta xxx ao grupo de contas, a senha precisa estar ser gravada. Deseja gravar a senha desta conta?" Tecle N para no adicionar a conta ao grupo de contas. Tecle S para gravar a senha da conta e adicion-la a conta ao grupo de contas. 3.1.2) Remover contas do grupo de contas (Opo R) Ao teclar esta opo ser mostrado um menu de folheamento com todas as contas que voc tm configuradas no Cartavox que esto no grupo de

144

contas. Neste menu de folheamento, voc poder: Com as setas, verificar as contas que esto no grupo de contas; CONTROL Q para saber em qual est do total; CONTROL S para saber quantas esto selecionadas do total; F5 para procurar; CONTROL + F5 para procurar novamente a palavra procurada com a opo F5; BARRA DE ESPAO para selecionar ou tirar a seleo do atual; * para selecionar todos; / para tirar a seleo de todos; ENTER para sair do folheamento removendo do grupo de contas a conta em que voc est ou as contas que voc selecionou; ESC para sair do folheamento sem remover nenhuma conta. 3.2) RECEBER CARTAS DAS CONTAS SELECIONADAS (Opo R) Ao teclar esta opo, o Cartavox vai perguntar: "Deseja trazer as cartas de todas as contas automaticamente?" Tecle S para o Cartavox receber automaticamente as cartas de das contas que esto no grupo de contas. Para cada conta acessada, o Cartavox diz: "Acessando conta xxx", e no perodo em que o Cartavox traz as cartas ele emite um aviso sonoro para indicar que as cartas esto sendo recebidas. Tecle N para abrir conta por conta a opo Receber cartas do correio do menu principal do Cartavox. Assim voc poder escolher para cada conta se deseja trazer as cartas automaticamente ou se deseja selecionar interativamente as cartas que quer trazer. Para ver os passos detalhados dessa opo leia a seo 5 do manual do Cartavox. 3.3) TRANSMITIR CARTAS DAS CONTAS SELECIONADAS (Opo T) Ao teclar esta opo, o Cartavox vai transmitir as cartas de cada conta selecionada usando a opo Transmitir cartas escritas do menu principal do Cartavox. Para ver como essa opo funciona leia a seo 4 do manual do Cartavox. 3.4) MONITORAR CONTAS SELECIONADAS (Opo M) Ao teclar esta opo, o Cartavox pergunta: "Aps quantos segundos remonitoro (sugiro 60)?" Neste campo determina-se de quanto em quanto tempo ser verificado se chegaram cartas novas em todas as contas selecionadas. Digite o tempo

145

desejado ou tecle ENTER para aceitar os 60 segundos. Exemplo: Se voc digitou 60 e tem 3 contas selecionadas no grupo de contas. O Cartavox vai verificar se chegaram cartas na conta 1 no segundo 20, na conta 2 no segundo 40, na conta 3 no segundo 60, e assim por diante. Em seguida o Cartavox pergunta: "Aviso s quando chegarem cartas novas?" Tecle S para o Cartavox sonorizar e falar o nome da conta que chegar cartas novas. Tecle N para o Cartavox sonorizar e falar o nome da conta sempre que existir alguma carta no servidor. Ainda o Cartavox pergunta: "Deseja receber as cartas automaticamente?" Tecle S ou ENTER para as cartas de cada conta serem recebidas assim que chegarem ao servidor. Quando chegar cartas novas o programa sonoriza, fala o nome da configurao e recebe a carta. Tecle N para as cartas novas no serem recebidas automaticamente. Assim, depois que voc encerrar o monitoramento, para voc receber as cartas que chegaram ao servidor, o Cartavox abre para cada conta selecionada a opo para Receber as cartas do correio. Durante o monitoramento, voc pode teclar ENTER para saber o total de cartas que existem nos servidores das contas que esto sendo monitoradas. Se voc escolheu para receber as cartas automaticamente e teclar ENTER, ser informado o nmero total de cartas j recebidas das contas que esto sendo monitoradas. Para realizar outra tarefa no Dosvox enquanto o Cartavox estiver monitorando, chame-o com as teclas CONTROL ALT D. Depois para voltar ao Cartavox, use a opo V, selecione o Cartavox com as setas e tecle ENTER. Para encerrar a monitorao das contas selecionadas basta teclar ESC. 3.5) INFORMAR TOTAL DE CARTAS DAS CONTAS SELECIONADAS (Opo Q) Ao teclar esta opo ser informado o nmero de cartas preparadas para o envio, recebidas no lidas, recebidas j lidas e transmitidas para conta selecionada. Se no houver carta ele no fala, ou seja, se houver apenas cartas j lidas e transmitidas, ele falar apenas o nmero de cartas desses tipos.

Você também pode gostar