Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problemita con ReadStr (https://www.clubdelphi.com/foros/showthread.php?t=57983)

JoseFco 03-07-2008 22:04:45

Problemita con ReadStr
 
"Tolomeo se mudo al Polo Norte"

cHackAll 03-07-2008 22:15:05

Código Delphi [-]
//...

 ComPort.ReadStr(Str, Count);
 for i := 1 to Count do
  begin
   Binario := FastIntToBin(Byte(Str[i]), 8);
   StaticText1.Caption := Binario[1];

//...

JoseFco 03-07-2008 22:33:35

"Tolomeo se mudo al Polo Norte"

JoseFco 03-07-2008 23:17:34

"Tolomeo se mudo al Polo Norte"

waly2k1 30-07-2008 18:17:51

Otra ayudita sobre el tema ?
 
Buenas muchachos, estoy con un problemita no tan complicado
pero me supera un poco, lo que pretendo de este codigo es extraer
solo las letras y nros. que puedan venir del puerto, y no así los caracteres
raros o ruidos que pueda venir. El tema se me complica porque al
preguntar si es Nro. o letra desconozco las funciones de
conversión de tipos, y PChar <> PAnsiChar y sigue la lista de errores..

El tema en cuestión es la lectura de un lector de tarjeta por proximidad,
hasta funciona!!!, pero nose que caracteres puedan venir en otras tarjetas
o simplemente ruidos como lo mencionaba anteriormente.

Código:

procedure TfrmLector.ComPortRxChar(Sender: TObject; Count: Integer);
var
    sLect:string;
    cChar:Char;
    i:integer;
begin
    Sleep(1000); // Porque sino se activa nuevamente el evento mientras estoy procesando
    ComPort.ReadStr( sLect, 20 ); // A mi me interesan 12 caracteres que pueden ser letras o nros.
   
    sLectura := UpperCase( sLect );                    // es una variable global, pq Delphi no maneja variables estáticas
    sLectura := ReplaceSTR( sLectura, Chr(13), '');
    sLectura := ReplaceSTR( sLectura, Chr(10), '');
    sLectura := ReplaceSTR( sLectura, '', '');
    sLectura := ReplaceSTR( sLectura, '', '');
    sLectura := ReplaceSTR( sLectura, '', '');

    // Aquí iría rutina para filtrar solo letras y nros.,
    // ya que nose que otros caracteres pueden venir, del tipo for i :=1 to length(sLectura)


    lblRTarjeta.Caption := sLectura;
end;

Bueno es todo, saludos y desde ya muchas gracias!!!
Walter


La franja horaria es GMT +2. Ahora son las 20:03:52.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi