Archivos de ‘Programación‘
Jugando con Cpp
En la univesidad, vimos una semana de cpp, la cual me agrado lo que se abarco, el primer programa fue esté:
[cpp]
main()
{
float calificacion;
cout << "dame tu calificacion" << endl;
cin >> calificacion;
if ( calificacion > 8 )
{
cout << "aprobado" << endl;
}
else
{
cout << "Reprobado" << endl;
}
}
[/cpp]
Cuando entré y vi que aprenderíamos cpp, al principio pensé, oh diablos tendré que instalar un winbugs virtual, pero me dejo compilarlo desde mi linuts, así bien leet, después de ver las operaciones lógicas y uno que otro ciclo jaja, llegamos al examen el cual fue esté:
[cpp]
#include
#include
using namespace std;
void esta ()
{
int clave=0;
float precio=0, costo=0, ncosto=0, descuento=0, cantidad=0;
system( “figlet Cantidad de boletos”);
cout << " ------------------------- " << endl;
cin >> cantidad;
system( “figlet Clave de los boletos”);
cout << " ------------------------- " << endl;
cin >> clave;
switch(clave)
{
case 1:
costo = cantidad * 250;
break;
case 2:
costo = cantidad * 350;
break;
case 3:
costo = cantidad * 450;
break;
case 4:
costo = cantidad * 650;
break;
case 5:
costo= cantidad * 700;
break;
}
if ( costo > 800 )
{
descuento = costo * .05;
ncosto = costo – descuento;
cout << " Tu Pago con descuento es de " << ncosto << endl;
}
else
{
cout << " Tu pago es " << costo << endl;
}
}
int main()
{
system( "clear" );
esta ();
return 0;
}
[/cpp]
quero agradecer a mi amiwis manuelinux por la librería de system, y un if pero tuve que usar otro ¬¬ el profesor lo vería demasiado leet, creo que después pongo un post sobre como compilar y esas cosas.. ahora tengo hueva jajaja y quería poner esto.. no se burlen jaaja :-), la próxima semana veré Java.
if_existing & if_running at conky
Cuando recien use conky, me llamo la atención que me ponía dos barras de mis conexiones, eth0 y wlan0, y me puse a buscar en la página de la documentación, sobre estás variables que me hicieran más limpio mi desktop, estas son:
if_running (process)
if PROCESS is running, display everything $if_running and the matching $endif. This uses the “pidof” command, so the -x switch is also supportedif_existing file (string)
if FILE exists, display everything between if_existing and the matching $endif. The optional second paramater checks for FILE containing the specified string and prints everything between $if_existing and the matching $endif.
Un ejemplo sería para mostrar solo que estoy usando, en esté caso si mi wireless o LAN :
[c]
${if_existing /proc/net/route eth0}
${color white}${color #707070}${font size=16}${color #f4feff}${alignc} LAN: ${color #f4feff} ${addr eth0}${font}
${color white}${color #707070}${downspeedgraph eth0 20,260 707070 cccccc}
${color white}${color #707070}${upspeedgraph eth0 20,260 cccccc 707070}
${else}
${font size=16}${color #f4feff}${alignc} WIFI: ${color #f4feff}${addr wlan0}${font}
${downspeedgraph wlan0 20,260 707070 cccccc}
${upspeedgraph wlan0 20,260 cccccc 707070}
${color #707070}${wireless_link_bar wlan0}
${else}
${endif}
[/c]
Esté sería usando si corro un programa, en esté caso el amarok:
[c]
${if_running amarokapp}
${color #707070}Ahora escucho:
${color #707070} ${execi 10 dcop amarok player title} por ${execi 10 dcop amarok player artist} | ${execi 5 dcop amarok player currentTime}/${execi 10 dcop amarok player totalTime}
${color #707070}${execibar 1 ~/.conky/amarok progress}
${color #707070}Bitrate:${execi 10 dcop amarok player bitrate}kbps${alignr}Vol:${execi 10 dcop amarok player getVolume}%
${else}
${font Invaders:size=35}${color #DEDDDF} @C ${font}
${else}
${endif}
[/c]
Muy bonitos los if, jeje el script en bash de amarok lo puedes encontrar la pagina de conky, dejo un screen de mi conky sin usar amarok y después corriendo el amarok.
Yo en el else, puse un tipo de fuente que encontre en dafont.com que se llama invaders por eso me muestra esos iconitos.
${font Invaders:size=35}${color #DEDDDF} @C ${font}
Es cosa que te pongas a volar un rato para ver que más hacer.
GtkDialog
continuación de: GtkDialog-III.
Creo que es hora de ver como hacer unos menús, siguiendo con la estructura, <menubar></menubar> definen la barra de menú, dentro de ella debe de contener <menuitem></menuitem> el cual muestra los menú.
<menubar>
<menu>
<menuitem>
<label>gtk-open</label>
</menuitem>
<menuitem>
<label>gtk-save</label>
</menuitem>
<menuitem>
<label>gtk-quit</label>
<action>EXIT="quit"</action>
</menuitem>
<label>File</label>
</menu>
</menubar>
[Código: Menu.sh ]
En la barra de menu podemos usar iconos, como el ejemplo que puse en la imagen, con el atributo icon=”gtk-icono a usar”, y crear etiquetas alado de los iconos, para usar los predifinidos sin etiquetas (labels), podemos usar stock=”gtk-open”, lo cual pondría el icono con su nombre pero, esto ya depende del sistema, al poner el icono gtk-open y tienes tu distribución en español, lo leera como “abierto”, podemos decir los predifinidos :D.. también tenemos una opción de separar los menus con <separator></separator>. Esté es un ejemplo.
[Código: MenuIcon.sh]
En el menú, open podemos usar chooser:
[Código: choo.sh]
Algo parecido a un menú, es el noteBook, esto en lo personal me gusto mucho:
[Código: notebook.sh]
Para crear las pestañas, se usa <notebook></notebook>, dentro de ella los atributos serían los menus, por así decirlo <notebook labels=”Checkbox|Radiobutton|Tree“>. dentro de ello se pone el contenido de cada pestaña, ya sea abriendo un nuevo <vbox> o como en el caso de Tree, un nuevo <tree>.
Solo es cosa de idear como queremos el menú, y poner a trabajar nuestras mentes maleadas :D…
Creando siguiente tema, creo que serán sobre ventanas xD.
GtkDialog
Continuación de :
gtkDialog-II
Vimos los botones, sencillos entonces nos damos una idea de como funciona esto, lo que se puede hacer con los atributos, hay más widgets todavía, como los Checkbox, esto es sencillo:
<checkbox> <label>Esto es un CheckBox</label> <variable>CAJITA1</variable> <action>echo checkbox esta en $CHECKBOX marcado</action>> </checkbox>
Sencillo como crear checkbox, tiene muchos atributos como marcar, habilitar, deshabilitar, hacer combinaciones:
[code: check.sh]
No solo cajitas podemos hacer también podemos usar un radio button, de la misma forma que checkbox :

[code: checkb.sh]
Teniendo en cuenta esto, también salen los combos, las cajitas de combox, aquí tiene un nombre chistoso combobox:

[code: combobox.sh]
Todo esto me hace recordar a mi querido zenity, en el bash, a lo que mis recuerdos me llevan a que aquí también tenemos una barra de progreso, un poco más divertida:
<progressbar>
<label>algo de texto</label>
<input>for i in $(seq 0 10 100); do echo $i; sleep 0.3; done</input>
<action type="exit">Listo</action>
</progressbar>
Podemos ver que no tiene nada diferente a lo demás, en el input podemos ejecutar el tiempo y con un simple ciclo for, Son determinados espacios en un tiempo..

[code: progresobar.sh]
En zenity, es un poco más facil y solo consta de :
zenity --progress --auto-close
La barra de Progreso, también puede dividirse por partes e imprimir algunas frases dentro de la barra, como el ejemplo del for simple que estaba arriba, solo que aquí creamos una Función, sip una función para agrupar trozos de código de una manera más lógica:
[php]
function progress() {
for i in $(seq 0 10 100); do
echo $i
[ "$i" -le 30 ] && echo "Empieza... tun tun"
[ "$i" -le 60 -a "$i" -gt 30 ] && echo "Uhh ala mitad..."
[ "$i" -gt 60 ] && echo "Termina u,u"
sleep 0.3
done;
echo ready
}
[/php]
[code: progresobarter.sh]
Hagamos lago más rapido y que se sobreponga, en esté caso al comando date, que muestra la fecha..o el comando que quieras.. como dicen los españoles, "os dejo a vuestra imaginación":
[php]
#! /usr/bin/gtkdialog -e
function progress() {
for i in $(seq 0 10 100); do
echo $i
[ "$i" -le 30 ] && echo "Empieza"
[ "$i" -le 60 -a "$i" -gt 30 ] && echo "ya casi"
[ "$i" -gt 60 ] && echo "Fin"
sleep 0.3
done;
echo ready
}
function progress_fast() {
for i in $(seq 0 1 10000); do
echo $((i/100))
[ "$i" -le 3000 ] && echo "1....."
[ "$i" -le 6000 -a "$i" -gt 3000 ] && echo "2...doshhh"
[ "$i" -gt 6000 ] && echo "fin ..
rapisimo"
#sleep 0.1
done;
echo ready
}
[/php]

[code: progresobartest.sh ]











