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 05-08-2011
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Cita:
Empezado por escafandra Ver Mensaje
Revisa si tu cadena tiene la longitud adecuada (mayor o igual a 10)...
Me llama la atención que marques en negrita los caracteres 9 y 10 y la instrucción sea Copy(Str, 10, 2);

¿No debería ser:?

Código Delphi [-]
if Length(Str) >= 10 then 
  SubWord1 := '$' + Copy(Str, 9, 2);

Saludos.
Si tomas en cuenta el :, los caracteres si son el 10 y 11...

Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #2  
Antiguo 05-08-2011
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Cita:
Empezado por maeyanes Ver Mensaje
Si tomas en cuenta el :, los caracteres si son el 10 y 11...

Saludos...
Muy cierto maeyanes, la presvicia me jugó una mala pasada.

Saludos.
Responder Con Cita
  #3  
Antiguo 05-08-2011
Avatar de duilioisola
[duilioisola] duilioisola is online now
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.735
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Prueba enviando cada paso al memo, para ver donde se produce el error:

Código Delphi [-]
procedure TFMain.Com_SerieRxChar(Sender: TObject; Count: Integer);
var
  Str : String;
  SubWord1 : String;
  Word1 : Integer;
begin 
  Memo1.Lines.Clear;
  Memo1.Lines.Add('Inicio');

  Com_Serie.ReadStr(Str, Count);
  Memo1.Lines.Add('Str: '+Str);
  Memo1.Lines.Add('Count: '+IntToStr(Count));

  // Verifico que haya mas de 11 caracteres
  if Length(Str) >= 11 then
     Str := copy(Str, 10, 2)
  else
     Raise Exception.Create('Error al leer COM. No han llegado caracteres suficientes');
  Memo1.Lines.Add('copy(Str,10,2): '+Str);

  SubWord1 := '$' + Str;
  Memo1.Lines.Add('SubWord1: '+SubWord1);

  Word1 := strtoint(SubWord1 );;
  Memo1.Lines.Add('Word1: '+IntToStr(Word1));
end;

Última edición por duilioisola fecha: 05-08-2011 a las 16:41:35.
Responder Con Cita
  #4  
Antiguo 05-08-2011
Panasys Panasys is offline
Miembro
 
Registrado: ago 2007
Posts: 88
Poder: 17
Panasys Va por buen camino
Exactamente amigo, el problema es que no me esta llegando la cadena completa que especifique mas arriba en el primer post.

Hace un rato hice lo que planteas y me di cuenta de eso, pero planteare en otro post el problema del ComPort.

Es un problema con el componente.

Y Escafandra tienes razon, era 9,2 la posicion del copy. Pero igual no funciona porque seguramente no estoy utilizando correctamente la libreria del puerto serie.

Muchísimas gracias por la ayuda, igual me sirvio para recorrerme el foro y aprenderme otras cosas !!!

Un abrazo
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
¿Como extraer letras de una cadena? avila Varios 9 22-07-2011 17:42:29
Extraer caracteres de una cadena MiLLeNPuNk Varios 7 19-05-2010 21:37:25
Convertir cadena aleatoria en cadena de N caracteres DANY OOP 3 12-03-2009 20:49:21
Extraer caracteres de un edit lKinGl Varios 2 24-07-2008 23:12:14
Extraer caracteres de una Cadena!! subzero C++ Builder 6 18-02-2004 22:15:50


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


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