Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-11-2006
rojo rojo is offline
Registrado
 
Registrado: nov 2006
Posts: 2
Poder: 0
rojo Va por buen camino
si, tienes razon, estaba un poco redundante... sin embargo, aun me queda el problema, de hecho ahora agrega lineas vacias al memo ....

mira, aqui es donde voy procesando cada linea del memo y la agrego al gráfico...
Código:
procedure TForm1.procesar(Sender: TObject);
var
  i: integer;
  a1, a0, v1, v0, p, tiempo, primero: extended;
begin
  a0:=0;
  v0:=0;
  p:=0;
  tiempo:=0;
  for i:=0 to memo1.Lines.Count-3 do
    begin
    try
      primero:=strtoint(memo1.lines.Strings[i][1]);
          a1:=strtoint(memo1.lines.Strings[i][1]+memo1.lines.Strings[i][2]+memo1.lines.Strings[i][3]);
      if (not(primero=1)) then
        begin
          a1:=strtoint(memo1.lines.Strings[i][1]+ memo1.lines.Strings[i][2]);
        end;
      a1:=strtofloat(edit3.text)*(a1-strtofloat(edit2.text));
      tiempo:=tiempo+1.365;
      chart1.Series[0].AddXY(tiempo, a1);
      a1:= a1*9.8;
      v1:=Integ(a1, a0, 0.001365)+ v0;
      chart2.Series[0].AddXY(tiempo, v1);
      p:= integ(v1, v0, 0.001365)+ p;
      chart3.Series[0].AddXY(tiempo, p);
      v0:=v1;
      a0:=a1;
    except;
    end;
  end;
la variable a1 como que la voy armando, ves?
el asunto es que uso un if para que vea si el primer digito es un 1 (del 100) y si no lo es (o sea, es menor a 100) a1 toma el valor de dos digitos que le corresponde...
la funcion integ() es una integral....
dime si no esta claro....
muchas gracias
Responder Con Cita
  #2  
Antiguo 27-11-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Solo un par de observaciones, el primer carácter de un string es el 1 y no el 0 y segundo, en el código yusnerqui añades un salto de linea con el carácter #10 y con el #13, lo conveniente seria decidirse por uno e ignorar el otro. Algo así:

Código Delphi [-]
var
  temp: String;
  n:integer;
begin
  comport1.ReadStr(temp,count);
  for n := 1 to count do  // O quiza mejor: for n := 1 to Length(temp) do
    if temp[n]=#13then  
      memo1.Lines.Add('');
    else if temp[n]<>#10 then  
      memo1.Text:=memo1.Text+temp[i];
end;
Responder Con Cita
  #3  
Antiguo 28-11-2006
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 25
Crandel Va por buen camino
Por que no nos cuentas un poco mas lo que estas intentando de hacer para poder ayudarte mejor.

Como es le protocolo que estas recibiendo los datos por el puerto? tres datos y un #10 o #13 que separa los valores?
__________________
[Crandel]
Responder Con Cita
  #4  
Antiguo 28-11-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.449
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
rojo, prueba a utilizar la etiqueta [ DELPHI ] en lugar de la etiqueta [ CODE ].
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 28-11-2006
Avatar de yusnerqui
yusnerqui yusnerqui is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuba
Posts: 679
Poder: 23
yusnerqui Va por buen camino
Tienes razón seoane, jejeje, parese que ayer no era mi día.

Ahora quiero preguntar, es necesario hacer esta rutina? Es que no cambia de línea el memo automáticamente cuando encuentra uno de los mencionados caracteres? No debería ser ese el comportamiento normal del memo?

Saludos.
__________________
Lo importante no es llegar primero, sino saber llegar.

Para que puedas llegar mejor lee la Guia de Estilo

Responder Con Cita
  #6  
Antiguo 28-11-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Cita:
Empezado por yusnerqui
Ahora quiero preguntar, es necesario hacer esta rutina? Es que no cambia de línea el memo automáticamente cuando encuentra uno de los mencionados caracteres? No debería ser ese el comportamiento normal del memo?
Pues si, lo malo es que añade un salto de linea cada vez que encuentra un #13#10, un #13 o un #10. Si estamos tratando con un texto guardado en un archivo no hay problema, el ajustara los saltos de linea automáticamente. Pero si estamos haciendo un transmisión y el emisor manda 'hola'+#13#10 y nosotros lo recibimos partido, 'hola'#13 primero y luego #10 se insertaran dos saltos de linea cuando solo debería de haber uno. Ahora bien, podemos hacer algo como esto:

Código Delphi [-]
var
  temp: String;
  n:integer;
begin
  comport1.ReadStr(temp,count);
  for n := 1 to Length(temp) do
    if temp[n]<>#10 then  
      memo1.Text:=memo1.Text+temp[i];
end;

O incluso como esto:
Código Delphi [-]
var
  temp: String;
begin
  comport1.ReadStr(temp,count);
  temp:= StringReplace(temp,#10,'',[rfReplaceAll]);
  memo1.Text:=memo1.Text + temp;
end;

En ambos casos nos deshacemos de los #10 y dejamos todo el trabajo a los #13. El propio memo se encargara de ajustar los saltos de linea cada vez que encuentre un #13 en el texto.
Responder Con Cita
  #7  
Antiguo 28-11-2006
Avatar de yusnerqui
yusnerqui yusnerqui is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuba
Posts: 679
Poder: 23
yusnerqui Va por buen camino
Bueno al parecer en este caso no nos lo dan picado verdad, pues al parecer en temp ya se leyó el contenido de lo que vamos a mostrar en el memo.

Por otra parte te comento que el memo solo cambia de línea con la secuencia #13#10, en caso de omitir alguno de estos dos solo mostrará un símbolo.

De todos modos sería útil que quien inició este hilo se reportara para ver en que ha terminado el problema en cuestión.

Saludos.
__________________
Lo importante no es llegar primero, sino saber llegar.

Para que puedas llegar mejor lee la Guia de Estilo

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
RichEdit, salto de linea chrids506 OOP 3 12-07-2006 17:42:41
email con shellexecute, como insertar un salto de linea alt126 C++ Builder 10 14-12-2005 10:06:55
Eliminar salto de linea de una cadena pablomg8 Varios 2 13-05-2005 15:35:44
salto de linea bolofe Varios 2 24-04-2005 17:30:19
Salto de linea en qreport davidgaldo Impresión 6 02-06-2004 12:59:22


La franja horaria es GMT +2. Ahora son las 12:13:17.


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