Como hacer un programa sencillo para puppy linux
- mister_electronico
- Posts: 969
- Joined: Sun 20 Jan 2008, 20:20
- Location: Asturias_ España
- Contact:
¿Hay electronicos en este foro?
Al ver el interes que se esta tomando en este programita, mi pregunta e s si hay gente electronica en este foro, o gente aficionada a ello?
Un saludo...
Un saludo...
- mister_electronico
- Posts: 969
- Joined: Sun 20 Jan 2008, 20:20
- Location: Asturias_ España
- Contact:
Que bien creo que es muy interesante....
Gracias Proudog y yurfader21 por vuestras aportaciones, creo que son muy interesantes para todos, tanto en el lenguaje de scripts como el lenguaje en C....
Muchas veces he estado tentado en hacer programas en C que y luego enlazarlos con gtkdialog para sacarlos de forma visual en ventanas....
Abri un tema hace tiempo pero no causo mucha sensacion y lo abandone, pero si la gente esta por la labor, yo estare aqui con todo mi apoyo...
Pienso que se podrian hacer cosas bastante interesantes que podrian servir de utilidad para todos....
Estuve tambien desde puppy haciendo programas en c para controlar el puerto serie para mandar datos a microcontroladores, y bueno es una de mis tareas para mejorarlo...
El otro dia empece tambien a tocar algo de ensamblador y hacer mi primer programa "Hello wolrd" en Puppy...
Bueno un saludo..
Muchas veces he estado tentado en hacer programas en C que y luego enlazarlos con gtkdialog para sacarlos de forma visual en ventanas....
Abri un tema hace tiempo pero no causo mucha sensacion y lo abandone, pero si la gente esta por la labor, yo estare aqui con todo mi apoyo...
Pienso que se podrian hacer cosas bastante interesantes que podrian servir de utilidad para todos....
Estuve tambien desde puppy haciendo programas en c para controlar el puerto serie para mandar datos a microcontroladores, y bueno es una de mis tareas para mejorarlo...
El otro dia empece tambien a tocar algo de ensamblador y hacer mi primer programa "Hello wolrd" en Puppy...
Bueno un saludo..
-
- Posts: 76
- Joined: Mon 26 Oct 2009, 02:43
Re: Que bien creo que es muy interesante....
mister_electronico, Mi formación formal es de comunicaciones y electrónica aunque actualmente me dedico a diseño de procesos y de productos sobre filtrado (Electromagnético desdeluego) en un área muy especializada que requiere un gran dominio de materiales.mister_electronico wrote:...
Pienso que se podrian hacer cosas bastante interesantes que podrian servir de utilidad para todos....
Estuve tambien desde puppy haciendo programas en c para controlar el puerto serie para mandar datos a microcontroladores, y bueno es una de mis tareas para mejorarlo...
El otro dia empece tambien a tocar algo de ensamblador y hacer mi primer programa "Hello wolrd" en Puppy...
Bueno un saludo..
Pero aún así he tratado de mantenerme actualizado en la electrónica, cuando el tiempo me lo permite, además de mejorar mi programación y conocer lenguajes que no domino.
Y bién, ahí van mis dos centavos; he trabajado principalmente con microcontroladores AVR de Atmel (tinys y Megas) y pienso que para una estructura versátil es mejor utilizar el bus de I2C (TWI) que el serial en los micros. He realizado proyectos de maestro-esclavos con I2C en éstos microcontroladores. Por ahí publiqué en una de mis participaciones mi intención de desarrollar un proyecto para hacer un desarrollo de instrumentación con éstas bases. (Ver proyectos V-USB e I2C tiny).
Pero mi idea es primero conocer mejor a Linux y a Puppy y de ahí partir para desarrollarlo. He trabajado un poco con lm-sensors, pero no sé utilizar I2C en Linux.
De cualquier manera si me interesa participar en un proyecto así aunque ahora estoy en el proyecto de traducción de YurPup.
Saludos
-
- Posts: 76
- Joined: Mon 26 Oct 2009, 02:43
Seguimos con la Ley de Ohm
Si seguimos con el código del script, podríamos agregar la rutina de selección para integrar los tres programas anteriores independientes. Esta es una manera de utilizar el "case" en bash.
Saludos
Code: Select all
#!/bin/bash
#
# Ohm.sh: Cálculo de Voltaje, Corriente y Voltaje (Ley de Ohm)
# Yurfader21
echo "Esta es una calculadora para la Ley de Ohm"
echo
echo "Ingrese (a) si quiere calcular el Voltaje"
echo "Ingrese (b) si quiere calcular el Corriente"
echo "Ingrese (c) si quiere calcular la Resistencia"
echo
printf "Ingrese su elección, a, b o c: "
read Seleccion
case "$Seleccion" in
a)
printf "Ingrese la Corriente (Amperes): "
read Corriente
printf "Ingrese la Resistencia (Ohms): "
read Resistencia
printf "El Voltaje es: "$(echo "scale=3;$Corriente*$Resistencia" | bc)" Voltios\n"
;;
b)
printf "Ingrese el Voltaje (Voltios): "
read Voltaje
printf "Ingrese la Resistencia (Ohms): "
read Resistencia
printf "La corriente es: "$(echo "scale=3;$Voltaje/$Resistencia" | bc)" Amperes\n"
;;
c)
printf "Ingrese el Voltaje (Voltios): "
read Voltaje
printf "Ingrese la Corriente (Amperes): "
read Corriente
printf "La Resistencia es: "$(echo "scale=3;$Voltaje/$Corriente" | bc)" Ohms\n"
;;
*) echo "Por favor seleccione a, b ó c";;
esac
exit 0
- Attachments
-
- Ohm1.tar.gz
- (501 Bytes) Downloaded 688 times
- mister_electronico
- Posts: 969
- Joined: Sun 20 Jan 2008, 20:20
- Location: Asturias_ España
- Contact:
Me alegro de ver un electronico en este foro....
Bueno yo soy tecnico electronico me dedico principalmente al mantenimiento de centros de F.M y O.M enlaces etc...
He echo distintos proyectillos automatismos, controladores, comunicacion gsm, tambien he trabajado con I2C, grabadores de audio,
control efectos luminosos, etc...
Lo que pasa es que trabajo con la familia Microchip las familias 16F y 18F con entorno de programacion MPlab y programador debugger ICD2.
Hasta ahora mis programas visuales los hago bajo windows en Visual Basic, pero me gustaria trabajar en este sentido con Puppy...
Buscando un entorno visual, que todavia estoy por definir, pero la informacion de estos entornos esta mucho mas dificil de encontrar, asi como requiere de mas conocimientos que por supuesto llevan tiempo..
Estuve intentando por ejemplo intentar hacer el programa que tu has echo por script por GTKDialog, o por lo menos para lo que es la presentacion y aquisicion de datos y luego hacerlo mediante un programa en C los calculos, pero todavia no he encontrado la forma de hacerlo, osea la forma de capturar esos datos y pasarselos al programa en C, haber si este fin de semana tengo tiempo y lo hago...
Estupendo tu programa de script, muy bueno para gente como yo que no esta muy puesta en el lenguaje de script..... gracias por ello...
Un saludo ...... nos vemos.
He echo distintos proyectillos automatismos, controladores, comunicacion gsm, tambien he trabajado con I2C, grabadores de audio,
control efectos luminosos, etc...
Lo que pasa es que trabajo con la familia Microchip las familias 16F y 18F con entorno de programacion MPlab y programador debugger ICD2.
Hasta ahora mis programas visuales los hago bajo windows en Visual Basic, pero me gustaria trabajar en este sentido con Puppy...
Buscando un entorno visual, que todavia estoy por definir, pero la informacion de estos entornos esta mucho mas dificil de encontrar, asi como requiere de mas conocimientos que por supuesto llevan tiempo..
Estuve intentando por ejemplo intentar hacer el programa que tu has echo por script por GTKDialog, o por lo menos para lo que es la presentacion y aquisicion de datos y luego hacerlo mediante un programa en C los calculos, pero todavia no he encontrado la forma de hacerlo, osea la forma de capturar esos datos y pasarselos al programa en C, haber si este fin de semana tengo tiempo y lo hago...
Estupendo tu programa de script, muy bueno para gente como yo que no esta muy puesta en el lenguaje de script..... gracias por ello...
Un saludo ...... nos vemos.
-
- Posts: 76
- Joined: Mon 26 Oct 2009, 02:43
Ley de Ohm versión 2
Me parece que la idea de participar en los foros es el obtener información cuando uno la requiere, pero también, si es posible dejar algo por aquí que sea de utilidad a otros, hay que publicarlo.
Así como hemos recibido ayuda, me parece adecuado brindarla.
Siguiendo con el programa, si deseamos que la rutina sea recurrente, podemos utilizar un lazo "while". Enseguida anexo el código.
He tratado de mantener el código lo más limpio posible para claridad aunque no es el código más eficiente ni mucho menos a prueba de fallos, pero tiene la funcionalidad básica requerida.
Saludos
Así como hemos recibido ayuda, me parece adecuado brindarla.
Siguiendo con el programa, si deseamos que la rutina sea recurrente, podemos utilizar un lazo "while". Enseguida anexo el código.
Code: Select all
#!/bin/bash
#
# Ohm2.sh: Cálculo de Voltaje, Corriente y Resistencia (Ley de Ohm)
# Versión 2, Yurfader21
salir=n
while [ "$salir" != "s" ];
do
echo
echo "Esta es una calculadora para la Ley de Ohm"
echo
echo "Ingrese (a) si quiere calcular el Voltaje"
echo "Ingrese (b) si quiere calcular el Corriente"
echo "Ingrese (c) si quiere calcular la Resistencia"
echo "Ingrese (s) para salir"
echo
printf "Ingrese su elección, a, b, c ó s: "
read Seleccion
case "$Seleccion" in
a)
printf "Ingrese la Corriente (Amperes): "
read Corriente
printf "Ingrese la Resistencia (Ohms): "
read Resistencia
printf "El Voltaje es: "$(echo "scale=3;$Corriente*$Resistencia" | bc)" Voltios\n"
;;
b)
printf "Ingrese el Voltaje (Voltios): "
read Voltaje
printf "Ingrese la Resistencia (Ohms): "
read Resistencia
printf "La corriente es: "$(echo "scale=3;$Voltaje/$Resistencia" | bc)" Amperes\n"
;;
c)
printf "Ingrese el Voltaje (Voltios): "
read Voltaje
printf "Ingrese la Corriente (Amperes): "
read Corriente
printf "La Resistencia es: "$(echo "scale=3;$Voltaje/$Corriente" | bc)" Ohms\n"
;;
s) salir=s;;
*) echo "Por favor seleccione a, b ó c";;
esac
done
exit 0
Saludos
- Attachments
-
- Ohm2.tar.gz
- (570 Bytes) Downloaded 683 times
-
- Posts: 76
- Joined: Mon 26 Oct 2009, 02:43
Ley de Ohm versión 3
Para robustecer el programa, es necesario identificar si los valores ingresados son numéricos. Una manera de identificar éstos valores y evitar posibles errores. También es conveniente limpiar la terminal para que sean más visibles los mensajes. Ver código enseguida.
Saludos
Code: Select all
#!/bin/bash
#
# Ohm3.sh: Cálculo de Voltaje, Corriente y Resistencia (Ley de Ohm)
# Versión 3, Yurfader21
clear
salir=n
while [ "$salir" != "s" ];
do
echo
echo "Esta es una calculadora para la Ley de Ohm"
echo
echo "Ingrese (a) si quiere calcular el Voltaje"
echo "Ingrese (b) si quiere calcular el Corriente"
echo "Ingrese (c) si quiere calcular la Resistencia"
echo "Ingrese (s) para salir"
echo
printf "Ingrese su elección: a, b, c ó s: "
read Seleccion
case "$Seleccion" in
a)
clear
printf "Ingrese la Corriente (Amperes): "
read Corriente
printf "Ingrese la Resistencia (Ohms): "
read Resistencia
if [ $Corriente -eq $Corriente 2> /dev/null ] && [ $Resistencia -eq $Resistencia 2> /dev/null ] && [ -n "$Corriente" ] && [ -n "$Resistencia" ]; then
echo
printf "El Voltaje es: "$(echo "scale=3;$Corriente*$Resistencia" | bc)" Voltios\n"
else
echo
printf "Por favor ingrese valores numéricos para Corriente y Resistencia"
echo
fi
;;
b)
clear
printf "Ingrese el Voltaje (Voltios): "
read Voltaje
printf "Ingrese la Resistencia (Ohms): "
read Resistencia
if [ $Voltaje -eq $Voltaje 2> /dev/null ] && [ $Resistencia -eq $Resistencia 2> /dev/null ] && [ -n "$Voltaje" ] && [ -n "$Resistencia" ]; then
echo
printf "La Corriente es: "$(echo "scale=3;$Voltaje/$Resistencia" | bc)" Amperes\n"
else
echo
printf "Por favor ingrese valores numéricos para Voltaje y Resistencia"
echo
fi
;;
c)
clear
printf "Ingrese el Voltaje (Voltios): "
read Voltaje
printf "Ingrese la Corriente (Amperes): "
read Corriente
if [ $Voltaje -eq $Voltaje 2> /dev/null ] && [ $Corriente -eq $Corriente 2> /dev/null ] && [ -n "$Voltaje" ] && [ -n "$Corriente" ]; then
echo
printf "La Resistencia es: "$(echo "scale=3;$Voltaje/$Corriente" | bc)" Ohms\n"
else
echo
printf "Por favor ingrese valores numéricos para Voltaje y Resistencia"
echo
fi
;;
s) salir=s;;
*) clear
echo "Por favor seleccione a, b ó c";;
esac
done
exit 0
- Attachments
-
- Ohm3.tar.gz
- (712 Bytes) Downloaded 675 times
Re: Ley de Ohm versión 3
yurfader21 wrote:Para robustecer el programa...
Mi aporte con la versión GNU gettext compatible:
Code: Select all
#!/bin/bash
#
# Ohm5.sh: Cálculo de Voltaje, Corriente y Resistencia (Ley de Ohm)
# Versión gettext, Yurfader21
# Programa totalmente Libre
#
export TEXTDOMAIN="Ohm"
Error_2=$(gettext "Error 02: Por favor ingrese valores numéricos")
It_is1=$(gettext "El Voltaje es:")
It_is2=$(gettext "La Corriente es:")
It_is3=$(gettext "La resistencia es:")
clear
salir=n
while [ "$salir" != "s" ];
do
echo
echo "$(gettext "Esta es una calculadora para la Ley de Ohm")"
echo
echo "$(gettext "1 Para calcular el Voltaje")"
echo "$(gettext "2 Para calcular el Corriente")"
echo "$(gettext "3 Para calcular la Resistencia")"
echo "$(gettext "4 Créditos")"
echo "$(gettext "s Para Salir")"
echo
printf "$(gettext "Ingrese su elección: 1, 2, 3, 4, ó s: ")"
read Seleccion
case "$Seleccion" in
1)
clear
printf "$(gettext "Ingrese la Corriente en amperes: ")"
read Corriente
printf "$(gettext "Ingrese la Resistencia en Ohms: ")"
read Resistencia
if [ $Corriente -eq $Corriente 2> /dev/null ] && [ $Resistencia -eq $Resistencia 2> /dev/null ] && [ -n "$Corriente" ] && [ -n "$Resistencia" ]; then
echo
printf "$It_is1: "$(echo "scale=3;$Corriente*$Resistencia" | bc)" V.\n"
else
echo
printf "$Error_2"
echo
fi
;;
2)
clear
printf "$(gettext "Ingrese el Voltaje en Voltios: ")"
read Voltaje
printf "$(gettext "Ingrese la Resistencia en Ohms: ")"
read Resistencia
if [ $Voltaje -eq $Voltaje 2> /dev/null ] && [ $Resistencia -eq $Resistencia 2> /dev/null ] && [ -n "$Voltaje" ] && [ -n "$Resistencia" ]; then
echo
printf "$It_is2: "$(echo "scale=3;$Voltaje/$Resistencia" | bc)" Amp.\n"
else
echo
printf "$Error_2"
echo
fi
;;
3)
clear
printf "$(gettext "Ingrese el Voltaje en Voltios: ")"
read Voltaje
printf "$(gettext "Ingrese la Corriente en Amperes: ")"
read Corriente
if [ $Voltaje -eq $Voltaje 2> /dev/null ] && [ $Corriente -eq $Corriente 2> /dev/null ] && [ -n "$Voltaje" ] && [ -n "$Corriente" ]; then
echo
printf "$It_is3: "$(echo "scale=3;$Voltaje/$Corriente" | bc)" Ohm\n"
else
echo
printf "$Error_2"
echo
fi
;;
4)
echo "*****************************************************"
echo "Ohm.sh: Calculadora simple de la ley de Ohm"
echo "Versión 4, Yurfader21 copyleft 2010"
echo "Programa totalmente libre"
echo "*****************************************************"
;;
s) salir=s
;;
*) clear
echo "$(gettext "Error 01: Por favor seleccione 1, 2, 3, 4, ó s ")"
;;
esac
done
exit 0
-
- Posts: 76
- Joined: Mon 26 Oct 2009, 02:43
Ley de Ohm versión 4 (Versión gettext excrita por Proudog)
Muchas gracias Proudog, me alegro que se generen variantes del programa y que nos sirvan para enriquecernos un poco.
Aunque son programas sencillos, en mi caso por lo menos, sirven para comprender mejor los detalles y sutilezas de los lenguajes. Gracias por la versión gettext y los créditos (A mí me ocurre al contrario de los grandes consorcios, asumo que lo que desarrollas es libre por defecto ).
Anexo el programa de Proudog comprimido como versión 4, con sólo algunos cambios menores.
Saludos.
Aunque son programas sencillos, en mi caso por lo menos, sirven para comprender mejor los detalles y sutilezas de los lenguajes. Gracias por la versión gettext y los créditos (A mí me ocurre al contrario de los grandes consorcios, asumo que lo que desarrollas es libre por defecto ).
Anexo el programa de Proudog comprimido como versión 4, con sólo algunos cambios menores.
Saludos.
- Attachments
-
- Ohm4.tar.gz
- (880 Bytes) Downloaded 693 times
- mister_electronico
- Posts: 969
- Joined: Sun 20 Jan 2008, 20:20
- Location: Asturias_ España
- Contact:
Que dificil meter ecuaciones en gtkdialog...
Llevo la tarde de haller intentado averiguar como meter ecuaciones en dentro de las ventanas de gtkdialgo y que farragoso que es....
Hay muy extensa documentacion detallada de como hacer distintos widges, ventanas etc... y bien documentadas, pero a la hora de meter ecuaciones, lo unico que encuentro son nomenclaturas escasas y muy farragosas, lo cual me esta desanimando bastante con respecto al lenguaje de Gtkdialog... pongo un ejemplo.
Lo unico que deseo es que en hacer es meter una formula en el
<action> del button Calculate la formula Volts = Ampers x Ohms
y que el valor se visualice en la ventanita de Volts o en el entry volts..
Pero que dificil todavia no he encotrado como.......
Pero continuo...
Un saludo..
Hay muy extensa documentacion detallada de como hacer distintos widges, ventanas etc... y bien documentadas, pero a la hora de meter ecuaciones, lo unico que encuentro son nomenclaturas escasas y muy farragosas, lo cual me esta desanimando bastante con respecto al lenguaje de Gtkdialog... pongo un ejemplo.
Code: Select all
#! /bin/bash
export MAIN_DIALOG='
<window title="Program Omwatt">
<vbox>
<frame Imputs>
<hbox>
<entry>
<variable>OHMS</variable>
<input>echo '0'</input>
<visible>enabled</visible>
</entry>
<text>
<variable>Ohms</variable>
<label>Input_Ohms</label>
<visible>enable</visible>
</text>
</hbox>
<hbox>
<entry>
<variable>Amper</variable>
<input>echo '0'</input>
<visible>enabled</visible>
</entry>
<text>
<variable>Amper</variable>
<label>Input_Ampers</label>
<visible>enable</visible>
</text>
</hbox>
</frame>
<frame Output>
<hbox>
<entry>
<variable>OUPUTS</variable>
<input>echo '0'</input>
<visible>enabled</visible>
</entry>
<text>
<variable>VOLTS</variable>
<label>VOLTS</label>
<visible>enable</visible>
</text>
</hbox>
<hbox>
<button>
<label>Calculate</label>
</button>
</hbox>
</frame>
</vbox>
</window>
'
gtkdialog3 --program=MAIN_DIALOG
<action> del button Calculate la formula Volts = Ampers x Ohms
y que el valor se visualice en la ventanita de Volts o en el entry volts..
Pero que dificil todavia no he encotrado como.......
Pero continuo...
Un saludo..
Re: Que dificil meter ecuaciones en gtkdialog...
Patriot wrote:welcome to gtkdialog3 scripting ... gtkdialog3 is not difficult, just need a little bit of time to learn and understand ... Here's something for you to ponder over a cup of coffee ... It's quite easy once you understand the structure ... Have fun ...
Code: Select all
#!/bin/bash
MAIN_DIALOG='
<window title="Voltage Calculator">
<vbox>
<frame Input Parameters >
<hbox>
<text>
<label>Enter Ohms :</label>
</text>
<entry>
<variable>OHMS</variable>
<input>echo 0</input>
</entry>
</hbox>
<hbox>
<text>
<label>Enter Ampere :</label>
</text>
<entry>
<variable>AMPS</variable>
<input>echo 0</input>
</entry>
</hbox>
</frame>
<frame Output>
<hbox>
<text>
<label>Result :</label>
</text>
<entry>
<variable>OUTPUT</variable>
<input>if [ "$OHMS" -a "$AMPS" ]; then dc $OHMS $AMPS mul p; fi</input>
</entry>
<text>
<label>Volts</label>
</text>
</hbox>
<hbox>
<button>
<label>Calculate</label>
<action>refresh:OUTPUT</action>
</button>
</hbox>
</frame>
<hbox>
<button ok>
<action>exit:EXIT</action>
</button>
</hbox>
</vbox>
</window>
' gtkdialog3 --program=MAIN_DIALOG
-
- Posts: 76
- Joined: Mon 26 Oct 2009, 02:43
Cálculo de Voltaje (gtkdialog)
Coincido con Proudog, se requiere de práctica para dominar un lenguaje, y muchas veces es preferible usar rutinas simples para entender los detalles.
Anexo una variante de la versión de Patriot en español y con algunos cambios para hacerlo un poco más fácil de leer. Yo prefiero utilizar bc en lugar de dc, pero es cuestión de preferencias si tienes el mismo resultado final.
Saludos
Anexo una variante de la versión de Patriot en español y con algunos cambios para hacerlo un poco más fácil de leer. Yo prefiero utilizar bc en lugar de dc, pero es cuestión de preferencias si tienes el mismo resultado final.
Code: Select all
#!/bin/bash
MAIN_DIALOG='
<window title="Cálculo de Voltaje">
<vbox>
<frame Ingrese Resistencia y Corriente >
<hbox>
<text>
<label>Ingrese la Resistencia (Ohms) :</label>
</text>
<entry>
<default>2</default>
<variable>Resistencia</variable>
</entry>
</hbox>
<hbox>
<text>
<label>Ingrese la Corriente (Amperes) :</label>
</text>
<entry>
<default>3</default>
<variable>Corriente</variable>
</entry>
</hbox>
</frame>
<frame Voltaje>
<hbox>
<text>
<label>El voltaje es :</label>
</text>
<entry>
<variable>Voltaje</variable>
<input>echo "scale=3;$Resistencia*$Corriente" | bc</input>
</entry>
<text>
<label>Voltios</label>
</text>
</hbox>
<hbox>
<button>
<label>Calcular</label>
<action>refresh:Voltaje</action>
</button>
</hbox>
</frame>
<hbox>
<button>
<label>Salir</label>
<action>exit:EXIT</action>
</button>
</hbox>
</vbox>
</window>
' gtkdialog3 --program=MAIN_DIALOG
- mister_electronico
- Posts: 969
- Joined: Sun 20 Jan 2008, 20:20
- Location: Asturias_ España
- Contact:
Muy.... Muy..... Muy..... bueno....
Muy.... Muy..... Muy..... bueno................. Proudog y yurfader21.
Que farragoso es
if [ "$OHMS" -a "$AMPS" ]; then dc $OHMS $AMPS mul p; fi
pero es efectivo, creo entender que : si $OHMS Y $AMPS ( -a creo que significa and ) varian de valor entonces ( dc no se lo que significa) (mul multiplica) multipica $OHMS por $AMPS y no se lo que significa "p" ni "fi".....
Anda que el que diseño el leguaje se quedo agusto....
Veo mas facil $Resistencia*$Corriente" | bc pero tampoco entiendo lo que significa | bc
Es la primera vez que veo como poner una puñetera formula en gtkdialog...... de forma no tan farragosa.....
Muchas gracias por ello.....
No quiero ni pensar cuando tenga que poner en una formula log(x),
tang(x) o cualquier otra cosa....
Habra por ahi, alguna documentacion de gtkdialog que explique el tema de la formulacion de una forma un poco mas clara...
Muchas Gracias Proudog y yurfader21 ...... la verdad es que sois unos monstruos por que para entender esto hay que serlo...
Un saludo..
Que farragoso es
if [ "$OHMS" -a "$AMPS" ]; then dc $OHMS $AMPS mul p; fi
pero es efectivo, creo entender que : si $OHMS Y $AMPS ( -a creo que significa and ) varian de valor entonces ( dc no se lo que significa) (mul multiplica) multipica $OHMS por $AMPS y no se lo que significa "p" ni "fi".....
Anda que el que diseño el leguaje se quedo agusto....
Veo mas facil $Resistencia*$Corriente" | bc pero tampoco entiendo lo que significa | bc
Es la primera vez que veo como poner una puñetera formula en gtkdialog...... de forma no tan farragosa.....
Muchas gracias por ello.....
No quiero ni pensar cuando tenga que poner en una formula log(x),
tang(x) o cualquier otra cosa....
Habra por ahi, alguna documentacion de gtkdialog que explique el tema de la formulacion de una forma un poco mas clara...
Muchas Gracias Proudog y yurfader21 ...... la verdad es que sois unos monstruos por que para entender esto hay que serlo...
Un saludo..
- mister_electronico
- Posts: 969
- Joined: Sun 20 Jan 2008, 20:20
- Location: Asturias_ España
- Contact:
Ya empiezo a comprender un poco....
Ya empiezo a comprender bc y dc son los comandos del shell.... ok
creo que cuando ponemos $Tension lo que estamos haciendo es pasarle la direccion donde se encuentra la variable de Tension al programa del shell bc o dc.
Mirando el comando bc en internet el primero que me surgio es
http://itaca.nireblog.com/post/2006/12/ ... -usando-bc
Y bueno explica varias cosas bien...
Ok ahora empiezo a comprender algunas cosas mas.....
Saludos
creo que cuando ponemos $Tension lo que estamos haciendo es pasarle la direccion donde se encuentra la variable de Tension al programa del shell bc o dc.
Mirando el comando bc en internet el primero que me surgio es
http://itaca.nireblog.com/post/2006/12/ ... -usando-bc
Y bueno explica varias cosas bien...
Ok ahora empiezo a comprender algunas cosas mas.....
Saludos
- mister_electronico
- Posts: 969
- Joined: Sun 20 Jan 2008, 20:20
- Location: Asturias_ España
- Contact:
El programa completo....
Bueno aqui dejo el programa completo, aplicando vuestros sabios conocimientos....
Bueno un saludo y seguiremos indagando.....
Code: Select all
#!/bin/bash
MAIN_DIALOG='
<window title="Programa Ohmwatt">
<vbox>
<frame Ingrese Resistencia y Corriente >
<hbox>
<text>
<label>Ingrese Resistencia (Ohmios) :</label>
</text>
<entry>
<default>2</default>
<variable>Resistencia</variable>
</entry>
</hbox>
<hbox>
<text>
<label>Ingrese Corriente (Amperios) :</label>
</text>
<entry>
<default>3</default>
<variable>Corriente</variable>
</entry>
</hbox>
<hbox>
<text>
<label>El voltaje es :</label>
</text>
<entry>
<variable>Voltaje</variable>
<input>echo "scale=3;$Resistencia*$Corriente" | bc</input>
</entry>
<text>
<label>Voltios</label>
</text>
</hbox>
<hbox>
<button>
<label>Calcular</label>
<action>refresh:Voltaje</action>
</button>
</hbox>
</frame>
<frame Ingrese Tension y Corriente >
<hbox>
<text>
<label>Ingrese la Tension (Voltios) :</label>
</text>
<entry>
<default>2</default>
<variable>Volts</variable>
</entry>
</hbox>
<hbox>
<text>
<label>Ingrese la Corriente :</label>
</text>
<entry>
<default>3</default>
<variable>Amper</variable>
</entry>
</hbox>
<hbox>
<text>
<label>La resistencia es :</label>
</text>
<entry>
<variable>Resistor</variable>
<input>echo "scale=3;$Volts/$Amper" | bc</input>
</entry>
<text>
<label>Ohmios</label>
</text>
</hbox>
<hbox>
<button>
<label>Calcular</label>
<action>refresh:Resistor</action>
</button>
</hbox>
</frame>
<frame Ingrese Tension y Resistencia >
<hbox>
<text>
<label>Ingrese la Tension (Voltios) :</label>
</text>
<entry>
<default>2</default>
<variable>Tensio</variable>
</entry>
</hbox>
<hbox>
<text>
<label>Ingrese la Resistencia :</label>
</text>
<entry>
<default>3</default>
<variable>Resisten</variable>
</entry>
</hbox>
<hbox>
<text>
<label>La Corriente es :</label>
</text>
<entry>
<variable>Corrient</variable>
<input>echo "scale=3;$Tensio/$Resisten" | bc</input>
</entry>
<text>
<label>Amperios</label>
</text>
</hbox>
<hbox>
<button>
<label>Calcular</label>
<action>refresh:Corrient</action>
</button>
</hbox>
</frame>
<hbox>
<button>
<label>Salir</label>
<action>exit:EXIT</action>
</button>
</hbox>
</vbox>
</window>
' gtkdialog3 --program=MAIN_DIALOG
Bueno un saludo y seguiremos indagando.....
- Attachments
-
- ohmwatt.sh.gz
- (537 Bytes) Downloaded 652 times
-
- Posts: 76
- Joined: Mon 26 Oct 2009, 02:43
Re: Muy.... Muy..... Muy..... bueno....
Es importante conocer las limitaciones de las herramientas que utilizamos. Ver bash, http://en.wikipedia.org/wiki/Dc_(computer_program) y bcif [ "$OHMS" -a "$AMPS" ]; then dc $OHMS $AMPS mul p; fi
pero es efectivo, creo entender que : si $OHMS Y $AMPS ( -a creo que significa and ) varian de valor entonces ( dc no se lo que significa) (mul multiplica) multipica $OHMS por $AMPS y no se lo que significa "p" ni "fi".....
El cálculo se hace en bash a través de la calculadora (dc o bc), con ésta herramienta los cálculos que mencionas son triviales. Ver gtkdialogEs la primera vez que veo como poner una puñetera formula en gtkdialog...... de forma no tan farragosa.....
No quiero ni pensar cuando tenga que poner en una formula log(x),
tang(x) o cualquier otra cosa....
Saludos
- mister_electronico
- Posts: 969
- Joined: Sun 20 Jan 2008, 20:20
- Location: Asturias_ España
- Contact:
Si son evidentes las limitaciones de dc y bc....
Si las limitaciones de bc y dc son importantes, pero aun asi he visto gente ingeniosas que hace calculos complejos.....
Es importante conocer las limitaciones de las herramientas que utilizamos. Ver bash, http://en.wikipedia.org/wiki/Dc_(computer_program) y bc
Otra cosa interesante para hacer es enlazar los programas de Gtkdialog con rutinas echas por nosotros en C, lo cual amplia bastante el panorama...
O lo que tambien es muy interesante compilar los programas Gtkdialog en C lo cual es interesantisimo.....
En fin que ya tenemos las bases para crear nuestros propios programas en Puppy........ ya no hay quie nos pare ........
Un saludo.
- walter leonardo
- Posts: 234
- Joined: Thu 10 Dec 2009, 22:10
Gracias muchachos
Hola a todos.
Bueno me fui de vacaciones y recien hoy volvi y vi todo este aportazon y no pensaba que el post iva a ser tan interesante. Ya me baje los scrips y empezare a analizarlos y entenderlos un poco mejor gracias a ustedes y tratar de hacer otros programitas para mi.
¿Alguien me puede pasar un manual en bash?
Al rato nos vemos.
Saludos y gracias.
Bueno me fui de vacaciones y recien hoy volvi y vi todo este aportazon y no pensaba que el post iva a ser tan interesante. Ya me baje los scrips y empezare a analizarlos y entenderlos un poco mejor gracias a ustedes y tratar de hacer otros programitas para mi.
¿Alguien me puede pasar un manual en bash?
Al rato nos vemos.
Saludos y gracias.
- walter leonardo
- Posts: 234
- Joined: Thu 10 Dec 2009, 22:10
Extencion de calculadora
Hola.
Estube analizando y correji algunas cositas del programa, como el acento que le faltaba a "Tensión" por ejemplo y un espacio de mas que tenia una palabra, y le agregue "scale=6" para todos menos para la resistencia ya que la resistencia minima es la de miliohms, en cambio los otros resultados era conveniente que se muestren asta microamperes, microvoltios y microvatios.
Agregue para calcular "vatios (watts)"
Una consulta: como podria poner una ventana al lado de "ingrese la Resistencia (ohmios)"que diga "o vatios" en la parte de "calcular la corriente" (osea otra ventanita a la derecha) porque ahi dos formas de calcular la corriente una es "tensión/resistencia" y la otra es "vatios/tensión", despues tengo otras forlumas pero sabiendo esto creo que ya sabre poner las otras .
de seguro el que mas me entiende lo que quiero hacer es mister_electronico jeje.
Estube analizando y correji algunas cositas del programa, como el acento que le faltaba a "Tensión" por ejemplo y un espacio de mas que tenia una palabra, y le agregue "scale=6" para todos menos para la resistencia ya que la resistencia minima es la de miliohms, en cambio los otros resultados era conveniente que se muestren asta microamperes, microvoltios y microvatios.
Agregue para calcular "vatios (watts)"
Una consulta: como podria poner una ventana al lado de "ingrese la Resistencia (ohmios)"que diga "o vatios" en la parte de "calcular la corriente" (osea otra ventanita a la derecha) porque ahi dos formas de calcular la corriente una es "tensión/resistencia" y la otra es "vatios/tensión", despues tengo otras forlumas pero sabiendo esto creo que ya sabre poner las otras .
de seguro el que mas me entiende lo que quiero hacer es mister_electronico jeje.
- Attachments
-
- ohmwatt.tar.gz
- (705 Bytes) Downloaded 718 times
- mister_electronico
- Posts: 969
- Joined: Sun 20 Jan 2008, 20:20
- Location: Asturias_ España
- Contact:
A ver que tal....
Veo que ya le vas cogiendo el punto ...... walter....
La verdad es que esta un poco mal expresado lo que quieres decir, si no leete a ti mismo ........... jejeje..........
Pero en cualquier cuaquier caso creo adivinar lo que quieres....
Bueno lo que hago si te das cuenta entre los dos hbox introduzco otro entry y asi consigo una ventanita mas en la entrada a la derecha .... y aparte le pongo otro label....
Abre el fichero y lo veras..... Simplemente jugeteando consigues todo lo que quieres...... siempre que respectes la estructura .... del Gtkdialog...
Si te vas al enlace que puse yo al principio en le que viene un tutorial de Gtkdialog en el foro de puppy en Ingles.... veras gente que hace cosas muy interesantes y ademas gente muy agradable, que a mi me a contestado resolviendome dudas.....
Intentare poner en un futuro cosas de ahi aqui........
Lo malo es el tiempo............ Bueno analiza el fichero que pongo que lo unico que hace es guarrear el programa, pero es para que te sirva para ver lo que te digo...
Nos vemos .... un saludo..
La verdad es que esta un poco mal expresado lo que quieres decir, si no leete a ti mismo ........... jejeje..........
Pero en cualquier cuaquier caso creo adivinar lo que quieres....
Bueno lo que hago si te das cuenta entre los dos hbox introduzco otro entry y asi consigo una ventanita mas en la entrada a la derecha .... y aparte le pongo otro label....
Abre el fichero y lo veras..... Simplemente jugeteando consigues todo lo que quieres...... siempre que respectes la estructura .... del Gtkdialog...
Si te vas al enlace que puse yo al principio en le que viene un tutorial de Gtkdialog en el foro de puppy en Ingles.... veras gente que hace cosas muy interesantes y ademas gente muy agradable, que a mi me a contestado resolviendome dudas.....
Intentare poner en un futuro cosas de ahi aqui........
Lo malo es el tiempo............ Bueno analiza el fichero que pongo que lo unico que hace es guarrear el programa, pero es para que te sirva para ver lo que te digo...
Nos vemos .... un saludo..