Hola gente, espero que alguien pueda ayudarme
Estoy utilizando el metodo d hash:= (clave mod 100)+1, seguramente estoy haciendo algo mal...
El trabajo practico me exige que tenga un archivo de control en donde llevo el primer y el ultimo elemento(es decir, el menor y el mayor) y la cantidad que tengo. Hasta ahi todo bien altas, busquedas y modificaciones...pero cuando quiero hacer una baja tengo que preguntar primero si el elemento esta en el registro de control (es decir si es primero o ultimo), si es asi como hago para buscar el menor o mayor elemento?? dentro del archivo..
Ahh! estoy trabajando en delphi..
Espero puedan ayudarme
El codigo de busqueda del posicion este:
Var
RC:TipoRegControlCli;
RD:TipoRegDatosCli;
Encontre,haypos:Boolean;
hash:TipoPosicion;
Begin
hash:= (clave mod 99)+1;
PosDatos := -1;
Encontre:=False;
haypos:=false;
While (not encontre) and (not haypos) Do
begin
seek(MeCli.Dat,hash);
read(MeCli.Dat,RD);
if (rd.DNI= -1) or (rd.borrado=true) then
haypos:=true
else
begin
if rd.DNI = clave then
encontre:= true
else
hash:= (hash mod 99)+1
end;
end; {while}
posdatos := hash;
BuscaPosCli := Encontre;