• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

ADNSil

Executavel

9 mensagens neste tópico

Boas, o meu projecto esta pronto, agora quero fazer um executável, mas este n é para instalação mas sim para execução directa parece me que esta parte esta toda resolvida, o problema é o caminha para executar os ficheiros adicionais por exemplo:

(My.Application.Info.DirectoryPath() & "\movies\filme1.avi")

usei este caminho com ideia que ele fosse depois guardar a pasta e o filme no executável mas não o faz.

então é o seguinte, que caminho devo usar para que em qualquer sitio que abra o executável ele tenha a  pasta e o filme ( este projecto é suposto correr num cd ou dvd em autorun com a pasta e o filme no cd).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se alterares a pasta onde tens o executavel, tens q copiar tb a pasta onde tens o filme para manteres o mm caminho q indicaste na linha de código.

Ou então metes o caminho total para o filme, e nesse caso tens q garantir q o filme está smp no mm sitio.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas uma unidade de CD ou DVD nem sempre é a mesma.

quero eliminar esse factor

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem seja como for resolvi o problema lo caminho, obrigado na mesma..

(My.Computer.FileSystem.CurrentDirectory & "\movies\filme1.avi")

é o caminho exacto de onde esta a correr o programa.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem seja como for resolvi o problema lo caminho, obrigado na mesma..

(My.Computer.FileSystem.CurrentDirectory & "\movies\filme1.avi")

é o caminho exacto de onde esta a correr o programa.

Errado!

My.Computer.FileSystem.CurrentDirectory mostra o caminho para a pasta actual e não a pasta do executável.

Por exemplo:

        ' Mostra a pasta do programa
        Debug.WriteLine(My.Computer.FileSystem.CurrentDirectory)

        ' Muda para outra pasta
        IO.Directory.SetCurrentDirectory("c:\")

        ' Mostra a nova pasta e não a do programa
        Debug.WriteLine(My.Computer.FileSystem.CurrentDirectory)

Deves utilizar:

        Application.StartupPath & "\movies\filme1.avi"

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estou a referir aos ficheiros depois de fazeres o Build (\bin\Release)  e nao ao projecto em desenvolvimento

Usando ente caminho, em qualquer local que coloques os ficheiros da pasta Release, ele irá procurar nesse mesmo local... estarei errado?

(My.Computer.FileSystem.CurrentDirectory & "\movies\filme1.avi")

parece uma redundância entre o que dito ("

é o caminho exacto de onde esta a correr o programa."), e o que tu dizes no exemplo ("' Mostra a pasta do programa").

Corrige-me novamente se estiver errado...se não tive-se duvidas não estaria aqui...

Comprimentos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Depois de fazer o executável e de fazeres a sua compactação. Ao instalares o programa, ele vai sempre a esse pasta para veres os filmes.

Ps: Tens que verificares se a dita pasta foi mesmo criada.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Corrige-me novamente se estiver errado...se não tive-se duvidas não estaria aqui...

My.Computer.FileSystem.CurrentDirectory dá a directoria actual do computador, que pode ser alterada. Por defeito é a localização do executável, mas como te mostrei naquele pequeno exemplo, pode ser alterada.

Application.StartupPath dá-te a informação da directoria do ficheiro executável do programa, sem o nome do ficheiro.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para obteres a pasta onde está o executável do programa de forma independete da execução podes usar uma função e uma propriedade.

Public PASTA As String = Path.GetDirectoryName(Application.ExecutablePath) & "\"

Isto usa o Imports System.IO e se declarares como variável global podes usar em toda aplicação para todo e qualquer fim.

Com os melhores cumprimentos,

Sérgio Matias

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora