Ver Mensaje Individual
  #2  
Antiguo 03-03-2015
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 napsterk89.
Cita:
Empezado por napsterk89 Ver Mensaje
...
Lo que yo sé es que tengo que comparar el destino y el núm de doc. si son iguales significa que para ese destino con ese doc ya se realizó el pago.
...
Lo típico sería declarar un campo de pago, pero si la condición para considerar un registro pagado es tál como comentas, podrías hacer:
Código Delphi [-]
function IfHavePay(var FileReg: TFileReg; reg: TRegister): Boolean;
var
  r: TRegister;
begin
  Result:= False;
  Seek(FileReg, 0);
  while not Result and not Eof(FileReg) do
  begin
    Read(FileReg, r);
    Result:= (r.NumDoc = reg.NumDoc) and (r.Destino = reg.Destino);
  end;
end;

Un ejemplo de uso:
Código Delphi [-]
...
type
  TRegister = packed record
    NumDoc : string[9];
    Destino: string[15];
    ...
  end;

  TFileReg = file of TRegister;
...

procedure ...
var
  FileReg: TFileReg;
  r: TRegister;
begin
  AssignFile(FileReg, 'nombre_archivo.dat');
  Reset(FileReg);

  r.NumDoc := Edit2.Text;
  r.Destino:= Combobox2.Items[Combobox2.itemindex];

  if IfHavePay(FileReg, r) then
    ShowMessage('Pagado')
  else
    ShowMessage('Impago');

  CloseFile(FileReg);
end;

Saludos
__________________
Daniel Didriksen

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