Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-08-2012
rufo rufo is offline
Miembro
 
Registrado: jul 2006
Posts: 240
Poder: 18
rufo Va por buen camino
Unhappy Error al multiplicar 2 memos

Hola amigos buenas tardes, tengo un problemilla en el cual nose como resolverlo ya he dado muchas vueltas en el foro y no encuentro la solucion, espero que me ayuden, bueno resulta que tengo dos memos y manualmente escribo las cantidad y en un terce memo sale el resultado pero al momento de pasar a escribir la siguiente cantidad me sale el siguiente error:

http://www.subirimagenes.net/show-im...7e754a0e8b57c9

y el codigo que utilizo para hacer dichas operacion es la siguiente

Código Delphi [-]
 If Memo4.Text = '' then
    begin
    // nada
    end
    else
    Memo2.Text := FloatToStr(StrToFloat(Memo7.Text) * StrToFloat(Memo4.Text));

Bueno de antemano gracias y espero su ayuda.Uso delphi 2007
Responder Con Cita
  #2  
Antiguo 07-08-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Da la impresión, a juzgar por la imagen, que en uno de los memos hay un salto de línea entre los dos digitos del número.

// Saludos
Responder Con Cita
  #3  
Antiguo 07-08-2012
rufo rufo is offline
Miembro
 
Registrado: jul 2006
Posts: 240
Poder: 18
rufo Va por buen camino
Claro es cuando quiero introducir otro digito y me lanza este error
Responder Con Cita
  #4  
Antiguo 07-08-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Pero qué es lo que quieres hacer?
Responder Con Cita
  #5  
Antiguo 07-08-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por rufo
Claro es cuando quiero introducir otro digito y me lanza este error
Entonces tienes que leer una línea del memo a la vez y no todo el texto. La propedad Text te dará todo el contenido incluyendo los retornos de carro.

// Saludos
Responder Con Cita
  #6  
Antiguo 07-08-2012
rufo rufo is offline
Miembro
 
Registrado: jul 2006
Posts: 240
Poder: 18
rufo Va por buen camino
Lo que quiero hacer es un multiplicacion cada vez que introdusca datos numericos en los los dos memos y que me muetre el resultado en el tercer memo, pero nose como hacerle solo ese codigo tengo y es ahi mi problema.
Responder Con Cita
  #7  
Antiguo 08-08-2012
Avatar de champy
champy champy is offline
Miembro
 
Registrado: sep 2003
Ubicación: Alicante, España
Posts: 75
Poder: 21
champy Va por buen camino
Como dice Roman, leyendo las lineas una por una, con Memo.Lines[NdeLinea]

Código Delphi [-]
VAR
   Linea : Integer;
Begin

For Linea := 0 to Memo1.Lines.Count -1 do
Begin
   Memo3.Lines.Add( FloatToStr( StrToFloat(Memo1.Lines[Linea]) * StrToFloat(Memo2.Lines[Linea])) );
End;

End;

Última edición por champy fecha: 08-08-2012 a las 08:21:04.
Responder Con Cita
  #8  
Antiguo 08-08-2012
rufo rufo is offline
Miembro
 
Registrado: jul 2006
Posts: 240
Poder: 18
rufo Va por buen camino
Gracias amigo champy el resultado que me das funciona pero al momento de escribir mas cantidad en el memo y salta a la linea siguiente me borra la cantidad anterior.
Responder Con Cita
  #9  
Antiguo 08-08-2012
Avatar de champy
champy champy is offline
Miembro
 
Registrado: sep 2003
Ubicación: Alicante, España
Posts: 75
Poder: 21
champy Va por buen camino
Perdón? No comprendo el problema
Responder Con Cita
  #10  
Antiguo 08-08-2012
rufo rufo is offline
Miembro
 
Registrado: jul 2006
Posts: 240
Poder: 18
rufo Va por buen camino
Una disculpa por no aclarar bien resulta que puse el ejemplo que mencionaste Champy, si funcioan pero al momento de poner otra cantida en el memo donde muestra los resultados estos se van borrando es ahi mi duda, anexo el codigo

Código Delphi [-]
procedure TFACTURA.Memo4Change(Sender: TObject);
VAR
   Linea : Integer;
Begin

For Linea := 0 to Memo4.Lines.Count -1 do
Begin
   Memo2.Lines.Add( FloatToStr( StrToFloat(Memo4.Lines[Linea]) * StrToFloat(Memo7.Lines[Linea])) );
End;
end;

Mi duda es por que cuando pongo otra cantida en la siguiente linea del memo, en el otro memo donde tiene que mostrar el resultado se borra...
Responder Con Cita
  #11  
Antiguo 09-08-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola rufo.

Proba de este modo:
Código Delphi [-]
procedure TFACTURA.FormCreate(Sender: TObject);
begin
  ...
  // Las dos líneas siguientes se pueden omitir,
  // si se asigna el evento desde el Object Inspector
  Memo4.OnChange:= MemoChange;
  Memo7.OnChange:= MemoChange;
end;

procedure TFACTURA.MemoChange(Sender: TObject);
var
  v1,v2: Double;
  c: Integer;
begin
  c:= 0;
  Memo2.Lines.Clear;
  while (c < Memo4.Lines.Count) and (c < Memo7.Lines.Count) do
  begin
    if TryStrToFloat(Memo4.Lines[c],v1) and TryStrToFloat(Memo7.Lines[c],v2) then
      Memo2.Lines.Add(Format('%8.2f',[v1*v2]))
    else
      Memo2.Lines.Add('Error en operandos. (Línea' + IntToStr(c) +')');
    Inc(c);
  end;
end;
...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #12  
Antiguo 10-08-2012
rufo rufo is offline
Miembro
 
Registrado: jul 2006
Posts: 240
Poder: 18
rufo Va por buen camino
Gracias amigo Ecfisa he probado el ejemplo que me diste y me funciono, gracias de nuevo y a todos que me ayudaron.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
multiplicar 2 tedit edgar_prospero Varios 2 07-06-2012 02:29:29
Ayuda al multiplicar peripla Varios 5 13-04-2010 09:26:00
Como multiplicar dos memos rufo Varios 5 15-12-2009 17:20:55
multiplicar dos tablas fabian20s SQL 1 31-03-2005 15:31:08
Multiplicar en una consulta muli Firebird e Interbase 1 20-06-2003 00:05:37


La franja horaria es GMT +2. Ahora son las 12:49:34.


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
Copyright 1996-2007 Club Delphi