InícioFAQBuscarMembrosGruposRegistrar-seConectar-se

Compartilhe | 
 

 Manipulação de arquivos através do RPG Maker

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
Bnezinho
Soldado
Soldado
avatar

Peixes Ocupação : Programador

MensagemAssunto: Manipulação de arquivos através do RPG Maker   Dom Jul 12, 2009 12:50 am

Hello World! Hoje nós aprenderemos um pouco mais sobre as classes: File e IO, uma forma diferente de exportar dados, mais simples do que o Marshall. Está preparado?
File.new

A classe File é a classe responsável pela manipulação dos arquivos.
Para manipular um arquivo, você deve fazer uma instância dessa classe com dois argumentos: O primeiro (em formato de String) corresponde ao diretório do arquivo (você deve colocar a extensão do arquivo) e o segundo o modo de edição. Exemplo:
Código:
f  = File.new("C:/Teste.txt","r")
Existem inicialmente três modos de edição: Leitura, Gravação e Leitura e Gravação.
Leitura: No modo de edição, corresponde a letra r, do inglês read. Quando este modo está ativado, você só pode ler o arquivo.
Gravação: Corresponde a letra w, do inglês writer. Quando este modo está ativado, você só pode modificar o arquivo.
Leitura e Gravação: Este modo pode ser acessado quando se colocar um sinal de + nos dois modos acima. Com ele ativado, você pode ler e gravar arquivos.

Pronto. Agora que sabemos das edições, vamos conhecer um pouco os métodos.
Como criar arquivos?
É simples! No modo de edição, coloque: File::CREATE. Exemplo:
Código:
f = File.new("C:/Joguinho.exe",File::CREATE)
Como escrever em arquivos?
É simples! Você instancia a classe (dei um exemplo acima), com a variável que você instanciou envie uma mensagem .puts "escreva o que quiser". Exemplo:
Código:
f = File.new("C:/Teste.txt","w")
f.puts "Estou escrevendo diretamente no arquivo"
Curiosidade: Como é uma string, você pode escrever informações sobre o jogo através de blocos. Olhe o exemplo:
Código:
@actor = $game_party.members[0]
f = File.new("C:/Teste.txt","w")
f.puts "HP do Herói: #{@actor.hp}"
Como ler um arquivo?
Este processo é um pouco complicado. Vamos por parte...
Primeiro, instancie uma variável:
Código:
instancia = File.new("C:/Ruby/Bne.exe","r")
Após isto, crie um bloco de código:
Código:
instancia = File.new("C:/Ruby/Bne.exe","r") do |bloco|
end
Com este bloco, absorvemos todas as informações do arquivo. Mas ainda não estamos aptos a mostrar as linhas dos arquivos. Agora, aplique um método each_line nesse bloco:
Código:
instancia = File.new("C:/Ruby/Bne.exe","r") do |bloco|
 bloco.each_line
end
Esse método procura linhas que correspondam as objeções. Perceba que, por exemplo, podemos colocar "a", assim ele procurará todas as linhas que começam com a. Mas, como queremos toda a informação do arquivo, usamos outro bloco de código, e dessa vez, "printando" ele:
Código:
instancia = File.new("C:/Ruby/Bne.exe","r") do |bloco|
 bloco.each line do |linha|
  puts linha
 end
end
Pronto! Éis que você verá na tela várias mensagensinhas.

Como saber se um arquivo existe?
Código:
File.exist?("diretorio")

Como deletar um arquivo?
OBS: Este passo é apenas para fins de estudo e aplicações no RPG Maker. Nem pense em ficar criando virus fuleiras que deletam os arquivos das pessoas! :P
Código:
f = File.new("C:/Teste.txt","r")
f.delete

Como saber a data da criação, da modificação e do acesso de arquivos?
Criação:
Código:
f = File.new("C:/Teste.txt","r")
f.ctime
Modificação:
Código:
f.mtime
Acesso:
Código:
f.atime

Como mover um arquivo?
Código:
f = File.new("diretorio")
f.move("new diretorio")

Como copiar um arquivo?
Código:
f = File.new("diretorio")
f.copy("diretorio copy")
Bom pessoal, é isso. Espero que tenham gostado da aula e até a próxima! (y)
Ah, e use os ensinamentos para o bem, hein? lol
Ah, e nem invente de tentar deletar a system32. O ruby bloqueia e exclusão de arquivos que estão rodando...
Voltar ao Topo Ir em baixo
 

Manipulação de arquivos através do RPG Maker

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

 Tópicos similares

+
Página 1 de 1

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
Hacred Sall :: Centro de Operações :: Armazém :: Scripts :: Ajuda e tutoriais-
Ir para: