Ver Mensaje Individual
  #8  
Antiguo 16-01-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Reputación: 10
marcoszorrilla Va por buen camino
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
    { Private declarations }
  public
    { Public declarations }
  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.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita