Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   calculadora cientifica (https://www.clubdelphi.com/foros/showthread.php?t=80982)

jose.ignacio.ve 29-09-2012 01:36:07

calculadora cientifica
 
HOLA soy nuevo..
necesito si alguien m puede ayudar con una calculadora cientifia en delphi... necesito un codigo para hacer conversion de sistemas.. si alguien m puede ayudar gracias..

jose.ignacio.ve 29-09-2012 02:48:53

holaa.. me ayudo mucho este tema.. pero ahora m gustaria q m ayuden con la conversion a otros sistemas.. m pueden ayudar?

mightydragonlor 29-09-2012 02:54:54

La Unit Math contiene todo este tipo de funciones, revisala, creo que te servirá mucho.

Saludos.

jose.ignacio.ve 29-09-2012 03:40:30

siii sii la uso a la unit math.. pero t explicoo..
Código Delphi [-]
procedure TForm1.rgsClick(Sender: TObject);
var
r:string ;
a:integer;
begin

  case rgs.ItemIndex of
    0: begin
     visor.Caption:=divi_reit(visor.Caption,2);
     bp:=2;
    end;
    1: begin
     visor.Caption:=divi_reit(visor.Caption,8);
     bp:=8;
    end;
    2: begin
        visor.Caption:=divi_reit(visor.Caption,10);
        bp:=10;
    end;
    3:begin
     visor.Caption:=divi_reit(visor.Caption,16);
     bp:=16;
    end;
  end;
mi problema es que de base 10 a otra base sii esta bien m la convierte.. pero cuando quiero ir d otra base a la 10 no la convierte
tengo esta function
Código Delphi [-]
function tform1.su_pond( n:string ; base: integer): string ;
var
  r: single;
  i,s:integer;

begin
  r:=0;
  s:=0;
  for i := 1 to length(n) do
    begin
    r:=power(base,i);
    s:=(strtoint(visor.caption[i])* trunc(r))+s;
    end;
    result:=inttostr(s);
end;
que supuestamente pasa de cualquier base a base 10
que es suma ponderada.. el problem es q no se cuando llamarla.. m podrias ayudar??

ecfisa 29-09-2012 04:15:05

Hola jose.ignacio.ve y bienvenido a Club Delphi :)

Como a todos los que se inician te invitamos a que leas nuestra guía de estilo.

El foro Trucos no es para consultas sino para aportar trucos de programación, moví tu hilo al foro varios por ser este el adecuado al contenido del mensaje.

Aprovecho también a transcribirte el punto 11 de la guía de estilo:
Cita:

No solicites que te respondan por correo en privado

Los problemas deben ser un proceso público y transparente, durante el cual un primer intento de respuesta puede y debería corregirse si alguien con más conocimientos percibe que la respuesta es incompleta o incorrecta. Además quién te responde obtiene parte de su recompensa al verse que son competentes y útiles a nuestra comunidad.

Cuando pides una respuesta privada, estás interrumpiendo tanto el proceso como la recompensa. No lo hagas.
(Quité la dirección de correo de tu primer mensaje)



Por último para darle más legibilidad, cuando incluyas código en tus mensajes utiliza TAG's, te pongo una imágen que explica el uso:

(ya los agregué a tu mensaje anterior)


Saludos y gracias por tu colaboración. :)

jose.ignacio.ve 26-10-2012 17:45:39

calculadora cientifica
 
Hola Alguien Me Puede Ayudar O Me Pasa Un Tutorial.. Para Programar La Calculadora Para Que Tome El Teclado Numerico!! Nc Si M Explico?

ecfisa 26-10-2012 17:51:16

Hola José.

Busca en la ayuda de Delphi por: Virtual key codes y también te será de ayuda este [ hilo ].

Saludos. :)

jose.ignacio.ve 26-10-2012 18:17:53

tendrias algun codigo de muestra?? porq no me doy una idea.. algun codigo que capture los numero o algo asi!!!

ecfisa 26-10-2012 18:39:23

Hola de nuevo.

Me acorde que en el FTP de Club Delphi tenemos material al respecto, mira también esto: CalcExpress

Saludos.

ecfisa 26-10-2012 18:54:25

Cita:

Empezado por jose.ignacio.ve (Mensaje 448052)
tendrias algun codigo de muestra?? porq no me doy una idea.. algun codigo que capture los numero o algo asi!!!

Hola.

Código Delphi [-]
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  case Key of
    VK_NUMPAD0  : // Tecla 0 del Keypad
    VK_NUMPAD1  :
    ...
    VK_NUMPAD9  :  // Tecla 9 del Keypad
    VK_MULTIPLY :  // Tecla multiplicación (numeric keypad)
    VK_ADD      : // Tecla suma (numeric keypad)
    VK_SEPARATOR:  // Tecla separador (numeric keypad)
    VK_SUBTRACT  : // Tecla resta (numeric keypad)
    VK_DECIMAL  : // Tecla decimal (numeric keypad)
    VK_DIVIDE   : // Tecla división (numeric keypad)
  end;
end;

Saludos. :)

jose.ignacio.ve 26-10-2012 20:52:14

oseaa tengo que ir al evento onkeydown del formulario y programar alli.. que diferencia ahy del evento onkeypress??

jose.ignacio.ve 26-10-2012 21:00:23

YO YA LO PROGRAME.. ESTE ES MI CODIGO


Código Delphi [-]
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
case Key of
    VK_NUMPAD0  : VISOR.Caption:= '0'; // Tecla 0 del Keypad
    VK_NUMPAD1  : VISOR.Caption:= '1';
    VK_NUMPAD2  : VISOR.Caption:= '2';
    VK_NUMPAD3  : VISOR.Caption:= '3';
    VK_NUMPAD4  : VISOR.Caption:= '4';
    VK_NUMPAD5  : VISOR.Caption:= '5';
    VK_NUMPAD6  : VISOR.Caption:= '6';
    VK_NUMPAD7  : VISOR.Caption:= '7';
    VK_NUMPAD8  : VISOR.Caption:= '8';
    VK_NUMPAD9  :  VISOR.CAPTION:= '9';// Tecla 9 del Keypad
    //VK_MULTIPLY :  // Tecla multiplicación (numeric keypad)
    //VK_ADD      : // Tecla suma (numeric keypad)
    //VK_SEPARATOR:  // Tecla separador (numeric keypad)
    //VK_SUBTRACT  : // Tecla resta (numeric keypad)
    //VK_DECIMAL  : // Tecla decimal (numeric keypad)
    //VK_DIVIDE   : // Tecla división (numeric keypad)
  end;
end;
PERO N FUNCIONA NO HAC NADA

roman 26-10-2012 21:12:08

Por favor, no escribas en mayúsculas.

Prueba poniendo la propiedad KeyPreview del formulario en true.

// Saludos

Casimiro Notevi 26-10-2012 21:29:36

Cita:

Empezado por jose.ignacio.ve (Mensaje 448072)
YO YA LO PROGRAME.. ESTE ES MI CODIGO
PERO N FUNCIONA NO HAC NADA

Hola, los compañeros te han aconsejado antes que leas nuestra guía de estilo, se ve claramente que no lo has hecho, te has saltado casi todas las normas.
No estaría mal que las leyeras, no tardarás ni 2 minutos.
Gracias por tu colaboración ;)

jose.ignacio.ve 26-10-2012 21:31:35

otra opcion?? ya la puse en true pero aun sigue sin funciona!!! :( m equivocon en algun lado?

roman 26-10-2012 21:36:45

Además de lo que te comenta Casimiro, acabo de borrar el mensaje que habías puesto en otro hilo. Tu mensaje ahí, tal como lo expresaste, no era más que una intrusión.

// Saludos

ecfisa 26-10-2012 21:45:34

Hola José.

Si pusiste la propiedad KeyPreview del form igual a True como te sugirio roman, en el evento OnKeyPress del form el código que mostras arriba y el TLabel se llama VISOR, sólo me resta preguntarte... ¿ Está activado Bloq Num ?

Saludos.

Ñuño Martínez 26-10-2012 22:04:28

Con la poca información que das, creo que puede ser un problema de diseño. Me explico:

Supongo que el componente "VISOR" es un TLabel o similar, ¿no? Si es así, es posible que bien el tamaño del propio componente, su posición o la configuración de "font" hagan que no se vea lo que se escribe.

Prueba a sustituir:
Código Delphi [-]
VISOR.Caption:= '0'
por
Código Delphi [-]
VISOR.Caption:= VISOR.Caption + '0'
y haz lo mismo con el resto de números.

Esto hará que, en lugar de sustituir el contenido ("Caption") del componente se vaya añadiendo.

Si aun así sigue sin funcionar, prueba a cambiar el tamaño del componente, su posición, y los tamaños y colores del texto (propiedad font).

jose.ignacio.ve 27-10-2012 01:29:54

ya lo probe como m dijist!!1 pero aun nm funciona.!! necesitas q t pase algo asi veas bien cual puede ser la falla de diseño?? mi visor es un tlebel es dond muestra todos los numero y las operaciones q hago!!!

jose.ignacio.ve 27-10-2012 01:35:30

Cita:

Empezado por ecfisa (Mensaje 448080)
Hola José.

Si pusiste la propiedad KeyPreview del form igual a True como te sugirio roman, en el evento OnKeyPress del form el código que mostras arriba y el TLabel se llama VISOR, sólo me resta preguntarte... ¿ Está activado Bloq Num ?

Saludos.


si puse la propiedad keypreview en true, pero programe en evento onkeydown.
tlebel se llama visor
bloq num es el del teclado verdad? yo tengo un notbook no tengo la opcion de bloq num..


La franja horaria es GMT +2. Ahora son las 04:45:19.

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