Ver Mensaje Individual
  #2  
Antiguo 15-10-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola REVINFOR.

Cita:
Empezado por REVINFOR Ver Mensaje
...
Luego, para controlar la asistencia del usuario, tengo que convertir esta cadena en el array de bytes que tenia al principio...
para ello, lo que hago es contar las posiciones de la cadena de 2 en 2, anteponiendo el caracter $ y usando la funcion strtoint.
...
A partir de aquí no me queda del todo claro la secuencia de acciones que sigues...

Sin embargo pareciera, que una vez obtenida la huella y pasada a cadena, te podrías ahorrar esa última conversión comparándola directamente con las almacenadas en la tabla.

A modo de ejemplo:
Código Delphi [-]
function BytesToString(v: array of byte): string;
const
  DIGHEX = '0123456789ABCDEF';
var
  i: Integer;
begin
  SetLength(Result, Length(v) shl 1);
  for i :=  Low(v) to High(v) do
  begin
    Result[1+2*i]:= DIGHEX[(v[i] shr  4)+1];
    Result[2+2*i]:= DIGHEX[(v[i] and 15)+1];
  end;
end;

...
var
  Huella: array of Byte;
  ...
begin
  SetLength(Huella, N); // (N igual a tamaño_leido + 1)

  // CapturarHuella sería una función que devuelve verdadero si la lectura resulta bién
  // y en el parámetro Huella los Bytes enviados por el lector
  if CapturarHuella(Huella) then  
    with tuQuery do
    begin
      Close;
      SQL.Clear;
      SQL.Add('SELECT COUNT(*) AS ASISTENCIAS FROM TU_TABLA');
      SQL.Add('WHERE SIGNATURE = :PSIGNAT');
      SQL.Add('AND FECHA BETWEEN :DESDE AND :HASTA');
      ParamByName('PSIGNAT').AsString:= BytesToString(Huella);
      ...

      Open;
      //... acciones que desees
      if not IsEmpty then
        ShowMessage(Format('Asistencias: %d', [FieldByName('ASISTENCIAS').AsInteger]))
      ... 
    end;
  ...

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita