Ir para conteúdo
Fórum Script Brasil
  • 0

diretório atual no delphi 7


edson Dias

Pergunta

4 respostass a esta questão

Posts Recomendados

  • 0
pessoal gostaria de fazer para receber o diretório atual da aplicação no delphi.

no vb6.0 o comando seria o "app.path", mas no delphi eu não sei.

procedure TForm1.Button1Click(Sender: TObject);
var
   S: string;
begin
   // mostra o caminho de onde esta executando o aplicativo
   S := extractFilepath(application.exename);
   showmessage(s);
end;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Muito bom.. porem assim o unico jeito é pelo Código fonte...

não teria alguma forma de que fizesse isso diretamente nas propriedades do objeto?

exemplo:

Tenho um componente Flash inserido.

o flash.swf esta na mesma pasta que o .exe

na propriedade MOVIE do componente, a unica coisa que conseguir fazer funcionar foi colocando o caminho COMPLETO do arquivo...

C:\outraspastasqui\projeto\flash.swf

há alguma forma de colocar apenas o caminho relativo?

exemplo: flash.swf

ou algo do tipo: $(currentDir)\flash.swf

(sem precisar ir ao codigo fonte)

obrigado

Bruno Lemos.

Link para o comentário
Compartilhar em outros sites

  • 0

exemplo:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, OleCtrls, ShockwaveFlashObjects_TLB;

type
  TForm1 = class(TForm)
    ShockwaveFlash1: TShockwaveFlash;
    Button1: TButton;
    ListBox1: TListBox;
    procedure SeekArq(Arquivo,Dir: string);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}
procedure TForm1.SeekArq(Arquivo,Dir: string);
var
   D, A: TSearchRec;
   Pasta, Arq: Integer;
begin
   Arq := FindFirst(dir+'\'+Arquivo,faAnyFile,A);
   while Arq = 0 do
   begin
      ListBox1.Items.Add(Dir+'\'+A.Name);
      Arq := FindNext(A);
   end;
   Pasta := FindFirst(dir+'\*.*',faAnyFile,D);
   while Pasta = 0 do
   begin
      if (D.Name <> '.') and (D.Name <> '..') then
         SeekArq(Arquivo,Dir+'\'+D.Name);
      Pasta := FindNext(D);
   end;
   FindClose(D);
   FindClose(A);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   SeekArq('flash.swf','C:\'); //incluirá em uma listbox
   ShockwaveFlash1.Movie := ListBox1.Items.Strings[0];
end;

end.

OBS: ele vai procurar pelo arquivo 'flash.swf' onde estiver e vai colocar o caminho do arquivo no componente para ser executado

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...