Escolher arquivo e copia-lo para outro lugar

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Escolher arquivo e copia-lo para outro lugar

Mensagem por megaxgames em Qua 14 Set 2011, 16:44

Oi gente! Tudo bem? Essa é a minha primeira pergunta aqui no fórum, é assim, o usuário escolhe um arquivo qualquer, quando ele escolher, o jogo copie esse arquivo para outro local definido por mim, não pelo o usuário, como se faz isso?

megaxgames

Número de Mensagens : 42
Data de inscrição : 13/09/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Escolher arquivo e copia-lo para outro lugar

Mensagem por saim em Qui 15 Set 2011, 12:34

Qualquer tipo de arquivo?
Posso perguntar pra que você quer isso? Dependendo do motivo, pode ser meio anti-ético...

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Escolher arquivo e copia-lo para outro lugar

Mensagem por megaxgames em Qui 15 Set 2011, 12:50

saim escreveu:Qualquer tipo de arquivo?
Posso perguntar pra que você quer isso? Dependendo do motivo, pode ser meio anti-ético...

Qualquer tipo de arquivo, eu quero pois eu estou montando um Media Player mais completo do que o do Windows

megaxgames

Número de Mensagens : 42
Data de inscrição : 13/09/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Escolher arquivo e copia-lo para outro lugar

Mensagem por Ritton em Qui 15 Set 2011, 13:23

Também estou interessado nesta resposta, pois pretendo usar no meu software de recuperação de projetos, o G-Restorer e eu ia acabar fazendo a mesma pergunta, mas meu amigo megaxgames sem querer adiantou o meu lado.No meu caso, o software deve copiar apenas o .gmk do projeto.

Abraços e espero que te ajudem! investigador

Ritton

Ranking : Nota C
Número de Mensagens : 673
Idade : 18
Data de inscrição : 07/06/2011
Notas recebidas : C
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Escolher arquivo e copia-lo para outro lugar

Mensagem por Igor KinGamer em Qui 15 Set 2011, 18:46

Use a função file_copy().

Primeiro, você deve permitir que se escolha o arquivo a ser copiado. Para isso, pode usar a função get_open_filename(); Se quiser entender melhor a estrutura dela, confira no help do GM.
Código:
arquivo = get_open_filename("Arquivos xxx|*.xxx", "");
Isso abrirá aquela típica janela do windows para abrir arquivos. O primeiro argumento ("Arquivos xxx|*.xxx") define que, nessa janela, no campo de baixo ("Arquivos do tipo:") aparecerá escrito "Arquivos xxx", e que, quando isso estiver selecionado, aparecerão só os arquivos com a terminação .xxx ("*.xxx", "*" (asterísco) = quaisquer caracteres). Se você quisesse que no campo de baixo aparecessem duas opções: "Arquivos de texto" ou "Todos os arquivos", teria que fazer assim:
Código:
arquivo = get_open_filename("Arquivos de texto|*.txt|Todos os arquivos|*", "");

Em segundo lugar, você tem que verificar se o usuário não clicou em "Cancelar". Se ele clica, uma string vazia é retornada, então tem que parar por aí. Dependendo do que você quer, você tem duas opções: pedir e pedir e pedir novamente que o usuário escolha um arquivo ou abortar (mais provável).
> Pedir e pedir e pedir:
Código:
arquivo = ""
while (arquivo == "") // Enquanto nenhum arquivo foi aberto
arquivo = get_open_filename(...); // Pede para abrir um
... // Segue em frente
> Abortar:
Código:
arquivo = get_open_filename(...);
if (arquivo != "") // Só prossegue se um arquivo foi aberto
... // Segue em frente

Por último, usar a função file_copy(arquivo, novo_arquivo).
Código:
file_copy(arquivo, "Destino\"+filename_name(arquivo));
A função filename_name() pegará apenas o nome do arquivo com a extensão, sem o caminho, e juntará com o caminho que você colocar para a pasta destino. Não se esqueça, se você coloca o caminho sem a partição (como em "Destino\", e não em "C:\Destino\"), assume-se que a pasta está no mesmo diretório que o jogo/programa.

O código final ficaria algo assim (pode criar a pasta "Músicas" e pôr isso no step para testar):
Código:
if (keyboard_check_pressed(vk_enter))
{
    arquivo = get_open_filename("Arquivos de audio|*.mp3;*.wav;*.ogg|Todos os arquivos|*", "");
    if (arquivo != "")
    file_copy(arquivo, "Músicas\"+filename_name(arquivo));
}

Igor KinGamer

Número de Mensagens : 890
Idade : 21
Data de inscrição : 26/09/2008
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Escolher arquivo e copia-lo para outro lugar

Mensagem por Conteúdo patrocinado Hoje à(s) 23:09


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum