Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-04-2011
jgarcias2 jgarcias2 is offline
Registrado
NULL
 
Registrado: abr 2011
Posts: 8
Poder: 0
jgarcias2 Va por buen camino
recibir datos rs232 desde pic

Hola compañeros,

os escribo para preguntar una duda que tengo y no me deja dormir, me tiene cansado y la verdad que no se por donde meterle "mano" ...

Os cuento:
lo que hago es enviar varios datos desde el pic hacia el pc via serie, y los recibo en el pc, los pongo en un memo y hasta ahi todo bien. Pero si quiero ponerlo en un label o en un edit o si quiero coger un valor para mostarlo en un indicador numerico no me coge la misma cadena.

Envio desde el pic con ccs:
Código Delphi [-]
 
  printf("Velocidad: %u\r\n",velocidad); 
  printf("Fuerza: %u\r\n",fuerza);
Recogo desde el pc con delphi y componente tciacomport:
Código Delphi [-]
 
procedure TForm1.CiaComPort1DataAvailable(Sender: TObject);
var str: string;
begin
  str := ciacomport1.ReceiveStr();      
  memo1.text := memo1.Text + str; // esto lo hace bien
  edit1.text := str; // en edit1 no aparece lo mismo que en memo1 
end;
Como puede ser ??? si en str tiene lo mismo no ???

Saludos, agradezco toda la ayuda que me podais prestar.
Gracias.

Última edición por ecfisa fecha: 18-04-2011 a las 07:11:11.
Responder Con Cita
  #2  
Antiguo 17-04-2011
jgarcias2 jgarcias2 is offline
Registrado
NULL
 
Registrado: abr 2011
Posts: 8
Poder: 0
jgarcias2 Va por buen camino
He estado haciendo pruebas, y lo que si puedo hacer es esto

comport1.ReadStr(str, count);
memo1.Text := memo1.text + str;
label2.caption := memo1.Text;

asi si que funciona bien, sin embargo esto no lo hace:
Código Delphi [-]
 
  comport1.ReadStr(str, count);
  memo1.Text := memo1.text + str;
  label2.caption := str;  // asi se pierden caracteres...
Como es posible esto, no lo entiendo...
Por cierto uso el delphi 7.

Saludos. Gracias.

Última edición por ecfisa fecha: 18-04-2011 a las 07:09:15.
Responder Con Cita
  #3  
Antiguo 17-04-2011
jgarcias2 jgarcias2 is offline
Registrado
NULL
 
Registrado: abr 2011
Posts: 8
Poder: 0
jgarcias2 Va por buen camino
Pierdo datos de memo.text a label.caption

Hola,

os escribia para ver si me podeis ayudar, estoy intentando sacar datos de un memo en el cual escribo datos recibidos por el rs232, la cuestion es, los datos son escritos correctamente en el memo, pero cuando voy a escribirlos en un edit o un label pierdo caracteres. Os adjunto parte del codigo:
Código Delphi [-]
 
procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);
var str: string;
begin
  comport1.ReadStr(str, count);
  memo1.Text := memo1.text + str;  // Esta linea la hace perfecta
  label2.caption := str;    // Sin embargo en esta otra me pierde caracteres
end;


Como es posible ??? he realizado un monton de pruebas y no se ya por donde atacar el problema, a ver si me orientais un poco.

La cuestion que yo escribo caracteres en el memo y luego quiero recorrerlo para extraer ciertos números, si sabeis como podria hacerlo en el memo tambien me valdria.

Uso delphi 7,

Saludos y muchas gracias.

Última edición por ecfisa fecha: 18-04-2011 a las 07:10:18. Razón: Etiquetas [DELPHI] y [/DELPHI]
Responder Con Cita
  #4  
Antiguo 17-04-2011
jgarcias2 jgarcias2 is offline
Registrado
NULL
 
Registrado: abr 2011
Posts: 8
Poder: 0
jgarcias2 Va por buen camino
He realizado unas pruebas y veo que si pongo esto no pierdo ningún caracter,
Código Delphi [-]
 
  label2.caption := label2.Caption + str;

esto es posible ???, a q se puede deber ??? recuerdo que str proviene de datos recibidos por el rs232 (comport).

No entiendo nada de nada, a ver si me explicais algo por que ando un poco desesperado...

Saludos. Gracias.

Última edición por ecfisa fecha: 17-04-2011 a las 04:20:45. Razón: Etiquetas [DELPHI] y [/DELPHI]
Responder Con Cita
  #5  
Antiguo 17-04-2011
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 jgarcias2.

Lo que te sucede es perfectamente normal.

En tu primer ejemplo, la sentencia:
Código Delphi [-]
label2.Caption:= str;
Deja en la propiedad Caption del TLabel el último valor asignado.(cada nueva asignación sobreescribe el valor anterior)

La solución te la diste vos mismo con:
Código Delphi [-]
label2.caption := label2.Caption + str;
Ya que los valores de la variable str se van concatenando en la propiedad Caption del mismo modo que cuando hacías:
Código Delphi [-]
memo1.Text := memo1.text + str;

Por favor encerrá tu código entre las etiquetas [delphi] [/delphi] para que tu código sea mas legible ( etiquetas vB), muchas gracias.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 17-04-2011 a las 04:22:07.
Responder Con Cita
  #6  
Antiguo 17-04-2011
jgarcias2 jgarcias2 is offline
Registrado
NULL
 
Registrado: abr 2011
Posts: 8
Poder: 0
jgarcias2 Va por buen camino
Ante todo gracias por contestar ecfisa,

pero lo que pasa no es tan sencillo como parece, lo que pasa que igual me explico mal.
Eso que me comentas ya lo sabia, lo que quiero decir es que al recibir los datos en str si pongo esto:

Código Delphi [-]
   label1.caption := label1.caption + str;
si pongo eso lo hace bien, pero sin embargo al poner esto no lo hace bien

Código Delphi [-]
   label1.caption := str;

a lo que me refiero con hacerlo bien es a poner lo que realmente recibo por el rs232.

Este es el evento:

Código Delphi [-]
procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);
var str: string;
begin
    comport1.ReadStr(str, count);
    label1.caption := label1.caption + str;
end;


Saludos y gracias.

Última edición por ecfisa fecha: 18-04-2011 a las 05:44:18. Razón: corrección etiquetas.
Responder Con Cita
  #7  
Antiguo 18-04-2011
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 jgarcias2.

Ví que habías duplicado el tema en el foro ASM y Microcontroladores, los combiné en este foro por parecerme más adecuado.
Sé que no llevas mucho tiempo en los foros así que este tipo de confusiones son normales, pero en lo posible trata de no duplicar
los temas. Si lo pones en un foro y luego te parece que hubiera debido ir en otro, sólo comunicaselo a un moderador para que lo mueva.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #8  
Antiguo 18-04-2011
jgarcias2 jgarcias2 is offline
Registrado
NULL
 
Registrado: abr 2011
Posts: 8
Poder: 0
jgarcias2 Va por buen camino
ok, gracias, lo tendre en cuenta.

Saludos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
label.caption en 2 renglones ingel Varios 5 17-04-2018 00:13:32
Accder a propiedad Text de un label de otro form! XaRz OOP 4 16-05-2006 17:22:10
Guardar lo que tengo en un Edit1.text y edit2.text en una base de datos firebird jorgeluisc Conexión con bases de datos 1 23-04-2006 19:29:28
Como ir cambiando el caption de un label mientras ejecuto una funcion? gandalf_uy Varios 4 25-08-2005 15:37:01
Envio de datos en memo a campos tipo text liz_hilton Conexión con bases de datos 2 17-03-2005 21:49:02


La franja horaria es GMT +2. Ahora son las 11:24:09.


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