Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Calculadora hecha en delphi (https://www.clubdelphi.com/foros/showthread.php?t=84332)

alquimista 06-10-2013 18:59:35

Calculadora hecha en delphi
 
Muy buenas...
No se si este es el sitio correcto.

He desarrolado una calculadora programable y deseaba compartirla con vosotros.
Esta solo el instalable a través de la plataforma sourceforge.
Algunas dudas durante el desarrollo han sido respondidas en este foro.
Esta en versión casi madura, con miles de fallos me imagino.
Ayuda pobre, etc...

http://sourceforge.net/projects/calcufp/

No he puesto el código, ya que esta bastante lioso...
Empece como algo simple y se ha liado un poco...

Pero a ver si os es de utilidad...

PD: cosas que hace. Esta basada en uso de funciones.
Aparte de las tipicas funciones cientificas matematicas..
Realiza operaciones matrices, complejos, ecuaciones, codigos resistencias, smd,bobinas, condensadores(sin acabar)
Tiene conversiones varias, divisas actualizadas por internet.
Electrónica, conversiones paralelo, estrella y triangulo (tambien en forma compleja).
veintitantas funciones sobre subnetting (redes IP), direccines IP privada y publica.
Una parte para Azar (elección de números aleatorios, para loteria etc.. y 4 dados para juegos).
Y permite mediante el uso de Jvinterpreter de las jedi.. Crear funciones de usuario, constantes...
Ademas permite acceder a fotos o videos que podamos necesitar

Un saludo

Casimiro Notevi 06-10-2013 22:56:49

Cita:

Empezado por alquimista (Mensaje 467928)
He desarrolado una calculadora programable y deseaba compartirla con vosotros.
Esta solo el instalable a través de la plataforma sourceforge.
Algunas dudas durante el desarrollo han sido respondidas en este foro.
Esta en versión casi madura, con miles de fallos me imagino.
Ayuda pobre, etc...

http://sourceforge.net/projects/calcufp/

No he puesto el código, ya que esta bastante lioso...
Empece como algo simple y se ha liado un poco...

Sourceforge es para software libre, por supuesto que hay que poner el código fuente, ¿para qué sirve el ejecutable de una calculadora?, piénsalo ;)

gatosoft 07-10-2013 06:30:51

Pues a mi me parece un muy buen trabajo...! Felicitaciones, aunque muy colorido para mi gusto, pero bueno.. :D

Como producto de tu empresa y de tu marca está bien, pero si no lo piensas comercializar seria bueno que contemplaras lo que dice Casimiro sobre el codigo fuente para que pueda evolucionar más rápido...

Aprovecho la oportunidad para reomendar GitHub como alternativa a SourseForge... solo digo, que quienes no la conocen le echen un vistazo.

Yo ya estoy trabajando mis proyectos en repositorios privados (de Pago 7usd/mes)

Hay buen material libre en el que pueden colaborar (o descargar). Les recomiendo a fabriciocolombo para empezar.

un saludo,

Casimiro Notevi 07-10-2013 10:13:10

Cita:

Empezado por gatosoft (Mensaje 467940)
Pues a mi me parece un muy buen trabajo...!

Es que yo no he dicho que sea un mal trabajo, lo que digo es que compartir en un foro de programadores un ejecutable no tiene sentido, aquí compartimos conocimientos, y eso es el código fuente. Una calculadora, aunque sea la mejor del mundo, si solo tenemos el ejecutable ¿para qué nos sirve?
Y para eso existe sourceforge, para compartir software con su código fuente, por algo se llama sourceforge.

alquimista 07-10-2013 14:05:20

Mi intencion no era crear polémica...
quizas mas adelante puede que lo publique...Tengo mis razones personales...
Solo era mostrarlo a la gente a ver que opinaba y si era interesante continuar con ello,
y ya que en este foro he preguntado alguna vez, me pareció una manera de aportar algo.

No creo tampoco que sea la unica persona de este foro que haya aportado algo sin código... a lo mejor me equivoco...:D

No obstante, Casimiro puedo entender lo que dices...
Gracias por vuestra valiosa opinión

dec 07-10-2013 14:43:39

Hola,

Cita:

Empezado por alquimista (Mensaje 467946)
Mi intencion no era crear polémica...
quizas mas adelante puede que lo publique...Tengo mis razones personales...
Solo era mostrarlo a la gente a ver que opinaba y si era interesante continuar con ello,
y ya que en este foro he preguntado alguna vez, me pareció una manera de aportar algo.

No creo tampoco que sea la unica persona de este foro que haya aportado algo sin código... a lo mejor me equivoco...:D

No obstante, Casimiro puedo entender lo que dices...
Gracias por vuestra valiosa opinión

Yo mismo, sin ir más lejos, he publicado aquí mis proyectos, la mayoría de ellos sin el código fuente. Creo que lo que quieres es mostrar tu programa y nada más. Personalmente lo encuentro bastante completo, al menos cuenta con no pocas opciones, aunque yo me pierdo un poco entre ellas, pero, es normal. :)

Por lo demás el programa intenta guardar su configuración en "C:\Archivos de programa", donde se instala, pero, Windows 8 (en mi caso) no permite a las aplicaciones escribir en dicho directorio si estas no se ejecutan con privilegios de administración. Echa un vistazo a este artículo de Zarko Gajic.

Casimiro Notevi 07-10-2013 15:43:14

Cita:

Empezado por dec (Mensaje 467947)
Yo mismo, sin ir más lejos, he publicado aquí mis proyectos, la mayoría de ellos sin el código fuente.

Es distinto, tus proyectos son de pago y no están en sourceforge ;)

dec 07-10-2013 15:46:40

Hola,

Cita:

Empezado por Casimiro Notevi (Mensaje 467948)
Es distinto, tus proyectos son de pago y no están en sourceforge ;)

Yo creo que la intención es parecida, Casimiro. Piensa que SourceForge puede usarse para alojar el programa, por ejemplo, porque uno no pueda hacerlo en otro sitio.

Casimiro Notevi 07-10-2013 16:40:45

A ver, repito otra vez, que me parece muy bien que cualquier pueda mostrarnos su programa, ya sea bueno o malo, bonito o feo.

Pero eso es distinto a lo que estoy diciendo, ya que lo normal, es que en clubdelphi, foro de programadores, se acompañe del código fuente, al igual que están todos los programas con su código fuente en nuestro "FTP". Y los que vienen sin código fuente son eliminados.
Porque aquí compartimos conocimientos mediante nuestro código.

Sobre lo de ponerlo en sourceforge, si no se quiere publicar el código fuente, entonces hay miles de sitios para ponerlo. Por algo, en la pantalla principal de la web de sourceforge, lo primero que pone en letras grandes (copio y pego):

Find, Create, and Publish Open Source software for free

Y verás que pone bien claro "Open Source software for free".

Por lo demás, vuelvo a repetir, que me parece perfecto y estupendo que quien quiera comparta su programa ejecutable con los demás, aunque no pueda aprender nada del mismo porque no se ofrece el código fuente.

Y en caso de que sea con ánimo de lucro, o sea, para venderlo, entonces para eso tenermos nuestros banners publicitarios.

Saludos :)

egostar 07-10-2013 17:28:07

Cita:

Empezado por Casimiro Notevi (Mensaje 467951)
A ver, repito otra vez, que me parece muy bien que cualquier pueda mostrarnos su programa, ya sea bueno o malo, bonito o feo.

Pero eso es distinto a lo que estoy diciendo, ya que lo normal, es que en clubdelphi, foro de programadores, se acompañe del código fuente, al igual que están todos los programas con su código fuente en nuestro "FTP". Y los que vienen sin código fuente son eliminados.
Porque aquí compartimos conocimientos mediante nuestro código.

Sobre lo de ponerlo en sourceforge, si no se quiere publicar el código fuente, entonces hay miles de sitios para ponerlo. Por algo, en la pantalla principal de la web de sourceforge, lo primero que pone en letras grandes (copio y pego):

Find, Create, and Publish Open Source software for free

Y verás que pone bien claro "Open Source software for free".

Por lo demás, vuelvo a repetir, que me parece perfecto y estupendo que quien quiera comparta su programa ejecutable con los demás, aunque no pueda aprender nada del mismo porque no se ofrece el código fuente.

Y en caso de que sea con ánimo de lucro, o sea, para venderlo, entonces para eso tenermos nuestros banners publicitarios.

Saludos :)

O las firmas :)

Yo estoy de acuerdo con eso, si es un sitio para open source, debe usarse para open source.

Amigo alquimista, porque no te creas un blog de esos gratuitos blogspot o wordpress ya ahí pones a disposición de todos tu proyecto, digo, evitate malos entendidos.

Saludos

alquimista 07-10-2013 18:03:49

Repito no quiero crear polémicas...

Si no es mucho pedir...
Borrar del foro el hilo...
... Y si publico el source mas adelante, crearé otro hilo...

Gracias...
Y saludos

nlsgarcia 07-10-2013 18:23:27

alquimista,

Cita:

Empezado por alquimista
...He desarrolado una calculadora programable y deseaba compartirla con vosotros...

^\||/

Cita:

Empezado por alquimista
...No he puesto el código, ya que esta bastante lioso...quizás mas adelante puede que lo publique...Tengo mis razones personales...

Es comprensible.

Cita:

Empezado por gatosoft
...me parece un muy buen trabajo...! Felicitaciones !, aunque muy colorido para mi gusto...

Comparto la opinión.

Cita:

Empezado por Casimiro Notevi
...compartir en un foro de programadores un ejecutable no tiene sentido, aquí compartimos conocimientos, y eso es el código fuente...me parece perfecto y estupendo que quien quiera, comparta su programa ejecutable con los demás, aunque no pueda aprender nada del mismo...

Entiendo tu punto de vista.

Cita:

Empezado por Dec
...Personalmente lo encuentro bastante completo, al menos cuenta con no pocas opciones, aunque yo me pierdo un poco entre ellas...

Quizás, una interfaz más simple e intuitiva con su ayuda asociada facilite la interacción con el usuario.

En lo personal creo que es un trabajo interesante con mucho potencial, Felicitaciones :)

Nelson.

Casimiro Notevi 07-10-2013 18:43:16

Cita:

Empezado por alquimista (Mensaje 467954)
Repito no quiero crear polémicas...
Si no es mucho pedir...
Borrar del foro el hilo...
... Y si publico el source mas adelante, crearé otro hilo...
Gracias...
Y saludos

Creo que no has leido lo que he escrito o, quizás, no me he explicado bien: No hay ningún problema por haber compartido tu programa, al contrario, está muy bien.
Lo único que he explicado es que lo normal es poner el código fuente para que los demás vean cómo lo has hecho y aprender del mismo.
Por lo tanto, no hay que borrar el hilo, ni hay ninguna polémica.
Saludos.

alquimista 07-10-2013 23:08:53

Bueno...
Gracias por las opiniones...
La ayuda esta en proceso...
No me dedico a programar profesionalmente y en un principio no pienso en venderlo..
Simplemente surgió como un método para no olvidar la programación.. y se lio en proporciones exageradas.

Me alegro que haya gustado...

Cita:

Quizás, una interfaz más simple e intuitiva con su ayuda asociada facilite la interacción con el usuario.
ya lo se pero..me ha costado mucho encontrar la manera de situar los elementos de la interfaz.. se aceptan sugerencias

Como comenté he usado jvinterpreter como calculadora con modificaciones para soportar
operadores 3^2 o 1e-3 que no soportaba...

La parte que mas me ha interesado es la de ofrecer al usuario la posibilidad de crear sus propias funciones con el script pascal...

Gracias a todos de nuevo...
y Casimiro lo del borrado no era en plan rabieta ni nada. Era por ser objetivo y rectificar...ya que tengo un gran respeto a la gente que lleva mucho tiempo en el foro y que mucha gente y yo mismo... consideramos como grandes maestros del delphi.

SalU2

Casimiro Notevi 07-10-2013 23:21:04

^\||/^\||/^\||/^\||/^\||/^\||/

alquimista 07-10-2013 23:48:18

Cita:

Por lo demás el programa intenta guardar su configuración en "C:\Archivos de programa", donde se instala, pero, Windows 8 (en mi caso) no permite a las aplicaciones escribir en dicho directorio
dec, la idea era que fuese tambien portable, para llevarla en pendrive.. Sobretodo por la parte de archivos multimedia.
Al no tener el windows 8 no sabia de ese problema...
Si encuentro algo de tiempo lo miraré...
Ya se acabo el verano y ya hay poco tiempo para programar...

Gracias

alquimista 27-11-2014 12:53:48

He tardado un año pero aqui esta
 
Hola amigos, después de mucho tiempo sin conectarme, por motivos de trabajo y familiares.

Ya he puesto el código fuente de la calculadora en sourceforge

http://sourceforge.net/projects/calcufp/

Espero que sea de utilidad

Un saludo..

Ñuño Martínez 27-11-2014 19:18:48

Estupendo. Gracias. :)

Por cierto, buen detalle lo de "Run in wine." ^\||/

Casimiro Notevi 27-11-2014 19:38:37

^\||/^\||/^\||/

roman 27-11-2014 19:50:58

¿Con qué delphi compila?

// Saludos

alquimista 28-11-2014 13:46:10

delphi 2007

En Acerca de...
Si conseguimos pinchar en créditos aparecen componentes utilizados

Componentes utilizados:
-JEDI VCL Modificado (v3.47) Jvinterpreter
-SynEdit
-ATViewer free
{ by Alexey Torgashin }

-TGradient v2.71
{ by Kambiz R. Khojasteh }
-Cyndy Components
-Toolbar2000 Components
-Inno Setup
{ by Jordan Russell }

alquimista 28-11-2014 14:13:25

Como creo que dije...
Fue mas un proyecto para no olvidar delphi, que en un principio iba a ser una calculadora para realizar ejercicios de subredes (subnetting) y creció y creció (ya que tuve un tiempo por enfermedad que pude emplear para programar)

En la ayuda de funciones aparecen funciones de IPv4
Aquí se encuentran las funciones más utilizadas para resolver ejercicios de direcciones IP v4
Ej.- 192.168.2.23 (formato IPv4)

Listado de Funciones:

IP4, IP4Text, IP4IsValid ,IP4BIN, IP4ID, IP4BR, IP4Class IP4Range IP4MaskPrefix, IP4MP, IP4Hosts, IP4H
IP4MaskNetHost, IP4MNH, IP4BitsHosts, IP4BitsH, IP4MaskHosts, IP4MH, IP4Subnets, IP4MaskText, IP4BitsSubnets
,IP4Add,MiIP, IPPublica

Ejemplo: Sumar a una IP un número de hosts determinados
IP4Add('192.168.10.245', 45 ) --> Resultado 192.168.11.34
IP4Add('192.168.10.245',- 246 ) -->Resultado: 192.168.9.255
IP a binario
IP4BIN('192.168.0.1') -->resultado: 11000000.10101000.00000000.00000001
IP4BIN(IP4ID('192.168.10.245',28)) -->resultado: 11000000.10101000.00001010.11110000

Otro ejemplo más complejo
Obtener la clase de red que se adapta si quiero tener x redes e y equipos en cada subred
IP4MNH(número subredes:entero, número equipos:entero)
IP4MaskNetHost(número subredes:entero, número equipos:entero)

número subredes es un número sin decimales de las subredes que queremos crear. Ej.- 12, 64, 133
número equipos es un número sin decimales de los hosts (equipos) que queremos que tenga cada subred.

Descripción:
Devuelve como resultado la clase de red que deberíamos usar y la máscara que sería necesaria para tener las subredes y equipos solicitados.
Ejemplo: Dirección IP en binario (x: representa cualquier dígito binario, n=bits a 1 que representean las subredes, h= bits a cero que representan los hosts.
xxxxxxxx.nnnnnnnn.nnnnnnnn.nnhhhhhh --> con 6 digitos binarios representamos hasta 64-2 host.

Ejemplos:
IP4MNH(65532,158) --> Elegir IP Clase A -255.255.255.0
IP4MaskNetHost(64,2) -->devuelve la siguiente información: Elegir IP Clase C -255.255.255.252
IP4MaskNetHost(65532,1500) -->Clase invalida 255.255.248.0


Luego puedes saber la IP privada(MiIp) y la pública (IPPublica)

Y luego hay diversas funciones de áreas y volúmenes.
complejos, matrices, electrónica.... etc...

Vamos que al final se lió...

Las funciones IP están en source-> jedi modificado...-> JvInterpreter_Misc.pas

alquimista 28-11-2014 14:22:30

Aun le faltan muchas cosillas...
Al ser el JvInterpreter un interprete para funciones pascal mas que para una calculadora, me toco modificar para que soportara exponentes 2^3, y notación cientifica...
Queda POR HACER que no haya que poner ceros delante( ejemplo 0,3*2). No vale ,3*2 que sería mas util..
Pero como me dedico a otras cosas no tengo tiempo para programar...

Espero que alguien le encuentre utilidad
Hay muchas funciones matematicas sacadas o de este foro o por internet...

Saludos

Ñuño Martínez 01-12-2014 10:48:13

Tengo un pequeño problema, y posiblemente no sea yo el único. El instalador funciona con Wine, sí, pero casi preferiría que estuviera el ejecutable tal cual comprimido. Es decir: "descomprimir y usar". Salvo que el programa necesite DLL o algo raro, claro...

alquimista 02-12-2014 00:57:43

Se puede utilizar aunque dará los tipicos errores de no encuentro archivo Ini. pero los cálculos funcionarán. perderás ayuda de funciones y botonoes personalizados. Lo de la enciclopedia es prescindible.

No usa DLLs pero si archivos INI de configuración
En un principio las carpetas importantes son la de configuración CFG donde se almacenan los botones de acceso rápido a funciones.
html que tiene la ayuda en html de bastantes funciones.
UFunc para guardar funciones de usuario.

Las demas carpetas son prescindibles.

La idea era poder configurar las carpetas de guardado...

La mayoria de archivos son de texto. Incluso las funciones definidas de usuario.
Ejemplo Pol.ini
Calcula coordenadas polares.
;Archivo de funciones
;CalcUFP
version=0.91 beta
autor=JCSOFT
nombre=Pol
vars=x,y
FCount=7
L1=var f:variant; //ejemplo de Variable temporal
L2=begin
L3= result:= Hypot(x,y);
L4= f:=arccos(x/result); //para evitar indeterminacion
L5= if y<0 then f:=-f;
L6= res2(f); //Añade segundo resultado a la variable result2
L7=end;
DCount=5
D1=Convierte de coordenadas cartesianas (x,y) a polares (Módulo, angulo)
D2=angulo deberia de estar en grados. Devuelve 2 resultados.
D3=Añadir
D4=modeangle(0);
D5=antes de la función arccos , para forzar modo grados (degrees).

Se podría hacer con relativa facilidad (unidad Constvars.pas tiene las rutas por defecto) un ejecutable que guardase en el directorio de aplicación todos los archivos de configuración.

Ñuño Martínez 02-12-2014 10:45:42

Aclarado. Interesante forma de añadir los "guiones", por cierto. ;)

alquimista 02-12-2014 11:15:34

no entendí lo de los "guiones". Te refieres a las funciones de usuario?

Ñuño Martínez 03-12-2014 10:19:14

Sí, eso mismo. Las funciones de usuario. Los "scripts".

compsystems 04-12-2014 14:11:52

Alquimista, grandioso software ;) te pregunto si has utilizado calculadoras Texas Instrumnets, Hewlett Packard, Casio?

Yo soy programador de TI89, Tivoyage200, HP48, HP50

alquimista 04-12-2014 19:19:52

Hola compsystems.
Gracias..
Utilizaba antes la casio Fx-850p. LLegué a conocer muy bien sus secretos...
Hasta hice un documento que deje hace mucho tiempo por la web sobre lo oculto de la misma.
De hecho casi todas las funciones de cálculo de áreas que he puesto estaban en esa máquina.

mamcx 04-12-2014 21:03:01

Estoy armando un lenguaje de programacion, y entre las cosas que me gustarian es poder hacer como en

http://futureboy.us/frinkdocs/

Ej:

Código PHP:


precio 
10$
cant =  10mts

total 
= (precio cant) * 10


compsystems 04-12-2014 21:06:55

Cita:

Empezado por alquimista (Mensaje 486100)
Hola compsystems.
Gracias..
Utilizaba antes la casio Fx-850p. LLegué a conocer muy bien sus secretos...

Encontré un programa que simula una casio fx-880P, se llama ABAKO, podrias inspirarte en este programa para calcu FP

Enlace

www matemáticas net buscar abako.zip

alquimista sabes si existe un editor de programas en BASIC para este tipo de calculadoras?

compsystems 04-12-2014 22:06:27

Estoy muy entusiasmado con DELPHI, el siguiente emulador de la calculadora PB2000 están escritos en este lenguaje

www .pisi .com .pl /piotr433/pb2000ee.htm

alquimista 04-12-2014 22:35:54

Buen trabajo la abako.
Hay muchas cosas que aparecen que se pueden agregar mediante funciones de usuario.
El interfaz de CalcuFP es muy mejorable. POr supuesto...
Lo del lenguaje de programación aquí lo proporciona el interprete de las jedi.

En las funciones de usuario se puede obtener la potencia que buscais..

Por ejemplo

Dos funciones de usuario sencillas que he creado ahora para probar
Porcen(100,20)-> 20 % de la cantidad dada 100=20
PorcenA(100,20)-> Suma a 100 el 20 de 100=120
Los scripts son:
Código Delphi [-]
Porcen(valor,cant) begin    result:= (valor*cant)div 100;//expresion end;
Código Delphi [-]
PorcenA(valor,cant) begin     result:= Porcen(valor,cant)+valor;//expresion end;
Como se ve los scripts no son de una dificultad elevada..

Si se crease un repositorio de Formulas en algun sitio se podría crear una biblioteca por temas

Lo interesante es poder utilizar funciones que devuelvan texto
Por ejemplo
Cita:

Función
- Comres(499)->Devuelve el valor comercial de una resistencia que se aproxime a 499
el valor devuelto es: 470 Ohmios o 510 Ohmios
Indica que el valor comercial por debajo de 499 es 470 Ohmios y el superior es 510 Ohmios
- Colres(470)-> devuelve los colores de la resistencia de 470 Ohmios y varias tolerancias
470=Amarillo, Morado, Marrón, Tol +-[1%-Marrón, 2% Rojo, 5% Oro, 10% Plata]
Cita:

EstTrianCpx('3+2j' ,'2+3j' ,'3+2j' ) -> Convierte de circuito estrella a triángulo en forma compleja. (electrónica corriente alterna)
Z12=(7 + 8j), Z23=(7 + 8j), Z31=(9.53846153846154 + 4.69230769230769j)
En cálculos Pulsar Ctrl+espacio y aparecen aparte de funciones delphi conocidas todas las que están definidas en CalcuFp y constantes que se pueden utilizar.

Ahora que he desempolvado el source he hecho cambios que sugirió dec para guardar en las carpetas de usuario y ya se utiliza .3 en vez de 0.3

alquimista 04-12-2014 22:45:23

Para compsystems
Enlace el alquimista, al final de la página web
http://www.oocities.org/timessquare/...utilidades.htm

... echale un vistazo y veras casi todo lo oculto de la casio Fx-850P (83 páginas) e incluso hice una fuente truetype con los caracteres chinos de la calculadora

Saludos

alquimista 29-12-2014 19:04:03

Muy buenas.
última versión 0.95beta con código fuente.

Añadido a la calculadora tabla periodica de elementos, generador codigos QR
Y corregidos unos pocos errores

Permite no usar el cero (0.2=.2)
Se ha añadido una función de usuario para hacer las ecuaciones ax2+bx+c=0

Desde aquí tambien desear a todos los del Club Delphi

FELIZ AÑO NUEVO 2015

Un saludo


La franja horaria es GMT +2. Ahora son las 06:17:53.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi