Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ayuda en un código (https://www.clubdelphi.com/foros/showthread.php?t=56175)

enecumene 16-06-2008 14:27:28

Hola, muy bueno para ser el primero jeje, revisando me encontré con un problema, y es en la parte de la facturación, al darle click al botón IVA y Descuento sale el error:

Cita:

---------------------------
proyectofinal1
---------------------------
'' is not a valid floating point value.
---------------------------
OK
---------------------------
Revísalo, pero todo lo demás está bien ;)

Saludos.

kbaby 16-06-2008 14:30:37

A ver, alomejor te pasa esto. El iva y/o descuento se aplica una vez que tenemos un total "X". Así que primero elejimos los días que pasó en el hospital, el tipo de operación y luego ponemos por ejemplo:

16 -> IVA
5 -> DESCUENTO

Y verás como automaticamente el total cambia a "X+IVA-DESCUENTO".

^^

enecumene 16-06-2008 14:45:07

Hola, yo quise decir esteticamente hablando, el mensaje no es nada agradable y poco informativo, podrías usar el Try...Except para capturar ese error y personalizar el mensaje que diga algo como:

Código Delphi [-]
ShowMessage('El valor que has ingresado no es válido, por favor digite el valor de la siguiente forma: bla, bla...');

Así quedaría mejor ¿no crees?, otra cosa, deberías centralizar el form principal o que cuando incies se maximize automaticamente.

Saludos.

kbaby 16-06-2008 14:54:37

¿Me podrías explicar como usar el Try...Except?

La verdad es que no tengo ni idea y me gustaría hacer eso que me dices. Yo se usar el comando showmessage('blabla'); pero no sé hacer que cuando ponga por ejemplo en descuento "quince" salga un mensaje diciendo que sólo ponga números del 0-9.

Cita:

Así quedaría mejor ¿no crees?, otra cosa, deberías centralizar el form principal o que cuando incies se maximize automaticamente.
Explica que eso me interesa :P Ya que yo lo ajusté al tamaño de la pantalla del ordenador que tengo en mi colegio, y ahora, al abrirlo en mi ordenador. paf! Se ve muy chico jajaja.

enecumene 16-06-2008 14:59:24

Código Delphi [-]
procedure TForm.Button1click(sender: TObject);
begin
    try
      //las sentencias normales que tienes
    Except
       Showmessage('mensaje');
       Exit; //para detener el proceso
    end;
end;

Saludos ;)

kbaby 16-06-2008 15:04:41

Mi código a quedado así:
Código Delphi [-]
procedure TForm1.Button16Click(Sender: TObject);
var iva,total,a:real;
begin
  try
  iva:=strtofloat(edit21.text);
  total:=strtofloat(edit23.text);
  iva:= (iva / 100)*total;
  a:= total + iva;
  edit23.text:=floattostr(a);
  button16.enabled:=false;
  except
  showmessage('Introduzca un valor válido. Carácteres permitidos 0-9.');
  Exit;
end;
end;

Pero ahora cuando en IVA pongo quince (en vez de 15) no me sale ese mensaje, sino el error que a ti te daba. Algo hago mal...

enecumene 16-06-2008 15:10:05

Hola, lo que tienes que hacer es esto:

Código Delphi [-]
procedure TForm1.Button16Click(Sender: TObject);
var iva,total,a:real;
begin
 if Edit21.Text > '9' then
   Begin
     ShowMessage('El Mensaje');
     Exit;
   end;
  try
  iva:=strtofloat(edit21.text);
  total:=strtofloat(edit23.text);
  iva:= (iva / 100)*total;
  a:= total + iva;
  edit23.text:=floattostr(a);
  button16.enabled:=false;
  except
  showmessage('Introduzca un valor válido. Carácteres permitidos 0-9.');
  Exit;
end;
end;

Saludos.

kbaby 16-06-2008 15:16:17

Hola! Jajaja perdona la molestia. Puse ese código y resulta que si en edit21.text pongo (por ejemplo: pepe) me sale:
1º->
'El Mensaje'

2º->

El error de antes.

Queda feo el error que tira... ¿no se podría sustituir ese error por un mensaje que el usuario lo entienda?.

enecumene 16-06-2008 15:25:51

Cita:

Empezado por kbaby (Mensaje 293835)
Hola! Jajaja perdona la molestia. Puse ese código y resulta que si en edit21.text pongo (por ejemplo: pepe) me sale:
1º->
'El Mensaje'

2º->

El error de antes.

Queda feo el error que tira... ¿no se podría sustituir ese error por un mensaje que el usuario lo entienda?.

A ver, ¿cual fue el error feo que te tira?, y por casualidad el Edit21 no debe ser numérico? :rolleyes:

Saludos.

kbaby 16-06-2008 15:33:49

El error que da es: '' is not a valid floating point value.

Y claro que debe ser numerico. La cadena pepe la puse como si pusieramos dieciseis u ocho en el edit. Lo que quiero que haga es que si los introducido no es un numero del 0-9 (no hay mas numero que paranoya xD) pues salga un mensaje que diga que introduzca un valor del 0-9.

enecumene 16-06-2008 15:43:53

Vamos a ver, prueba este, no te aseguro que funcione porque lo hice al vuelo:

Código Delphi [-]
procedure TForm1.Button16Click(Sender: TObject);
var iva,total,a:real;
    Numeros: Packed array[0..9] of integer;
    Valor: Integer;
begin
Valor := SrtToInt(Edit21.text);
 if Valor <> Numeros then
   Begin
     ShowMessagge('El Mensaje');
     Exit;
   end;
 if Edit21.Text > '9' then
   Begin
     ShowMessage('El Mensaje');
     Exit;
   end;
  try
  iva:=strtofloat(edit21.text);
  total:=strtofloat(edit23.text);
  iva:= (iva / 100)*total;
  a:= total + iva;
  edit23.text:=floattostr(a);
  button16.enabled:=false;
  except
  showmessage('Introduzca un valor válido. Carácteres permitidos 0-9.');
  Exit;
end;
end;

Intenta ahora.

Saludos.

kbaby 16-06-2008 19:43:08

Gracias, el retoque un nada y ya funciona. Pues venga muchas gracias a ver que opina mi maestro Delphius xD

enecumene 16-06-2008 19:52:55

Cita:

Empezado por kbaby (Mensaje 293919)
Gracias, el retoque un nada y ya funciona. Pues venga muchas gracias a ver que opina mi maestro Delphius xD

A ver, al estar tu de comelón te comiste algunas palabras y no entiendo :D:D, ¿cual fue el retoque? ¿lo último que te propuse funcionó? :confused::confused:

Saludos. ;)

kbaby 16-06-2008 20:05:57

A mi me funcionó, lo que retoqué fue mi codigo, el que ya tenía :p

Delphius 18-06-2008 01:03:31

Hola kbaby,
Estuve fuera estos últimos días. Recien vuelvo.
Me alegro de que hayas aprobado el proyecto. Se ve que tienes muchas ganas y energías. No pierdas ese entusiasmo... no es por ser malito pero puede que más adelante te haga falta.

Disculpa que no haya visto tus proyectos. Es que estas semanas ando corto de tiempo y tengo obligaciones que me van a obligar ausentarme mucho.

Veo que enecumene tomó mi lugar en la cátedra. No temas pedir ayuda a alguien más. Somos muchos los profes aqui. Y si te le animas... puedes sumartenos, aportando lo que vayas aprendiendo.

Saludos,

kbaby 18-06-2008 14:08:17

Las obligaciones primero, yo ahora estoy liado porque estoy quedando para salir todo el rato con los amigos porque algunos se van ya del instituto y claro es una pena. Bueno ya me avisarás cuando estes menos ocupado o bueno, ya notarás mi presencia por aqui jajaja.

Que te sea todo leve... un besazo*


diego


*no pienses mal eh xD :D


La franja horaria es GMT +2. Ahora son las 08:14:30.

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