|
Programando
um cliente de mail - Parte 4
Nesta parte final, mostraremos como criar a interface para
configuração do mailer, salvando em arquivo os dados do usuário.
Precisamos de um diálogo auxiliar que nos permitirá
introduzir o valor das variáveis mail(host) e mail(addr),
discutidas na semana passada. Incluiremos mais um botão na
nossa interface (rótulo "config") para abrir esse
novo diálogo.
|

Criação do
novo botão
"config"
|
Para
o diálogo, simplesmente criamos um toplevel com duas caixas
de entrada (tipo "Label and Entry") com estas variáveis
escolhidas no atributo -textvariable de cada uma.
Adicionalmente, esse toplevel conterá um botão com texto OK,
para indicar que estamos satisfeitos com a configuração.
Criaremos
também um "alias" com o nome "config"
para esse diálogo, para tornar mais conveniente o acesso ao
mesmo, como veremos adiante. Para que os dados introduzidos
sejam persistentes, isto é, permaneçam depois que
finalizarmos o programa e o reutilizarmos, precisamos salvar
estas variáveis num arquivo, e esse arquivo será ~/.mailerrc.
Esse nome esquisito tem um til para indicar o "home"
do usuário que o está utilizando e iniciado por ponto pois
ele deverá ser invisível (como por exemplo o .inputrc ou .profile).
O
procedimento para escrita em um arquivo é semelhante ao dos
sockets que vimos anteriormente. Abrimos o arquivo com
"open ~/.mailerrc w", onde o argumento "w"
indica que somente iremos escrever no arquivo. Esse comando
devolve um "file handle" que devemos salvar numa
variável para a execução de qualquer comando que se refira
a esse canal agora aberto.
Quando não precisarmos mais do acesso
ao arquivo, devemos fechá-lo com o comando "close $fd",
onde "fd" é a variável onde guardamos o canal
devolvido pelo comando "open".
O conteúdo desse arquivo será uma série de comandos
"set variável valor", ou seja, comando para
introduzir valores em variáveis do tcl.
Efetuando o comando "source ~/.mailerrc", o
interpretador executará esses comandos como se eles
fossem introduzidos manualmente.
Observe também que as variáveis mail(user) e mail(from)
têm o mesmo valor, pois ambas se referem ao remetente da
mensagem.
Na inicialização do programa, que é executada com a função
"main", devemos carregar o arquivo ~/.mailerrc, se
ele já existir, bem como certificar-nos que o diálogo de
configuração não será mostrado inicialmente,
executando:
Window hide $widget(config).
 |
O código para salvar nesse arquivo será adicionado ao
botão OK do diálogo já descrito. Após salvar as variáveis
relevantes no arquivo ~/.mailerrc, devemos deixar invisível
novamente o diálogo.
O botão que chama o diálogo deverá executar um comando que
deixa esse diálogo visível, ou seja: Window show $widget(config).
É recomendável mudar o atributo -state da caixa de entrada com o rótulo
"from" para "disabled", de forma a não
permitir que o usuário modifique o endereço do remetente,
isto é, dele próprio.
Não
foi nossa intenção apresentar uma aplicação sofisticada
com muitos aspectos configuráveis, mas algo prático e
simples, diria mesmo didático, para introduzir ao iniciante
essa ferramenta tão poderosa que é o tcl/tk.
Anteriores
Programando
um cliente de e-mail (III) (19/10/1999)
Programando
um cliente de e-mail (II) (12/10/1999)
Programando
um cliente de e-mail (I) (05/10/1999)
Visual
Tcl Parte 3 (28/09/1999)
Visual
Tcl Parte 2 (21/09/1999)
O
Visual Tcl (14/09/99)
Programando
para Linux (08/09/1999)

|