PDA

Ver la Versión Completa : Quitar datos recibidos de un puerto serial


GrupoDatasoft
05-09-2008, 16:50:59
Hola, buen dia a todos, lo que me sucede es lo siguiente:Tengo una aplicacion para punto de venta en delphi, estoy programandola para que en el campo cantidad de un dbgrid de tipo integer, me reciba el dato de peso enviado por la balanza electronica por puerto serial rs232 (com1). hasta alli normal, el problema, es que la balanza manda los datos de valor unitario, valor toal y peso, con sus respectivas iniciales de cada dato y lo que yo nececito es solamente el dato de peso, obviamente el campo del dbgrid no me recibe todos esos datos. La pregunta entonces es: como hacer para eliminar de los datos que me envia la balanza los que no me sirvan?, encontre una funcion delphi para cortar caracteres a partir de una posicion dada, pero igual no me sirve porque cuando se abre el puerto, la balanza nunca comienza a enviar desde el mismo punto si no desde cualquier punto, y entonces por eso no pude aplicar la funcion de cortar caracteres de la cadena de texto. Alguien me puede ayudar?. los datos que envia la balanza son asi:

ut 0
tt 0
US, NT, WT: +0.250 Kg (Y VUELVE Y EMPIEZA)
ut 0
tt 0
US, NT, WT: +0.250 Kg (Y ASI SUSECIVAMENTE)
El problema es que nunca empieza exactamente en "ut", unas veces comienza en "ut" otras en "tt" otras en "Kg" y asi mismo puede comenzar a mandar datos en cualquier parte. La verdad, estoy perdiendo varios clientes por falta de esta programacion, les agradeceria su colaboracion.

Gracias a todos...

egostar
05-09-2008, 17:26:22
Hola

Se me ocurre que la cadena que recibas busques la substring 'WT:' y de ahi copies el dato de los Kg.

Por ejemplo


procedure TForm1.Button1Click(Sender: TObject);
var
cadena: string;
indice: integer;
begin
cadena := 'US, NT, WT: +0.250 Kg ';
indice := pos('WT:',cadena);
if indice > 0 then
showmessage(copy(cadena,indice+5,5));
end;


Salud OS

maeyanes
05-09-2008, 17:27:43
egopolice...

Ahora si me fallaste: http://www.clubdelphi.com/foros/showthread.php?t=59717 :D :D


Saludos...

roman
05-09-2008, 17:30:14
Voy a cerrar este tema debido a las repeticiones. Al usuario GrupoDataSoft le recomiendo que lea la guía de estilo para publicar mensajes correctamente.

// Saludos