Conectar-se
Quem está conectado
28 usuários online :: 4 usuários cadastrados, Nenhum Invisível e 24 Visitantes

Katerp, PedroX, rafaelviodres1, Willy

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 13/09/2011
Número de Mensagens : 42
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Escolher arquivo e copia-lo para outro lugar

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?
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 3
Ver perfil do usuário

Re: Escolher arquivo e copia-lo para outro lugar

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...
avatar
Data de inscrição : 13/09/2011
Número de Mensagens : 42
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: Escolher arquivo e copia-lo para outro lugar

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
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 07/06/2011
Número de Mensagens : 673
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Escolher arquivo e copia-lo para outro lugar

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
avatar
Data de inscrição : 26/09/2008
Número de Mensagens : 890
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Escolher arquivo e copia-lo para outro lugar

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));
}
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum