Compare Preços no Buscape e no BondFaro
BuscaPé, líder em comparação de preços na América Latina

Amazon PC Core 2 Duo 2.1 GHz
4Gb Ram - 250 GB HD

O Pequeno Príncipe
Antoine Saint-Exupery

Sony DCR-DVD610

Trilogia Star Wars

CD Tokyo Tales
Blind Guardian

Pinguim de Pelúcia

Patinho Faminto
www.patinho.net

Apostilas
Expr Regular
Remasterização
SED
Shell Script

Distros
Dizinha
Patinho Faminto

Nerd
Desejo Nerd
Shell Scripts

Artístico
Livro
Musica
Poesias
Tirinhas

Bobagens
Ascii Art
Games Antigos
Porque Amar Nerds
Porque Não Amar Nerds

Eu
About Me
Recomendo
Contato
DOAÇÕES

Amigos
Aurélio
Jogos Antigos
NeoDizinha
Nerds Nervosos
ProibidoParaNormais


* = Recentemente Atualizado



website stats
Locations of visitors to this page

Anúncio provido pelo BuscaPé
BuscaPé, líder em comparação de preços na América Latina

Janela CHECKLIST

A janela Checklist é usada quando o usuário pode escolher mais de uma opção.
Exemplo: Quais cores ele gosta
Quais bandas prefere
Quais estilos musicais mais ouve

O comando para criar um CHECKLIST é:
Xdialog --checklist TEXTO ALTURA LARGURA ALTURA_LISTA TAG1 ITEM1 STATUS1

Onde:
TEXTO: É o texto que aparece na janela
ALTURA: É a altura da janela
LARGURA: É a largura da janela
ALTURA_LISTA: São quantas opções que serão mostradas na janela
TAG1: É o que o Xdialog retorna quando o usuário escolher a opção 1
ITEM1: É o texto que aparece para o usuário na opção 1
STATUS1: Pode ser "on" ou "off". Quando usado "on" a opção fica selecionada assim que abrir a janela, quando usado "off" a opção fica deselecionada.

 
 

Vamos a um exemplo

cores.sh

Xdialog --stdout --checklist "Quais cores vocês gosta?" 0 0 7 \
"Vermelho" "Vermelho" off \
"Azul" "Azul" off \
"Amarelo" "Amarelo" off \
"Verde" "Verde" off

Trabalhei só com o Xdialog para ficar claro uma coisa.
Todo conteúdo retorna em uma única linha.
Selecionando todas opção o Shell Script retorna:
Vermelho/Azul/Amarelo/Verde

Você deve estar pensando então em como pode trabalhar com esse resultado.
Uma das formas é não trabalhar com esse resultado e pedir para o Xdialog colocar cada resultado em uma linha
Para isso usamos a opção --separate-output

 
 

Veja o script com essa opção ativada

cores_separadas.sh

Xdialog --stdout --separate-output --checklist "Quais cores vocês gosta?" 0 0 7 \
"Vermelho" "Vermelho" off \
"Azul" "Azul" off \
"Amarelo" "Amarelo" off \
"Verde" "Verde" off

Agora o Xdialog retorna:
Vermelho
Azul
Amarelo
Verde

Você deve estar pensando:
- Beleza, ele coloca cada resposta em uma linha diferente, mas como vou trabalhar com os dados?

Uma opção é usar o WHILE, lembra-se dele?
Veja um script que escreve: "Você gosta de COR_SELECIONADA"

cores_separadas.sh

resposta=$(Xdialog --stdout --separate-output --checklist "Quais cores vocês gosta?" 0 0 7 \
"Vermelho" "Vermelho" off \
"Azul" "Azul" off \
"Amarelo" "Amarelo" off \
"Verde" "Verde" off)

echo "$resposta" | while read LINHA; do 
	echo Você gosta de $LINHA;
done

Na variável "resposta" é guardado as opções selecionadas pelo usuário
O WHILE lê cada uma das respostas e armazena na variável "LINHA"
E por fim o comando ECHO imprime o texto "Você gosta de COR_SELECIONA"

O resultado é:
Você gosta de Vermelho
Você gosta de Azul
Você gosta de Amarelo
Você gosta de Verde

 
 

Nota: 10

Votar:
Postado em: 2008-08-16

Doações
Se quer nos ajudar, pode doar pelo PagSeguro

Ou pode doar pelo Paypal clicando no botão DONATE

Compare Produtos, Lojas e Preços


As poesias devem virar um livro impresso?
Claro
Só se tiver menos de 60 páginas
Só se tiver entre 60 e 120 páginas
Só se tiver mais que 120 páginas
Só vou comprar se for barato
Só vou comprar para você ficar feliz
Livro? Que Livro? Que poesia?
Resultado