Gerador de tabelas

Delphi

13/10/2003

Olá pessoal . . .

Copiei um fontezinho deum gerador de tabelas, paraimplementar no meu projeto, mas não consigo compilar, de tantos erros que gera. Cheguei no meu limite (sou inciante). Pode ajudar-me? Abaixo segue o codigo.

{}

Fabiana


procedure TfrLiberacao.CriaTab(Sender: TObject);
var
DataBaseName, TableName:string;
TableType:Text;
begin
// Active := False;
DatabaseName := ´A:\´; { * Change the DatabaseName * }
TableName := ´WHddRac.DB´;
TableType := ttDefault;

{ *************** Fields of Table ´WHddRac.DB´ **************** }
FieldDefs.Add(´Hexa´, ftString, 20, False);
CreateTable;
Free;
end;


Fab

Fab

Curtidas 0

Respostas

Marcelo.c

Marcelo.c

13/10/2003

Tente este:

Criando tabela em tempo de execução
Use os metodos FieldDefs e CreateTable para isso. Veja como criar uma estrutura temporaria:

with TTable.Create(Application) do
begin
  Active := False;
  DatabaseName := ´C:\TEMP´; 
  TableName := ´TESTE.DB´;
  TableType := ttDefault;
  FieldDefs.Add(´CODCLI´, ftString, 5, False);
  FieldDefs.Add(´NOMCLI´, ftString, 40, False);
  FieldDefs.Add(´DATCAD´, ftDate, 0, False);
  CreateTable;
  Free;
end;



GOSTEI 0
Marcelo.c

Marcelo.c

13/10/2003

ou este:

Criando tabelas em tempo de execução 2

Criar um arquivo em tempo de execução é relativamente simples, você tem que criar uma instância do objeto TTable, esse objeto(de uma lida no Help TTable e suas propriedades e metodos) tem um método de criação e um de Criar tabela.

Depois disso é só definir as propriedades da nova tabela:
DatabaseName := ´c:\lista´;
TableName := ´Produtos.dbf´; //ou .db
TableType := ttDbase;

os campos da tabela:
Add(´codigo´, ftString,7, false);
Add(´Nome´, ftString, 45, false);

e os índices:
Add(´prod1´, ´codigo´, []);
Add(´prod2´, ´Fornecedor´, []);

com todos os dados devidamente setados:
CreateTable;
Procedure TMainForm.Inicializa;
var
  Table1 : TTable;
begin
  { Criar componente TTable }
  Table1 := TTable.create(Application);
  { Definições de Campos e criação do arquivo }
  with Table1 do
  begin
    DatabaseName := ´c:\lista´;
    TableName := ´Produtos.dbf´;
    TableType := ttDbase;
    with FieldDefs do
    begin
      Clear;
      Add(´codigo´, ftString,7, false);
      Add(´Nome´, ftString, 45, false);
      Add(´Fornecedor´, ftString, 5,false );
      Add(´Custo´, ftCurrency, 0, false );
      Add(´Venda´, ftCurrency, 0, false );
    end;
    with IndexDefs do
    begin
      Clear;
      Add(´prod1´, ´codigo´, []);
      Add(´prod2´, ´Fornecedor´, []);
    end;
    CreateTable;
  end;
end;


Utilizando o tipo ftCurrency, formato de valores do sistema financeiro, o Delphi cria um campo Dbase com N,20,4


GOSTEI 0
POSTAR