Principal
Serviços
Delphi
Links
Download
Sobre
E-mail

Penn@'s Home Page


Dicas & Truques

Acessando Arquivos Paradox em Rede

Arquivos Paradox podem ser compartilhados em rede. Para que isto ocorra devemos:

  • Executar o BDE Adimin

  • Selecionar a página DRIVERS

  • Selecionar o drive PARADOX e alterar o parâmetro NET DIR para o local onde serão gravados os arquivos de controle para compartilhamento. Por exemplo: //neteserver/c

  • Alterar na Página SYSTEM o parâmetro LOCAL SHARE para TRUE.

Retornar ao início da página | Delphi | Principal

 

Pesquisa Incremental em Tabelas

Para fazer pesquisa incremental numa tabela usando um EDIT, deve-se colocar o seguinte código em seu evento OnChage:

Procedure TForm1.Edit1Change(Sender : TObject);
begin
       with Edit1 do
             if Text <> '' then
                 Table1.FindNearest([Text]);
end;

Retornar ao início da página | Delphi | Principal

 

Compactando Tabelas

Para compactar (remover fisicamente todos os registros apagados) de uma tabela Paradox:

Procedure ParadoxPack(Table : TTable);
var
       TBDesc : CRTblDesc;
       TablePath : array[0..dbiMaxPathLen] of char;
begin
       FillChar(TBDesc, Sizeof(TBDesc),0);
       with TBDesc do
              begin
                      StrPCopy(szTblName,Table.TableName);
                     StrPCopy(sZTblType,szParadox);
                    bPack := True;
             end;
       hDb := nil;
       Check(DbiGetDirectory(nil,'STANDARD', dbiReadWrite, dbiOpenExcl, nil, 0, nil, nil, hDB));
       Check(DbiSetDirectory(hDb, TablePath));
       Check(DbiDoRestructure(hDb, 1, @TBDesc, nil, nil, nil, False));
       Table.Open;
end;

Retornar ao início da página | Delphi | Principal

 

Bloquear um arquivo em ambiente de Rede

Para bloquear um arquivo em ambiente de rede é só chamar o método "edit"da Tabela que estiver usando.
Ex: Table1.Edit;
Obs.: Se o registro já estiver bloqueado ocorrerá um erro, enão faça o seguinte:

try
   Table1.Edit;
except on EDataBaseError do
         MessageDlg('Registro está bloqueado!', mtError, [mbOk],0);
end;

Dica de JVB Informática Ltda Jvb@compos.com.br

Retornar ao início da página | Delphi | Principal

 

Substituir botões do DBNavigator

Para substituir um comando do DBNavigator faça:

DBNavigator1.BtnClick(nb####);

Onde #### será:
first = vai para o primeiro registro;
prior = move o ponteiro para o registro anterior;
next= move o ponteiro para o próximo registro;
last= vai para o último registro;
insert= insere um novo registro na tabela;
delete= elimita o registro atual;
edit= edita o registro atual;
post= grava a edição ou inserção do registro;
cancel= cancela edit ou insert;
refresh= faz uma nova leitura da tabela

Dica de Miguel Dias Teodoro Júnior - junior@brnet.com.br

Retornar ao início da página | Delphi | Principal

 

Criar Forms em tempo de execução

MODAL - Mostra form em modo exclusivo

procedure TForm1.Button1Click(Sender : TObject);
begin
       Application.CreateForm(TForm2, Form2); {Carrega form na memória}
      with Form2 do
             begin
                     ShowModal;
                    Free; {Libera memória}
            end;
end;

NÃO MODAL - Mostra form em modo não exclusivo

procedure TForm1.Button1Click(Sender : TObject);
begin
       Application.CreateForm(TForm2, Form2); {Carrega form na memória}
      with Form2 do
             begin
                     Show;
            end;
end;

No evento ONClose de Form2 coloque o seguinte código:

procedure TForm2.FormClose(Sender : TObject; var Action : TCloseActionk);
begin
       Action := caFree;
end;

Para usar este código deve fazer a seguinte alteração no projeto : No menu Options/Project, mudar os forms a serem criados dinamicamente da coluna Auto-Create Forms para Avaliable Forms

Retornar ao início da página | Delphi | Principal

 

Criar um Splash Form

Para criar um Splash Form faça:
Crie um form (ApresForm)  e depois no menu View opção Project Source, inclua o seguinte código:

Program Mastapp;

Uses
Forms;
Apres in 'APRES.PAS' (ApresForm);
...
...
{$R *.RES}

begin
      ApresForm := TApresForm.Create(Application);
      ApresForm.Show;
      ApresForm.Update;
      ...
      ...
      ApresForm.Hide;
      ApresForm.Free;
      Application.Run;
end.

No menu Options, opção Project, mude o Form da coluna Auto-Create para a coluna Avaliable Forms.

Retornar ao início da página | Delphi | Principal

 

Fazendo a tecla ENTER = TAB

Para fazer a tecla ENTER funcionar com TAB é um proceso de 3 passos
1) Setar a propriedade KeyPreview do Form para True
2) Setar a propriedade Default de todos os botões do Form para False
3) Criar um evento OnKeyPress para o Form como este:

procedure TForm1.FormKeyPress(Sender : TObject; var Key : Char);
begin
      if Key = #13 then
          begin
                Key := #0;
                if (Sender is TDBGrid) then
                    TDBGrid(Sender) Perform(WM_KeyDown, VK_Tab,0)
                else
                    Perform(WM_NextDlgCtl,0,0);
         end;
end;

Retornar ao início da página | Delphi | Principal

 


| Principal | Serviços | Delphi | Links | Download | Sobre | E-mail |


Internet Explorer

Resolução

Netscape

Copyright © 1999 by
Raimundo G. Penna Pereira

Logo