Analitcs

Pesquisar no conteúdo do blog.atlabs.com.br

quarta-feira, 29 de agosto de 2012

GERAL - Adobe Reader - URL Download offline - Instalações completas

Reações: 
ftp://ftp.adobe.com/pub/adobe/reader/win/10.x/10.1.0/pt_BR/

Este é o diretório atual da versão na data desta postagem em português do Brasil.

Caso precise navegue nos diretórios.

quarta-feira, 8 de agosto de 2012

DELPHI - Inicializar aplicação com parâmetros

Reações: 
//Caso a execução da sua aplicação contenha parâmetros (ParamStr(Integer), ex: ParamStr(1) = '/param') você pode depura-la no editor do delphi informando este parametro no menu "Run>Parameters[Combo Parameters]".

//Esta dica vale também para criar associações do seu programa com algum tipo de arquivo, por exemplo: vc cria um editor de texto e quer associar a extensão *.txt a ele, vc deve configurar no windows seu programa com a extensão na tela: Ferramentas>Opções de Pasta> Guia Tipos de Arquivos   ou crie a associação com o botão direito do mouse sobre o arquivo com a extensão escolhida, para a associação via programação, consulte as classes do windows no registro (regedit.exe)
//no evento OnCreate do editor do texto você coloca o seguinte comando:

var
 i : integer
begin
  if FileExists(ParamStr(1)) then
  // Cria a execução que vc precisar, OU
  for i := 1 to ParamCount -1 do // usando um looping para pegar os parâmetros
    if FileExists(ParamStr(1)) then
    // Cria a execução que vc precisar
//Atte.
//Felipe Leal

terça-feira, 7 de agosto de 2012

DELPHI - Listando formulários abertos da aplicação

Reações: 
//Adicionar um memo em uma aplicação nova, e um botão, no evento do botão Onclick adicionar:
var
  i : integer;
begin
  Memo1.Lines.Clear;
  for i := 0 to Screen.FormCount -1 do
  begin
    Memo1.Lines.Add(Screen.Forms[i].Name);
  end;
end;

//Pode-se chamar um form especifico por exemplo:

var
  i : integer;
begin
  Memo1.Lines.Clear;
  for i := 0 to Screen.FormCount -1 do
  begin
    if (Screen.Forms[i] is TFrmPrincipal) then
    begin
      Screen.Forms[i].Show;
      Break;
    end;
  end;
end;

//Obs. Somente para forms.

quinta-feira, 2 de agosto de 2012

DELPHI - Retornando lista de diretórios

Reações: 
// unit1.pas inicio
unit Unit1;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, FileCtrl;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    sStrs : TStringList;
    { Private declarations }
  public
    procedure ListFiles(const PathName, FileName : string; const InDir : boolean; Limit : Integer = 0);
    { Public declarations }
  end;

var
  Form1: TForm1;


implementation

{$R *.dfm}


procedure TForm1.ListFiles(const PathName, FileName : string; const InDir : boolean; Limit : Integer);
var Rec  : TSearchRec;
    Path : string;
begin
  if not DirectoryExists(PathName) then exit;

  try
  if sStrs = nil then
  sStrs := TStringList.Create;
    Path := IncludeTrailingBackslash(PathName);
    if FindFirst(Path + FileName, faAnyFile - faDirectory, Rec) = 0 then
     try
       repeat
          if (Limit > 0) and (sStrs.Count >= Limit) then
          begin
            Exit;
          end
          else
          sStrs.Add(Path + Rec.Name);
       until FindNext(Rec) <> 0;
     finally
       FindClose(Rec);
     end;

    If not InDir then Exit;

    if FindFirst(Path + '*.*', faDirectory, Rec) = 0 then
     try
       repeat
        if ((Rec.Attr and faDirectory) <> 0)  and (Rec.Name<>'.') and (Rec.Name<>'..') then
         ListFiles(Path + Rec.Name, FileName, True, Limit);
       until FindNext(Rec) <> 0;
     finally
       FindClose(Rec);
     end;

   except
      sStrs.Destroy;
   raise;
   end;
end;


procedure TForm1.Button1Click(Sender: TObject);
var
  Diretorio: String;
Const
  CaminhoPadrao = 'D:\tmp\';
begin

  if FileCtrl.SelectDirectory('Selecione o Diretório', '', Diretorio) then
  begin
    if Diretorio <> '' then
      if Diretorio[Length(Diretorio)] <> '\' then
        Diretorio := Diretorio + '\';
  end
  else
    Diretorio := CaminhoPadrao;
  if sStrs <> nil then
  FreeAndNil(sStrs);  

  ListFiles(Diretorio, '*.*', True, 30);
  Self.Caption := 'Linhas: ' + IntToStr(sStrs.Count);
  Memo1.Lines := sStrs;
end;
end.

// Unit1.pas fim



//Unit1.dfm inicio

object Form1: TForm1
  Left = 192
  Top = 124
  Width = 455
  Height = 331
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  DesignSize = (
    439
    293)
  PixelsPerInch = 96
  TextHeight = 13
  object Button1: TButton
    Left = 21
    Top = 12
    Width = 75
    Height = 25
    Caption = 'Button1'
    TabOrder = 0
    OnClick = Button1Click
  end
  object Memo1: TMemo
    Left = 111
    Top = 24
    Width = 318
    Height = 260
    Anchors = [akLeft, akTop, akRight, akBottom]
    Lines.Strings = (
      'Memo1')
    ScrollBars = ssBoth
    TabOrder = 1
  end
end
//Unit1.dfm fim
//Na instrução da linha:
ListFiles(Diretorio, '*.*', True, 30);


//O retorno será de 30 arquivos, para retornar mais suprima o valor, ex:

ListFiles(Diretorio, '*.*', True);

DELPHI - Abrir caixa de seleção de Diretório (pasta)

Reações: 
//Declare na seção uses:
FileCtrl;

procedure TForm1.Button1Click(Sender: TObject);
var
  Diretorio: String;
Const
  CaminhoPadrao = 'D:\tmp\';
begin
  if FileCtrl.SelectDirectory('Selecione o Diretório', '', Diretorio) then
  begin
    if Diretorio <> '' then
      if Diretorio[Length(Diretorio)] <> '\' then
        Diretorio := Diretorio + '\';
  end
  else
    Diretorio := CaminhoPadrao;
End;

Max Gehringer