FORUM DARKERS

Tecnologia & Informática => Programação => Shell Script => Topic started by: Cloudy on 11 de March , 2006, 02:05:33 PM

Title: Um pouco sobre Dialog - Parte I
Post by: Cloudy on 11 de March , 2006, 02:05:33 PM
O Dialog é utilizado para criar scripts com menus, em interfaces gráficas.

Vou dando exeplos e explicando.

Vou começar com um exemplo bem simples, chamamos um menu com uma mensagenzinha:
#!/bin/bash
dialog -backtitle "Caixa de Dialogo" -title "Execução do Dialog"\
-msgbox "wWw.Darkers.com.br" 9 50

Salve, execute e veja o que aconteceu. Vou explicar o code rapidamente aqui. O item "-title" mostra o título na caixa de mensagem, o "-backtitle" mostra o título do Dialog (Lá trás), e o "msgbox" abre uma caixa de mensagem normal, com um botão de OK, escrito wWw.Darkers.com.br (http://www.darkers.com.br), e por último o "9 50" são as dimensões da Caixa.

Obs: A "\" no final, serve para dizer que o comando possa continuar nas linha seguintes.

Agora o mesmo code, mas comentado:
#!/bin/bash # Onde vai rodar
dialog -backtitle "Caixa de Dialogo"\ # Começa o dialog, com o título do Dialog: "Caixa de díalogo", a "\" indica que o comando continua
-title "Execução do Dialog"\ # Põe o título da caixa de diálogo, a "\" diz que o comando continua na próxia linha
-msgbox "wWw.Darkers.com.br" 9 50 # Define o tipo de caixa (msgbox), o texto (wWw.Darkers.com.br) e as dimenções (9 50)

No dialog vc pode trabalhar de várias maneiras, com msgbox, inputbox, infobox, etc. Veja abaixo alguma delas, e como funcionam:
--msgbox "Mensagem" altura largura
--yesno "Mensagem" altura largura
--infobox "Mensagem" altura largura
--inputbox "Mensagem" altura largura [comandos]
--textbox "Mensagem" altura largura


Temos também o "menu", que trabalha de uma forma um pouco diferente:
--menu
menu altura largur tag
item1
item2
(...)


Agora, um exemplo de "yesno":
#!/bin/bash
dialog \
--title "Exemplo Yes ou No"\
--yesno "\nVocê quer abrir o Firefox?" 7 50 \
valor=$?
comando=firefox
if [ $valor = 0 ] ; then
     firefox
elif [ $valor = 1 ] ; then
     echo "Vc escolheu No"
elif [ $valor = 255 ] ; then
     echo "Vc apertou ESC"
else
     echo "Vc fez merda..."
fi

Nesse exemplo podemos ver que foi usado uma instrução dentro do Dialog. Podemos trabalhar, junto com o Dialog, tanto com instruções de loop como o próprio Shell Script. As intruções usadas acima foram: Se a pessoa clicasse Sim, abria o Firefox, caso contrário mostrava uma mensagem personalizada para cada ação.

Obs: A variável $? é uma váriavel de sistema, vale a pena dar uma estudada depois.

Bem, por enquanto é só, depois posto a parte 2, que abrange InputBox e Menus, mas primeiro quero que vcs estudem isso, rodem os exemplos, modifiquem, pesquisem, e se tiverem dúvidas, postem aqui.

Ps: Ah, desculpa se estiver algum code errado, é que estou sem Linux pra testar, deu problema no Kernel e não tá nem iniciando, então estou digitando os códs direto aqui, se tiver algum erro, idéia, dúvida, poste aqui.

...by Cloudy
Title: Re: Um pouco sobre Dialog - Parte I
Post by: slul on 11 de March , 2006, 02:16:43 PM
Uma dúvida:

Existem os dialogs e os Kdialogs

Qual a principal diferença entre eles?

o Kdialog soh roda em KDE?

Abraços Cloudy!
Title: Re: Um pouco sobre Dialog - Parte I
Post by: rodweb on 13 de March , 2006, 02:00:24 PM
Quote from: "slul"Uma dúvida:

Existem os dialogs e os Kdialogs

Qual a principal diferença entre eles?

o Kdialog soh roda em KDE?

Abraços Cloudy!

acho q é isso mesmo...
o dialog serve pra quem ta executando em modo texto...e o kdialog é como se fosse o xdialog, só q pra modo gráfico e no kde ;)
Title: Re: Um pouco sobre Dialog - Parte I
Post by: Shady on 13 de March , 2006, 02:10:47 PM
Cloudy, sinceramente voce esta surpreendendo. Continue assim!
Title: Re: Um pouco sobre Dialog - Parte I
Post by: Anonymous on 13 de March , 2006, 06:11:23 PM
Na real, o kdialog pode ser executado em qualquer face, desde que o X esteja aberto, só que na primeira vez que abri-lo em iutra face, irá demorar porque o KDE irá iniciar as libs dele, para qualquer prog dele rodar.
Tem os dialogos do gnome, mas eles dependem do zenity...
Title: Re: Um pouco sobre Dialog - Parte I
Post by: Anonymous on 15 de March , 2006, 10:04:31 PM
Esse post de Dialog está realmente bom. Só acho que vc deveria dar uma incrementada, tem coisas que vc citou mas não explicou, como por exemplo janelas "textbox", são coisas que são muito uteis.

Espero que acate minha idéia, vai melhorar bastante seu tópico.

E mesmo assim, parabéns.