Ya sé que ha llovido mucho desde que hiciste tu consulta. Pero he tenido tu mismo problemas y navegando había llegado hasta aquí. Y como posteriormente he dado con una solución, aquí la dejo. Más vale tarde que nunca.
Pues resulta que, al menos en el formato dBase III+, utilizando AddFieldDef no deja crear un campo binario, es decir, num(1,0). ¿Solución? Lo creamos, como num(2,0) y, una vez creada la tabla, abrimos el archivo y reescribimos la longitud deseada.
Código Delphi
[-]
With AddFieldDef Do
begin
Name:= 'Campo';
DataType:= ftBCD;
Size:= 0;
Precision:=2;
end;
Tabla.CreateTable;
SetLengthBinary('c:\NombreTabla.dbf',Posicion);
Código Delphi
[-]
procedure TfrmEstructura.SetLengthBinary(dbFile: String; PosicionCampo: Integer);
const
Value: Byte=1;
var
F: File of byte;
begin
AssignFile(F,dbFile);
Reset(F);
Seek(F,(PosicionCampo*32)+16);
Write(F,Value);
CloseFile(F);
end;