Ver Mensaje Individual
  #2  
Antiguo 06-04-2009
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: 18.286
Reputación: 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
¿Y no será un cliente lo que necesitas configurar?

Lo digo porque nosotros tenemos algo similar a eso. Básculas que devuelven datos de peso en una dirección TCP/IP (en realidad es vía serie, pero utilizando conversores leemos en una dirección IP -no se si es vuestro caso también-).

Para las lecturas desde el programa basta con un TClientSocket, con el siguiente evento:

Código Delphi [-]
// Leer del socket
procedure TFormDatosBascula.csBasculaRead(Sender: TObject; Socket: TCustomWinSocket);
var
  str, ini:ShortString;
  i:integer;
begin

  // Leer
  Str := Socket.ReceiveText;
  Str := _ConvertStrAscii7(Str);
  ini := Str;

  // Añadir
  TSLectura.Lines.Text := TSLectura.Lines.Text + Str;

  // Limitar las líneas?
  if (cbCortar.Checked) then begin
    // Limitrar?
    while (TSLectura.Lines.Count > 5) do begin
      // Eliminar la
      TSLectura.Lines.Delete(0);
    end;
  end;
end;

Esto como ves, va almacenando las lecturas en TSLectura.
A parte hay un Timer que lee cada cierto tiempo y Procesa esas lecturas.

El intervalo de proceso va variando dinámicamente, aunque eso ya es otro tema.

Un saludo.
__________________
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