Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-04-2008
dtomeysoto dtomeysoto is offline
Miembro
 
Registrado: dic 2005
Posts: 173
Poder: 20
dtomeysoto Va por buen camino
empezar en 1 luego de un pack

Amigos del Club, tengo una tabla paradox que tiene un campo autoincrement, esta tabla que tuvo datos en un momento determinado y que de vez en cuando le hago un pack quisiera de alguna forma que el campo autoincrement me cominece en 1, hay forma posible???
Responder Con Cita
  #2  
Antiguo 28-04-2008
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Yo utilizo está función y me va de perlas:

Código Delphi [-]
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;

Ejemplo de llamada:
Código Delphi [-]
('\\Facturacion\facturas\AniPdx\LinFacturas.db',0);

Con esta instrucción el próximo registro tendrá el número 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
  #3  
Antiguo 28-04-2008
dtomeysoto dtomeysoto is offline
Miembro
 
Registrado: dic 2005
Posts: 173
Poder: 20
dtomeysoto Va por buen camino
gracias amigo por tu pronta respuesta, luego de escribir este post encontré en la web el siguiente código muy parecido al tuyo.


Código Delphi [-]
 
function ResetAutoInc(FileName: TFileName; NewValue:Longint): Boolean;
begin
with TFileStream.Create(FileName, fmOpenReadWrite) do
try
Result := (Seek($49, soFromBeginning) = $49) and (Write(NewValue, 4) = 4);
finally
Free;
end;
end;

Última edición por dtomeysoto fecha: 29-04-2008 a las 13:35:46.
Responder Con Cita
  #4  
Antiguo 29-04-2008
dtomeysoto dtomeysoto is offline
Miembro
 
Registrado: dic 2005
Posts: 173
Poder: 20
dtomeysoto Va por buen camino
Cita:
Empezado por marcoszorrilla Ver Mensaje
Yo utilizo está función y me va de perlas...
Amigo, luego de revisar tu codigo más el que encontré en la web noto que ambos hacen lo mismo de una forma muy parecida, pero lo que no logro entender es en si el porqué se escribe en la posición 73 de la tabla, imagino que tiene que ver con la estructura de una tabla paradox.

Última edición por dtomeysoto fecha: 29-04-2008 a las 13:32:53.
Responder Con Cita
  #5  
Antiguo 29-04-2008
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Símplemente porque en esa posición se guarda el número por el que va el autoincremento.

Lógicamente hay que tener mucho cuidado si se cambia este número en una tabla con registros, cuando el número llegara a repetirse a la vez borraría el registro antiguo con dicho número.

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
  #6  
Antiguo 29-04-2008
dtomeysoto dtomeysoto is offline
Miembro
 
Registrado: dic 2005
Posts: 173
Poder: 20
dtomeysoto Va por buen camino
Cita:
Empezado por marcoszorrilla Ver Mensaje
Símplemente porque en esa posición se guarda el número por el que va el autoincremento.

Lógicamente hay que tener mucho cuidado si se cambia este número en una tabla con registros, cuando el número llegara a repetirse a la vez borraría el registro antiguo con dicho número.

Un Saludo.
ok, gracias amigo por tu colaboración.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Update pack delphi 6? AbcXxx Varios 7 27-09-2010 21:11:53
Pack en Interbase? seara2005 Firebird e Interbase 4 03-05-2006 16:56:47
pack de fichero dbf lgarcia Tablas planas 3 04-04-2006 17:28:49
delphi pack chona DelphiPACK 4 14-07-2004 09:45:35
Pack de chistes :) guillotmarc Humor 0 31-03-2004 18:05:35


La franja horaria es GMT +2. Ahora son las 21:21:37.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi