Active News - Nº 35  - www.activedelphi.com.br 

 

          Notícia da Edição

 

          1- Mostrando um formulário Modal usando Show.

 

     Um exemplo disso é quando você está mostrando um diálogo do progresso de uma operação. 
     O problema é que se você usa ShowModal todo o código da operação deve estar contido no form do diálogo de progresso. 
     Para evitar isso use DisableTaskWindows and EnableTaskWindows. 
     Desta form seu diálogo vai agir como um formulário Modal e ao mesmo tempo permite executar o form da operação que está em progresso no diálogo. 


  procedure TForm1.ShowProgressDlg; 
  var 
    WindowList: Pointer; 
  begin 
    // Desabilita todos os formulários com exceção de FrmProgress 
    WindowList := DisableTaskWindows(FrmProgress.Handle); 
    try 
      FrmProgress.Show; 
      // Início do loop que executa a operação 
      FrmProgress.ProgressBar1.Position := FrmProgress.ProgressBar1.Position + 1; 
      // Fim do loop 
    finally 
      // Reabilita todos os formulários 
      EnableTaskWindows(WindowList); 
      FrmProgress.Close; 
    end; // try  
  end; // ShowProgressDlg 

  

          Não deixe de enviar sua dica de Programação Delphi para nós a publicarmos no ActiveNews, a equipe do ActiveDelphi e todos os assinantes ficarão agradecidos com a sua contribuição.  

-

          2- Definindo uma borda para Memos.

 

  var 
    Rect: TRect;
  begin
    with Memo1 do 

    begin
      // pega retângulo atual
      Perform(EM_GETRECT, 0, LongInt(@Rect));
      // seta margem esquerda para 50
      Rect.Left := 50;
      // seta novo retângulo
      Perform(EM_SETRECT, 0, LongInt(@Rect));
      Refresh;
    end;
  end;

 

 

          Suporte em Delphi. cadastre-se já 

          Este serviço tem por finalidade oferecer aos associados um suporte técnico na linguagem de programação Delphi, nas versões 1, 2, 3, 4 e 5 Standard, Professional e Client/Server.   

          Atualmente, contamos com uma equipe de profissionais qualificados e prontos pra lhe atender e ajudá-lo da melhor forma possível.  

          Nosso atendimento é feito através de e-mail e formulário web, de segunda à sexta das 08:00h às 18:00h.

 

-
          3- Sabendo se o computador está em rede.

 

  procedure TForm1.Button1Click(Sender: TObject);
  begin
    if GetSystemMetrics(SM_NETWORK) and $01 = $01 then
      ShowMessage('Rede encontrada');
  end;

 

 

          Várias Apostilaswww.activedelphi.com.br/apostilas.htm

 

          4- Duplicando o registro atual.

 

  Procedure DuplicaRegistro(Dataset:TDataset);
  var
    MatCampos : variant;
    i : Integer;
  begin
    // cria a matriz de variant
    MatCampos := VarArrayCreate([0,DataSet.Fieldcount-1], VarVariant);
    // lê os valores dos campos na matriz
    for i := 0 to (DataSet.FieldCount-1) do
      MatCampos[i] := DataSet.Fields[i].Value;
    DataSet.Insert;
    // põe os valores no novo registro
    for i := 0 to (DataSet.FieldCount-1) do
      DataSet.Fields[i].Value := MatCampos[i] ;
  end;

 

            Visite nosso Fórum de discussões sobre Delphi, é gratuito e não precisa se cadastrar. Clique Aqui

 

-
          5- Criptografando tabelas Paradox.


  procedure CriptografaParadox(Tabela, Senha : String);
  var
    TblDesc : CRTblDesc;
    Database : TDatabase;
  begin
    DbiInit(nil);
    // cria um database com o caminho da tabela
    Database := TDatabase.Create(nil);
    try
      with Database do 

      begin
        Params.Add('path=' + ExtractFilePath(Tabela));
        DatabaseName := 'CrpParadox';
        DriverName := 'STANDARD';
        Connected := True;
      end;
      // inicializa o descritor da tabela
      FillChar(TblDesc, SizeOf(CRTblDesc), 0);
      StrPCopy(TblDesc.szTblName,  Tabela);
      with TblDesc do 

      begin
        bProtected := True;
        StrPCopy(TblDesc.szPassword, Senha);
      end;
      // reestrutura a tabela
      Check(DbiDoRestructure(Database.Handle, 1, @TblDesc,  nil, nil, nil, False));
    finally
      Database.Free;
      DbiExit;
    end;
  end;

 

  Utilize assim :

  procedure TForm1.Button1Click(Sender: TObject);
  begin
    CriptografaParadox(ExtractFilePath(ParamStr(0))+'country.db','minhasenha');
    Table1.Open;
  end;

 

 

Não deixe de conferir as dicas disponíveis em nosso site. Clique Aqui  

 

-
          6- Gravando um campo Blob em arquivos.

 

  procedure GravaBlob(Blob: TBlobField; const Arquivo: string);
  var
    FileStream: TFileStream;
  begin
    FileStream := TFileStream.Create(Arquivo, fmCreate);
    try
      Blob.SaveToStream(FileStream);
    finally
     FileStream.Free;
    end;
  end;

 

 

          Suporte em Delphi. cadastre-se já 

          Este serviço tem por finalidade oferecer aos associados um suporte técnico na linguagem de programação Delphi, nas versões 1, 2, 3, 4 e 5 Standard, Professional e Client/Server.   

          Atualmente, contamos com uma equipe de profissionais qualificados e prontos pra lhe atender e ajudá-lo da melhor forma possível.  

          Nosso atendimento é feito através de e-mail e formulário web, de segunda à sexta das 08:00h às 18:00h.

 

-
          7- Colocando uma figura de fundo em um Memo ou DbMemo.

 

  var
    BitmapImage : TBitmap;
  begin
    BitmapImage :=TBitmap.Create;
    BitmapImage.LoadFromFile('c:WindowsAndromeda.bmp');
    Memo1.brush.Bitmap:=TBitmap.Create;
    Memo1.brush.Bitmap.LoadFromFile('c:WindowsAndromeda.bmp');
  end;

 

-

 

          Pensamento:

          Se adotarmos um estilo de vida autocentrado, em que tentamos usar os outros para o nosso próprio interesse, talvez consigamos algum benefício temporário, embora a longo prazo não teremos sucesso em atingir nossa felicidade."

 

-

          Até a próxima semana !

 

          EQUIPE  ACTIVEDELPHI

          www.activedelphi.com.br

          info@activedelphi.com.br

 

 Este é um serviço gratuito oferecido pelo site www.activedelphi.com.br

 Para cancelar sua assinatura, basta responder esse e-mail, colocando no campo assunto "Cancelar".