Como hacer un programa sencillo para puppy linux
- walter leonardo
- Posts: 234
- Joined: Thu 10 Dec 2009, 22:10
Como hacer un programa sencillo para puppy linux
Hola nesecito saber como programar para armar una calculadora con una formula de un circuito de electronica y tambien para hacer otras aplicaciones basicas en puppy linux.
Yo en windows xp usaba el visual basic por ejemplo para hacer cosas sencillas.
Yo en windows xp usaba el visual basic por ejemplo para hacer cosas sencillas.
-
- Posts: 76
- Joined: Mon 26 Oct 2009, 02:43
FreeBasic
Necesitas montar el devx y si sabes algo de Basic ver los siguientes enlaces:
http://www.freebasic.net/ ó
http://www.puppylinux.org/wikka/PuppyBasic
Saludos
http://www.freebasic.net/ ó
http://www.puppylinux.org/wikka/PuppyBasic
Saludos
investiga sobre gtkdialog3 para hacer ventanitas gtk (lo trae por defecto en la instalación) y xmessage para ventanas como sonsola (lo trae por defecto en la instalación), eso te da la interfaz si acaso. La programación va con bash (lo trae por defecto en la instalación) o algún lenguaje como C (hay que descargar el sfs). también puedes revisar algo con TCL. (no estoy seguro que lo traiga la instalación por defecto). Puedes probar poniendo el comando wish en la consola para verificar el soporte de tcl con librerias GTK.
En ambiente web se puede intentar algo como JavaScript (el navegador tiene soporte por default).
Saludines desde Mexico
En ambiente web se puede intentar algo como JavaScript (el navegador tiene soporte por default).
Saludines desde Mexico
- mister_electronico
- Posts: 969
- Joined: Sun 20 Jan 2008, 20:20
- Location: Asturias_ España
- Contact:
Hola walter leonardo
Hola walter me parece interesante que habras este tema.... yo inicie un tema con programacion TCLK pero ni dios le hizo ni caso....
Con respecto a gtkdialog3 te puedo hacer un programita que puede enseñarte el comienzo de la programacion.
Primero tienes que abrir un archivo de texto con por ejemplo leafpad que viene en Pupy y copiar lo siguiente.
#!/bin/bash
TEXT='Hello world'
export script='
<text>
<label>Content of variable is: '"$TEXT"'</label>
</text>'
gtkdialog3 --program=script
Si lo guardas con el nombre primero.sh
Luego tienes que darles permiso mediante el siguiente comando.
chmod u+x primero.sh
Dando la orden en el Terminal pero estando por supuesto en el mismo directorio que esta el archivo primero.sh
Hemos creado con esto un script ejecutable...
Ahora desde el mismo terminal ejecuatamos la orden
./primero.sh Y uala saltara nuestra primera ventanita con
con gtkdialog3
Lo que hay delante de la barra / es un punto...
Esta informacion la he sacado del foro en Ingles que dan un minicurso de gtkdialog3
http://www.murga-linux.com/puppy/viewtopic.php?t=38608
A mi me parece intersante este tema, si alguien se anima a traducirlo y ponerlo aqui y añadir mas informacion acerca de ello, tendra mi colaboracion aqui.... si no se anima mas gente ... aqui se acabara el tema....
Hasta la vista...
Con respecto a gtkdialog3 te puedo hacer un programita que puede enseñarte el comienzo de la programacion.
Primero tienes que abrir un archivo de texto con por ejemplo leafpad que viene en Pupy y copiar lo siguiente.
#!/bin/bash
TEXT='Hello world'
export script='
<text>
<label>Content of variable is: '"$TEXT"'</label>
</text>'
gtkdialog3 --program=script
Si lo guardas con el nombre primero.sh
Luego tienes que darles permiso mediante el siguiente comando.
chmod u+x primero.sh
Dando la orden en el Terminal pero estando por supuesto en el mismo directorio que esta el archivo primero.sh
Hemos creado con esto un script ejecutable...
Ahora desde el mismo terminal ejecuatamos la orden
./primero.sh Y uala saltara nuestra primera ventanita con
con gtkdialog3
Lo que hay delante de la barra / es un punto...
Esta informacion la he sacado del foro en Ingles que dan un minicurso de gtkdialog3
http://www.murga-linux.com/puppy/viewtopic.php?t=38608
A mi me parece intersante este tema, si alguien se anima a traducirlo y ponerlo aqui y añadir mas informacion acerca de ello, tendra mi colaboracion aqui.... si no se anima mas gente ... aqui se acabara el tema....
Hasta la vista...
Re: Hola walter leonardo
Yo considero que el programa de ejemplo para GTKdialog está algo incompleto y haga esta revisión:mister_electronico wrote: A mi me parece intersante este tema, si alguien se anima a traducirlo y ponerlo aqui y añadir mas informacion acerca de ello, tendra mi colaboracion aqui.... si no se anima mas gente ... aqui se acabara el tema....
Code: Select all
#! /bin/bash
TEXT="Hola Mundo"
export script="
<window title="Hola">
<vbox>
<text>
<label>"$TEXT"</label>
</text>
<hbox>
<button ok></button>
</hbox>
</vbox>
</window>"
gtkdialog3 --program=script
- mister_electronico
- Posts: 969
- Joined: Sun 20 Jan 2008, 20:20
- Location: Asturias_ España
- Contact:
Muy buena tu puntualizacion Proudog
Muy buena tu puntualizacion Proudog......
Lo dicho si alguien se anima a continuar aqui, tendra toda mi colaboracion, en las traducciones y en los ejemplos..... creo que es un tema muy interesante......... pero si no pues nada....
Un saludo nos vemos..
Lo dicho si alguien se anima a continuar aqui, tendra toda mi colaboracion, en las traducciones y en los ejemplos..... creo que es un tema muy interesante......... pero si no pues nada....
Un saludo nos vemos..
Gambas es casi Visual Basic
Para un usuario de Visual Basic creo que la alternativa natural en linux es GAMBAS, que ofrece un entorno y una filosofía similar.
Acabo de instalarlo en Puppy 4.31 y parece que funciona correctamente (sólo he hecho un "hola,mundo").
No necesita que esté instalado el devx_431.sfs. Sin embargo,requiere que previamente se instalen las librerías qt3 ( yo he utilizado qt3.3.3.6),
El pet de Gambas que he utilizado es
http://www.gposil.com/pets/gambas2-2.7.1.pet
Los detalles en
http://murga-linux.com/puppy/viewtopic. ... 63&t=21776
Por otro lado, después de leer este hilo he estado curioseando un poco en el tema de BASIC en Puppy Linux. Parece que la versión 4.3, lo ha dejado un poco de lado, frente a versiones anteriores:
- el interprete que acompañaba a versiones anteriores PuppyBasic/wxbasicscript no está incluido en la distribución.
- el devx_431.sfs no incluye, como anteriormente, el compilador Freebasic.
Aunque de todos modos, se pueden encontrar los pets correspondientes.
Acabo de instalarlo en Puppy 4.31 y parece que funciona correctamente (sólo he hecho un "hola,mundo").
No necesita que esté instalado el devx_431.sfs. Sin embargo,requiere que previamente se instalen las librerías qt3 ( yo he utilizado qt3.3.3.6),
El pet de Gambas que he utilizado es
http://www.gposil.com/pets/gambas2-2.7.1.pet
Los detalles en
http://murga-linux.com/puppy/viewtopic. ... 63&t=21776
Por otro lado, después de leer este hilo he estado curioseando un poco en el tema de BASIC en Puppy Linux. Parece que la versión 4.3, lo ha dejado un poco de lado, frente a versiones anteriores:
- el interprete que acompañaba a versiones anteriores PuppyBasic/wxbasicscript no está incluido en la distribución.
- el devx_431.sfs no incluye, como anteriormente, el compilador Freebasic.
Aunque de todos modos, se pueden encontrar los pets correspondientes.
- mister_electronico
- Posts: 969
- Joined: Sun 20 Jan 2008, 20:20
- Location: Asturias_ España
- Contact:
Gambas tambien es interesante...
Hola E-Planet...... Gambas puede ser tambien muy interesante o Glade....
Yo estoy abierto a cualquier persona que quiera abrir cualquier tema, de programacion dentro de este foro de Puppy, como puede ser Glade,
Gambas, Programacion en C, Gtkdialog, Ensamblador o cualquier otro tipo.... Lo que no voy a volver ha hacer abrir un tema en que voy a estar yo solo........
Entiendo por que la gente de habla inglesa se prospera y avanza mas ya que son infinitamente mas colaboradores y sobre todo hay una palabra que es colaboracion......
Aqui nos conformamos con mirar.......... afuera meten en caliente....
En fin lo dicho el que quiera abrir un tema de estos tendra mi apoyo................. Sino mas de lo mismo...
Y a seguir compiando.....
Suerte Bye...
Yo estoy abierto a cualquier persona que quiera abrir cualquier tema, de programacion dentro de este foro de Puppy, como puede ser Glade,
Gambas, Programacion en C, Gtkdialog, Ensamblador o cualquier otro tipo.... Lo que no voy a volver ha hacer abrir un tema en que voy a estar yo solo........
Entiendo por que la gente de habla inglesa se prospera y avanza mas ya que son infinitamente mas colaboradores y sobre todo hay una palabra que es colaboracion......
Aqui nos conformamos con mirar.......... afuera meten en caliente....
En fin lo dicho el que quiera abrir un tema de estos tendra mi apoyo................. Sino mas de lo mismo...
Y a seguir compiando.....
Suerte Bye...
- walter leonardo
- Posts: 234
- Joined: Thu 10 Dec 2009, 22:10
hola aqui me paso un code de un circuito electrico en C el amigo Proudog.
Aver que me dicen de este codec. Analicenlo.
http://www.modelo.edu.mx/univ/virtech/e ... rcui01.htm
Aver que me dicen de este codec. Analicenlo.
http://www.modelo.edu.mx/univ/virtech/e ... rcui01.htm
- walter leonardo
- Posts: 234
- Joined: Thu 10 Dec 2009, 22:10
hola
Bueno aqui les pongo el codigo en C y me dicen si esta bien asi o tiene algunos errores, y como pasaria ese codigo C a codigo Bash para ejecutarlo en puppy?
Empecemos nomas
Code: Select all
/***********************************************************
* *
* ohmwatt.c *
* Programa para diferentes cálculos eléctricos *
* ©1999, Virgilio Gómez Negrete *
* *
***********************************************************/
#include <stdio.h>
#include <disp.h>
#include <stdlib.h>
/***********************************************************
* Prototipo de funciones *
***********************************************************/
int menu(void);
void clear(void);
void copy(void);
/***********************************************************
* Variables globales *
***********************************************************/
int opcion;
int menu()
{
printf("- - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n");
printf("Seleccione una opcion:\n");
printf("Salir del programa.......................................0\n");
printf("Ley de Ohm: Calcular voltaje (E).........................1\n");
printf("Ley de Ohm: Calcular corriente (I).......................2\n");
printf("Ley de Ohm: Calcular resistencia (R).....................3\n");
printf("\n- - - - - - - - - - - - - - - - - - - - - - - - - - -\n");
scanf("%d", &opcion);
clear();
};
void clear(void)
{
disp_open ();
disp_move (0, 0);
disp_eeop ();
disp_close ();
};
void copy(void)
{
printf("- - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n");
printf("O H M W A T T (Version 1.0.0) Calculos electricos basicos\n\n");
printf("Publicado en:\n\n");
printf("www.GeoCities.com/SiliconValley/Garage/8211\n\n");
printf("Para comentarios respecto a este programa, escriba:\n\n");
printf("virgiliotech@yahoo.com\n\n");
printf("(C)1999, Virgilio Gomez Negrete\n\n");
printf("- - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n");
}
int main()
{
float resistencia, voltaje, corriente;
menu();
do
{
switch(opcion)
{
case 0:
break;
case 1:
{
printf("\nLey de Ohm: Calcular voltaje (E)\n\n");
printf("Introduzca el valor de la corriente (I)"
"en Amperes:\n");
scanf("%f", &corriente);
printf("Introduzca el valor de la resistencia (R)"
"en Ohms:\n");
scanf("%f", &resistencia);
clear();
printf("\n\n\nEl voltaje (E) es de %f Voltios\n\n\n\n",
voltaje=(corriente*resistencia));
menu();
};
break;
case 2:
{
printf("\nLey de Ohm: Calcular corriente (I)\n\n");
printf("Introduzca el valor del voltaje (E)"
"en Voltios:\n");
scanf("%f", &voltaje);
printf("Introduzca el valor de la resistencia (R)"
"en Ohms:\n");
scanf("%f", &resistencia);
clear();
printf("\n\n\nLa corriente (I) es de %f Amperes\n\n\n\n",
corriente=(voltaje/resistencia));
menu();
};
break;
case 3:
{
printf("\nLey de Ohm: Calcular resistencia (R)\n\n");
printf("Introduzca el valor del voltaje (E)"
"en Voltios:\n");
scanf("%f", &voltaje);
printf("Introduzca el valor de la corriente (I)"
"en Amperes:\n");
scanf("%f", &corriente);
clear();
printf("\n\n\nLa resistencia (R) es de %f Ohms\n\n\n\n",
resistencia=(voltaje/corriente));
menu();
};
break;
default:
printf("\n\nERROR 0001: Opcion incorrecta!\n\n");
menu();
break;
}
}
while(opcion!=0);
copy();
return 0;
}
case 4:
{
printf("\nPotencia (P) en terminos de voltaje y coriente\n\n");
printf("Introduzca el valor del voltaje (E) en Voltios:\n");
scanf("%f", &voltaje);
printf("Introduzca el valor de la corriente (I) en Amperes:\n");
scanf("%f", &corriente);
clear();
printf("\n\n\nLa potencia (P) es de %f Watts\n\n\n\n",
potencia=(voltaje*corriente));
menu();
};
break;
case 5:
{
printf("\nPotencia (P) en terminos de corriente (I)"
" y resistencia (R)\n\n");
printf("Introduzca el valor de la resistencia (R) en Ohms:\n");
scanf("%f", &resistencia);
printf("Introduzca el valor de la corriente (I) en Amperes:\n");
scanf("%f", &corriente);
clear();
printf("\n\n\nLa potencia (P) es de %f Watts\n\n\n\n",
potencia=((corriente*corriente)*resistencia));
menu();
};
break;
case 6:
{
printf("\nPotencia (P) en terminos de voltaje (E)"
" y resistencia (R)\n\n");
printf("Introduzca el valor del voltaje (E) en Voltios:\n");
scanf("%f", &voltaje);
printf("Introduzca el valor de la resistencia (R) en Ohms:\n");
scanf("%f", &resistencia);
clear();
printf("\n\n\nLa potencia (P) es de %f Watts\n\n\n\n",
potencia=((voltaje*voltaje)/resistencia));
menu();
};
break;
printf("Potencia (P) en terminos de voltaje y corriente..........4\n");
printf("Potencia (P) en terminos de corriente y resistencia......5\n");
printf("Potencia (P) en terminos de voltaje y resistencia........6\n");
case 7:
{
printf("\nVoltaje (E) en terminos de potencia (P)"
" y corriente (I)\n\n");
printf("Introduzca el valor de la potencia (P) en Watts:\n");
scanf("%f", &potencia);
printf("Introduzca el valor de la corriente (I) en Amperes:\n");
scanf("%f", &corriente);
clear();
printf("\n\n\nEl voltaje (E) es de %f Voltios\n\n\n\n",
voltaje=(potencia/corriente));
menu();
};
break;
case 8:
{
printf("\nVoltaje (E) en terminos de potencia (P)"
" y resistencia (R)\n\n");
printf("Introduzca el valor de la potencia (P) en Watts:\n");
scanf("%f", &potencia);
printf("Introduzca el valor de la resistencia (R) en Ohms:\n");
scanf("%f", &resistencia);
clear();
printf("\n\n\nEl voltaje (E) es de %f Voltios\n\n\n\n",
voltaje=sqrtf(potencia*resistencia));
menu();
};
break;
case 9:
{
printf("\nCorriente (I) en terminos de potencia (P)"
" y voltaje (E)\n\n");
printf("Introduzca el valor de la potencia (P) en Watts:\n");
scanf("%f", &potencia);
printf("Introduzca el valor del voltaje (E) en Voltios:\n");
scanf("%f", &voltaje);
clear();
printf("\n\n\nLa corriente (I) es de %f Amperes\n\n\n\n",
corriente=(potencia/voltaje));
menu();
};
break;
case 10:
{
printf("\nCorriente (I) en terminos de potencia (P)"
" y resistencia (R)\n\n");
printf("Introduzca el valor de la potencia (P) en Watts:\n");
scanf("%f", &potencia);
printf("Introduzca el valor de la resistencia (R) en Ohms:\n");
scanf("%f", &resistencia);
clear();
printf("\n\n\nLa corriente (I) es de %f Amperes\n\n\n\n",
corriente=sqrtf((potencia/resistencia)));
menu();
};
break;
case 11:
{
printf("\nResistencia (R) en terminos de potencia (P)"
" y corriente (I)\n\n");
printf("Introduzca el valor de la potencia (P) en Watts:\n");
scanf("%f", &potencia);
printf("Introduzca el valor de la corriente (I) en Amperes:\n");
scanf("%f", &corriente);
clear();
printf("\n\n\nLa resistencia (R) es de %f Ohms\n\n\n\n",
resistencia=(potencia/(corriente*corriente)));
menu();
};
break;
case 12:
{
printf("\nResistencia (R) en terminos de voltaje (E)"
" y potencia (P)\n\n");
printf("Introduzca el valor del voltaje (E) en Voltios:\n");
scanf("%f", &voltaje);
printf("Introduzca el valor de la potencia (P) en Watts:\n");
scanf("%f", &potencia);
clear();
printf("\n\n\nLa resistencia (R) es de %f Ohms\n\n\n\n",
resistencia=((voltaje*voltaje)/potencia));
menu();
};
break;
En tanto que las adiciones en la función menu( ) son las siguientes :
printf("Voltaje (E) en terminos de potencia y corriente..........7\n");
printf("Voltaje (E) en terminos de potencia y resistencia........8\n");
printf("Corriente (I) en terminos de potencia y voltaje..........9\n");
printf("Corriente (I) en terminos de potencia y resistencia.....10\n");
printf("Resistencia (R) en terminos de potencia y corriente.....11\n");
printf("Resistencia (R) en terminos de voltaje y potencia.......12\n");
case 13:
{
printf("\nCantidad de resistencias:\n\n");
scanf("%d", &cantidad);
clear();
if(cantidad >= MAXRES+1)
{
printf("\n\nERROR 0002: La cantidad maxima es de %d\n\n", MAXRES);
break;
}
for(i=0; i<cantidad; i++)
{
printf("Valor del resistor %d en Ohms\n", i+1);
scanf("%f", &resistencias[i]);
serie=resistencias[i]+serie;
paralelo=(1/resistencias[i])+paralelo;
}
clear();
printf("\n\nLa resistencia total en serie es de %.4f Ohms\n", serie);
printf("La resistencia total en paralelo es de %.4f Ohms\n\n\n",
1/paralelo);
paralelo=0, serie=0;
menu();
}
break;
case 14:
printf("\nIntroduzca el valor deseado en Ohms\n");
scanf("%f", &rc);
clear();
ctr=0;
for(ma=0; ma<10; ma++)
{
for(ra=0; ra<24; ra++)
{
for(mb=0; mb<10; mb++)
{
for(rb=0; rb<24; rb++)
{
r1=(valor[ra]*multiplo[ma]);
r2=(valor[rb]*multiplo[mb]);
rs=r1+r2; /* Resistencia en serie */
if(r1<=r2&&rc<=rs+(rs*porcentaje/100)&&rc>=
rs-(rs*porcentaje/100))
{
if((rc!=r1) && (rc!=r2))
{
e=((rs-rc)/rc)*100;
if(e<=porcentaje)
{
printf("%.3f + %.3f = %.4f %.4f %% error.\n",
r1, r2, rs, e);
ctr++;
}
}
}
rt=((r1 * r2)/(r1 + r2)); /* Resistencia en paralelo */
if(r1<=r2&&rc<=rt+(rt*porcentaje/100)&&rc>=
rt-(rt*porcentaje/100))
{
if((rc != r1) && (rc != r2))
{
e=((rt - rc)/rc)*100;
if(e<=porcentaje)
{
printf("%.3f || %.3f = %.4f %.4f %% error\n",
r1, r2, rt, e);
ctr++;
}
}
}
if(ctr >= 24)
{
printf("\nMAS VALORES -");
ctr=0;
getch();
}
}
}
}
}
printf("\nPresione cualquier tecla para regresar al menu\n");
getch();
clear();
menu();
break;
- mister_electronico
- Posts: 969
- Joined: Sun 20 Jan 2008, 20:20
- Location: Asturias_ España
- Contact:
Respuesta a tu programa....
Hola walter Leonado... el programa en C que has puesto en el post no funciona por que le falta la libreria "disp.h."
Lo compile pero me dio ese mensaje de error...... busque en la direccion que posteaste del programa y hay un fichero : ohmwatt.zip. 25.3 kb. para haber si este fichero estuviera alli, pero el enlace esta roto....
Aparte tienes las funciones Case 4 a Case 12 fuera del la funcion:
switch(opcion) con lo cual tambien da errores...
Si quieres compilar programas en C te tienes que bajar el archivo
devx_XXX.sfs donde XXX corresponde a la version de puppy que estes utilizando.
Si por ejemplo estas utlizando la version 4.30 puedes bajarlo aqui:
http://www.sendspace.com/file/trzpnb
No he encontrado facilmente estos enlaces ya que en la pagina web de puppy esta roto...
Pero poniendo en google : devx_430.sfs puppy download puedes buscar la version que quieras..
Una vez bajado lo tienes que poner en el directorio HOME
Luego te vas a: MENU>SETUP>PUPPY SETUP
y dentro del formulario que sale apretar el boton :
Configure startup of Puppy
Te sale la ventana "Puppy Boot Configuration " y elegir:
"Choose wich extra SFS file go load at boot"
Te saldra en una ventanita con el archivo devx_xxx.sfs que quieres añadir.... añadelo y ya lo tienes.....
No me acuerdo si tienes que reiniciar .... me parece que no..
Para saber si se ha metido simplemente metete en Terminal y teclea:
#gcc
si te sale #gcc: no imput file
esto quiere decir que ya lo tienes instalado ......
Ahora si quieres compilar progrmas haz lo siguiente:
COMO COMPILAR PROGRAMAS EN C
Escribir y salvar el siguiente programa test.c
Se puede utilizar Geany, para escribirlo y compilarlo.
/* Ejemplo de programa C */
int main()
{ int i;
for (i = 0; i < 50000; i++)
{
printf ("%d",i);
printf (" Puppy is Great\n");
}
return 0;
}
Se puede compilar con Geany o bien abrir el terminal en el mismo directorio y ejecutar la siguiente linea de comando:
gcc test.c -o test
Esto creara un fichero ejecutable que es "test", para ejecutarlo escribir los siguiente:
./test
y correra.
Espero que te sirva de ayuda y tambien a otra gente.....
Un saludo...
Lo compile pero me dio ese mensaje de error...... busque en la direccion que posteaste del programa y hay un fichero : ohmwatt.zip. 25.3 kb. para haber si este fichero estuviera alli, pero el enlace esta roto....
Aparte tienes las funciones Case 4 a Case 12 fuera del la funcion:
switch(opcion) con lo cual tambien da errores...
Si quieres compilar programas en C te tienes que bajar el archivo
devx_XXX.sfs donde XXX corresponde a la version de puppy que estes utilizando.
Si por ejemplo estas utlizando la version 4.30 puedes bajarlo aqui:
http://www.sendspace.com/file/trzpnb
No he encontrado facilmente estos enlaces ya que en la pagina web de puppy esta roto...
Pero poniendo en google : devx_430.sfs puppy download puedes buscar la version que quieras..
Una vez bajado lo tienes que poner en el directorio HOME
Luego te vas a: MENU>SETUP>PUPPY SETUP
y dentro del formulario que sale apretar el boton :
Configure startup of Puppy
Te sale la ventana "Puppy Boot Configuration " y elegir:
"Choose wich extra SFS file go load at boot"
Te saldra en una ventanita con el archivo devx_xxx.sfs que quieres añadir.... añadelo y ya lo tienes.....
No me acuerdo si tienes que reiniciar .... me parece que no..
Para saber si se ha metido simplemente metete en Terminal y teclea:
#gcc
si te sale #gcc: no imput file
esto quiere decir que ya lo tienes instalado ......
Ahora si quieres compilar progrmas haz lo siguiente:
COMO COMPILAR PROGRAMAS EN C
Escribir y salvar el siguiente programa test.c
Se puede utilizar Geany, para escribirlo y compilarlo.
/* Ejemplo de programa C */
int main()
{ int i;
for (i = 0; i < 50000; i++)
{
printf ("%d",i);
printf (" Puppy is Great\n");
}
return 0;
}
Se puede compilar con Geany o bien abrir el terminal en el mismo directorio y ejecutar la siguiente linea de comando:
gcc test.c -o test
Esto creara un fichero ejecutable que es "test", para ejecutarlo escribir los siguiente:
./test
y correra.
Espero que te sirva de ayuda y tambien a otra gente.....
Un saludo...
-
- Posts: 76
- Joined: Mon 26 Oct 2009, 02:43
Re: Respuesta a tu programa....
La librería "disp.h" es para plataforma de DOS, por lo que el programa de 1999 no es para Unix, por lo que es necesario reescribir esta parte en el código:mister_electronico wrote:Hola walter Leonado... el programa en C que has puesto en el post no funciona por que le falta la libreria "disp.h."
Code: Select all
{
disp_open ();
disp_move (0, 0);
disp_eeop ();
disp_close ();
};
Fuente:
http://www.digitalmars.com/rtl/disp.html
Re: hola
El código no está completo, porque sólo tiene "4 cases", lo demás son fracciones del código original, que al parecer están escritas para explicación técnica, para DOS y con compilador en tipo Turbo C (Borland). Por lo que es necesario portar a GNU GCC algunos "cases".walter leonardo wrote:Bueno aqui les pongo el codigo en C y me dicen si esta bien asi o tiene algunos errores, y como pasaria ese codigo C a codigo Bash para ejecutarlo en puppy?
En archivo adjunto omhwatt compilado.
Nota importante: El programa no tiene licencia Libre, es software abierto, por lo que sólo puedo publicar en el foro el programa en binario.
- Attachments
-
- ohmwatt-1.0.0.pet
- ohmwatt
- (3.4 KiB) Downloaded 859 times
-
- Posts: 76
- Joined: Mon 26 Oct 2009, 02:43
Ley de Ohm
Todo depende del lenguaje que se quiera utilizar para realizar el programa, pero si se quiere hacer en bash, se podría empezar con tres programas muy simples, y de ahí continuar para hacer un sólo programa con ventanas de diálogo y rutinas de verificación de la información ingresada en las variables. Pero me parece que puedes empezar con algo como lo siguiente:
Cálculo Voltaje:
Cálculo Corriente:
Cálculo de Resistencia:
Los scripts los anexo enseguida:
Saludos.
Cálculo Voltaje:
Code: Select all
#!/bin/bash
#
# voltaje.sh: Ejemplo de cálculo de Voltaje ingresando Corriente y Resistencia
# Yurfader21
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"
exit 0
Code: Select all
#!/bin/bash
#
# corriente.sh: Ejemplo de cálculo de Corriente Eléctrica ingresando Voltaje y Resistencia
# Yurfader21
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"
exit 0
Code: Select all
#!/bin/bash
#
# resistencia.sh: Ejemplo de cálculo de Resistencia ingresando Voltaje y Corriente
# Yurfader21
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"
exit 0
Saludos.
- Attachments
-
- Ohm.tar.gz
- (435 Bytes) Downloaded 860 times
- 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 692 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.