![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
|||
|
|||
|
pack de fichero dbf
Marcos gracias por la respuesta. En el programa que hice tuve que usar la solucion que me dijiste en la parte final de tu respuestas pero en este caso solo se trata de cuando uno va a eliminar un registro tratando de mantener el fichero original, de todas maneras voy a intentar lo que dices porque la vez anterior no tuve otra alternativa y estube fajado varios dias. Te muestro parte del codigo a ver si aprecias algo nuevo
Código:
procedure PackDBF(Tabla: TTable); begin Check(DbiPackTable(Tabla.DBHandle, Tabla.Handle, nil, szDBASE, True)) end; procedure TFormCorrecionCadeca.FormActivate(Sender: TObject); begin DataModule1.Cadeca.TableName:= nomcadeca; DataModule1.Cadeca.Exclusive:= True; DataModule1.Cadeca.Open; ButtonGuardar.Enabled:= False; end; procedure TFormCorrecionCadeca.DSCadecaDataChange(Sender: TObject; Field: TField); begin ButtonGuardar.Enabled:= DataModule1.Cadeca.State in dsEditModes; end; procedure TFormCorrecionCadeca.ButtonGuardarClick(Sender: TObject); begin DataModule1.Cadeca.Post; ButtonGuardar.Enabled:= False; end; procedure TFormCorrecionCadeca.ButtonSalirClick(Sender: TObject); begin PackDBF(DataModule1.Cadeca); DataModule1.Cadeca.Close; Close; end; |
|
#2
|
|||
|
|||
|
solucion al pack de fichero dbf
Utilizando el truco 96 de trucomania se logro resolver el problema pero el detalles estaba en que al cerrar el formulario primero hay que cerrar la tabla y luego hacer el Pack y ademas hay que pasar en el nombre del fichero la extension del mismo (.dbf)
Asi fue como lo pudimos lograr, quizas a alguien le pueda servir Código:
procedure PackDBF(Const ADatabase, ATable : String);
begin
with TTable.Create(nil) do
try
DatabaseName := ADataBase;
TableName := ATable;
TableType := ttFoxPro;
Exclusive := True;
Open;
Check(DbiPackTable(Database.Handle,Handle,'','',True));
finally
Free;
end;
end;
procedure TFormCorrecionCadeca.FormActivate(Sender: TObject);
begin
DataModule1.Cadeca.TableName:= nomcadeca;
DataModule1.Cadeca.Open;
ButtonGuardar.Enabled:= False;
end;
procedure TFormCorrecionCadeca.DSCadecaDataChange(Sender: TObject;
Field: TField);
begin
ButtonGuardar.Enabled:= DataModule1.Cadeca.State in dsEditModes;
end;
procedure TFormCorrecionCadeca.ButtonGuardarClick(Sender: TObject);
begin
DataModule1.Cadeca.Post;
ButtonGuardar.Enabled:= False;
end;
procedure TFormCorrecionCadeca.ButtonSalirClick(Sender: TObject);
begin
DataModule1.Cadeca.Close;
PackDBF('',nomcadeca + '.dbf');
Close;
end;
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Update pack delphi 6? | AbcXxx | Varios | 7 | 27-09-2010 21:11:53 |
| Sobre Delphi Pack 2.0 | TDworD | DelphiPACK | 0 | 25-11-2004 09:02:10 |
| delphi pack | chona | DelphiPACK | 4 | 14-07-2004 09:45:35 |
| Pack de chistes :) | guillotmarc | Humor | 0 | 31-03-2004 18:05:35 |
| problemas con Export pack y win 98 | cuxoapat | Impresión | 1 | 20-05-2003 09:56:47 |
|