[Resolvido]Ajuda com função de copiar no Game Maker

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

Resolvido [Resolvido]Ajuda com função de copiar no Game Maker

Mensagem por afonso_silva em Seg 18 Out 2010, 12:40

Olá a todos.

Eu tenho o seguinte script:
Código:
ext = get_open_filename("Ficheiros de extensões|*.ext","");

if file_exists('ext') {file_copy('ext','C:/Programas')}

E queria que este servisse para copiar o ficheiro ficheiro para a pasta dos programas. Porém, apesar de não dar erro, este script não funciona. Alguém me pode dizer o que há de errado?


Última edição por afonso_silva em Seg 18 Out 2010, 19:22, editado 4 vez(es)

afonso_silva

Número de Mensagens : 147
Idade : 20
Data de inscrição : 29/05/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Ajuda com função de copiar no Game Maker

Mensagem por Fuzenrad em Seg 18 Out 2010, 16:42

Nossa, seu código tem 4 erros. O primeiro, bem comum aliás, é sobre a pasta de destino (que não vai existir dependendo do computador), isso impossibilita qualquer programa de copiar um arquivo para esse diretório, sem antes criar a pasta. Para fazer isso no Game Maker, existe a função directory_create, basta adicionar o destino dentro:

Código:
directory_create('C:/Programas')

O segundo erro, é que você colocou as variável ext entre aspas, e o programa entende que é o arquivo "ext" e não o conteúdo da variável ext, tome cuidado com isso.

O terceiro é o sentido da barra do diretório, lembrando que ' / ' é diferente de ' \ ' em programação.

E finalmente o último é que você não indicou o nome do arquivo que o programa deve salvar a cópia, só indicou a pasta: 'C:\Programas'.

A correção de tudo final ficará assim:

Código:
ext = get_open_filename("Ficheiros de extensões|*.ext","");

nome = get_string("Qual o nome deseja salvar o arquivo?#Obs: Nao indicar a extencao.","extencao")+".ext"

directory_create('C:\Programas')
file_copy(ext,'C:\Programas'+nome)

Não sendo necessário indicar o if file_exists(ext), já que o jogador selecionou esse arquivo, e não tem como selecionar um arquivo que não exista.


Última edição por Fuzenrad em Seg 18 Out 2010, 16:59, editado 1 vez(es)

Fuzenrad

Ranking : Nota A
Número de Mensagens : 1026
Idade : 26
Data de inscrição : 04/07/2010
Notas recebidas : A-A-A-A-B
Reputação : 41
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Ajuda com função de copiar no Game Maker

Mensagem por afonso_silva em Seg 18 Out 2010, 16:55

Obrigadão Fuzenrad.

Só uma coisa: por que é que é necessário o "nome = get_string("Qual o nome deseja salvar o arquivo?#Obs: Nao indicar a extencao.","extencao")+".ext"?

Uma coisa: quando eu executo o script, o executável copia objecto para C:\, com o nome de Programas + o nome que damos ao ficheiro


Última edição por afonso_silva em Seg 18 Out 2010, 17:01, editado 1 vez(es)

afonso_silva

Número de Mensagens : 147
Idade : 20
Data de inscrição : 29/05/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Ajuda com função de copiar no Game Maker

Mensagem por Fuzenrad em Seg 18 Out 2010, 16:57

Na verdade não é tão necessário assim, é que se deixar um nome fixo, qualquer arquivo que você escolher, vai ter o mesmo nome, e eu não encontrei uma maneira de copiar o nome do arquivo (sem vir junto o diretório dele), mas retirando funciona da mesma forma:

Código:
ext = get_open_filename("Ficheiros de extensões|*.ext","");

directory_create('C:\Programas')
file_copy(ext,'C:\Programas'+"extencao.ext")

Fuzenrad

Ranking : Nota A
Número de Mensagens : 1026
Idade : 26
Data de inscrição : 04/07/2010
Notas recebidas : A-A-A-A-B
Reputação : 41
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Ajuda com função de copiar no Game Maker

Mensagem por afonso_silva em Seg 18 Out 2010, 17:05

Uma coisa: quando eu executo o script, o executável copia objecto para C:\, com o nome de Programas + o nome que damos ao ficheiro

afonso_silva

Número de Mensagens : 147
Idade : 20
Data de inscrição : 29/05/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Ajuda com função de copiar no Game Maker

Mensagem por Fuzenrad em Seg 18 Out 2010, 17:08

É, eu percebi, o fórum tem um problema, não deixa inserir a barra invertida depois de uma palavra, mas é só adicionar na função, mas sem o espaço antes da barra:

Código:
ext = get_open_filename("Ficheiros de extensões|*.ext","");

directory_create('C:\Programas ')
file_copy(ext,'C:\Programas '+"extencao.ext")

Fuzenrad

Ranking : Nota A
Número de Mensagens : 1026
Idade : 26
Data de inscrição : 04/07/2010
Notas recebidas : A-A-A-A-B
Reputação : 41
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Ajuda com função de copiar no Game Maker

Mensagem por afonso_silva em Seg 18 Out 2010, 17:12

AH! Já percebi! Obrigadão. Só mais uma coisa: não dá para que o ficheiro copiado tenha um nome igual ao do primeiro ficheiro, ou seja, se o primeiro ficheiro se chama "jogo.ext", não dá para que quando seja copiado o nome seja o mesmo?

afonso_silva

Número de Mensagens : 147
Idade : 20
Data de inscrição : 29/05/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Ajuda com função de copiar no Game Maker

Mensagem por Fuzenrad em Seg 18 Out 2010, 17:33

Acabei de descobrir uma nova função, nem eu sabia como fazia isso.

Pois bem, o Game Maker tem uma outra função, o filename_name, que retorna uma string com o nome do arquivo, mais a extenção, bem útil nessas ocasiões.

Código:
ext = get_open_filename("Ficheiros de extensões|*.ext","");

directory_create('C:/Programas')
file_copy(ext,'C:/Programas/'+filename_name(ext))

Fuzenrad

Ranking : Nota A
Número de Mensagens : 1026
Idade : 26
Data de inscrição : 04/07/2010
Notas recebidas : A-A-A-A-B
Reputação : 41
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Ajuda com função de copiar no Game Maker

Mensagem por afonso_silva em Seg 18 Out 2010, 19:21

Obrigadão fuzenrad!
Alguem tranque o tópico pls

afonso_silva

Número de Mensagens : 147
Idade : 20
Data de inscrição : 29/05/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Ajuda com função de copiar no Game Maker

Mensagem por Conteúdo patrocinado Hoje à(s) 14:17


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