Como criar tabelas em tempo de execução ?
Pessoal, minha dúvida eh como eu posso criar tabelas (exemplo paradox) apartir do momento que eu executo meu sistema, assim quando eu tentar utilizar o programa em uma máquina diferente, só precisarei copiar o executável.
E se alguem tiver paciência podem me informar como eu posso manipular o prompt do MS-DOS, apartir de meus sistemas.
Grato, Adeilson Alves - Tec. em Desenvolvimento de Software - CEFET/RN
E se alguem tiver paciência podem me informar como eu posso manipular o prompt do MS-DOS, apartir de meus sistemas.
Grato, Adeilson Alves - Tec. em Desenvolvimento de Software - CEFET/RN
Adeilson_alves
Curtidas 0
Respostas
Fabio.hc
25/03/2004
[b:7ef78fb08e]Criar uma tabela (DB, DBF) através do seu programa[/b:7ef78fb08e]
Inclua na seção uses: dbTables, DB
Inclua na seção uses: dbTables, DB
procedure CriaTabelaClientes;
var
Tabela: TTable;
begin
Tabela := TTable.Create(Application);
try
Tabela.DatabaseName := ´C:\´;
{ ou Tabela.DatabaseName := ´NomeAlias´; }
Tabela.TableName := ´Clientes.DB´;
Tabela.TableType := ttParadox; { ou ttDBase }
{ Somente Delphi4 }
if Tabela.Exists then { Se a tabela já existe... }
Exit;
{***}
{ Cria a tabela }
Tabela.FieldDefs.Add(´Codigo´, ftInteger, 0, true);
Tabela.FieldDefs.Add(´Nome´, ftString, 30, true);
Tabela.FieldDefs.Add(´DataNasc´, ftDate, 0, false);
Tabela.FieldDefs.Add(´RendaMes´, ftCurrency, 0, false);
Tabela.FieldDefs.Add(´Ativo´, ftBoolean, 0, true);
{ etc, etc, etc }
Tabela.CreateTable;
{ Cria os Índices }
Tabela.AddIndex(´ICodigo´, ´Codigo´, [ixPrimary, ixUnique]);
Tabela.AddIndex(´INome´, ´Nome´, [ixCaseInsensitive]);
{ etc, etc, etc }
finally
Tabela.Free;
end;
end;GOSTEI 0
Adeilson_alves
25/03/2004
quando eu tiver acabado o projeto, eu te enviarei uma copia para quem sabe vc possa aprender ou avaliar...
GOSTEI 0
Thiago Vidal
25/03/2004
Para manipular o prompt do MS-Dos, uma solução quebra-galho que eu consegui foi criar um arquivo .BAT com a lista de comandos e depois executa-lo com a flag SW_HIDE no WinExec. Exemplo:
var ArqBat: TextFile; begin AssignFile(ArqBat, ´arquivo.bat´); Rewrite(ArqBat); WriteLN(ArqBat, ´Primeiro comando do MS-Dos´); WriteLN(ArqBat, ´Segundo comando do Ms-Dos´); ... CloseFile(ArqBat); WinExec(PChar(´arquivo.bat´), SW_HIDE); // Talvez tenha mais algum parametro, nao lembro de cabeça. DeleteFile(´arquivo.bat´); end;
GOSTEI 0