Código Delphi
[-]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
Procedure SetAutoInc(filename : string; Value : Longint);
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.Close;
SetAutoInc('D:\Pruebas\Prueba.db',0);
Table1.Open;
end;
Procedure SetAutoInc(filename : string; Value : Longint);
var
mystream : tfilestream;
begin
mystream := tfilestream.create(filename,
fmOpenWrite + fmShareExclusive);
try
mystream.Seek(73, soFromBeginning);
mystream.Writebuffer(Value, SizeOf(Value));
finally
mystream.Free;
end;
end;
end.
Pon una tabla Paradox, en una carpeta la que sea, en mi ejemplo la tabla se llama Prueba.Db y está en la carpeta D:\Pruebas del disco duro Letra D:
Introduce algunos registros a mano, suponemos que tiene un campo autoincremento, borra todos los registros, todo esto desde el DatabaseDesktop, ahora introduce uno nuevo verás que el autoincremento sigue como iba por ejemplo con el número 20.
Ahora con el código que te he puesto si lo ejecutas, verás que la tabla cuando introduzcas nuevos registros empieza otra vez por 1.
Un Saludo.