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

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-08-2011
Panasys Panasys is offline
Miembro
 
Registrado: ago 2007
Posts: 88
Poder: 17
Panasys Va por buen camino
Extraer n caracteres de una cadena

Hola amigos, llevo una semana con algo que parece simple a la vista pero no lo es en los resultados

Les cuento, tengo una conexion serie con un aparato utilizando un componente ComPort, envio una cadena y el dispositivo me contesta con una cadena como esta: :0103100003006400000000000000000000000086. Hasta aca todo bien, el codigo es el siguiente:

Código Delphi [-]
procedure TFMain.Com_SerieRxChar(Sender: TObject; Count: Integer);
var
  Str           : String;
  SubWord1  : String;
  Word1       : Integer;
begin 
  Com_Serie.ReadStr(Str, Count);
  Str           := copy(Str, 10, 2);
  SubWord1 := '$' + Str;
  Word1      := strtoint(SubWord1 );;
  Memo1.text := Memo1.Text + inttostr(Word1);
End;

Str es la cadena que obtengo del dispositivo, que si la mando directamente al memo aparece correctamente y completa.

Ahora solo necesito esta parte de la cadena :0103100003006400000000000000000000000086, ya que esos dos caracteres representan un numero hexadecimal, por eso en SubWord1 le agrego el $ a la cadena y en Word1 lo paso de Str a Int para que me devuelva el valor, el hex va de 00 a ff por lo tanto voy a ir de 0 a 255 en el entero.

Cual es el problema? Que el copy me devuelve cualquier cosa, por momentos bien por momentos cualquier valor y no solo dos digitos puede darme 2, 4, 6 y hasta 8 digitos, eso hace que cuando lo paso a entero me da cualquier cosa.

El Memo1 solo esta para ver en tiempo real que esta diciendo, la app consulta cada segundo al dispositivo. Ya les digo que cuando muestro la cadena entera en el memo se ver perfecta y la comunicacion es correcta lo que no puedo hacer es extraer correctamente esos dos caracteres.

Un abrazo ! y gracias !!!

Muchos datos ? Mucha lata? Mucho Gre Gre para decir Gregorio? No sabia como explicarlo en menos palabras

Abrazos

Javier

Última edición por ecfisa fecha: 05-08-2011 a las 15:59:54. Razón: Etiquetas [DELPHI] [/DELPHI]
Responder Con Cita
 



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 11:59:17.


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