Conectar-se

Esqueci minha senha

Últimos assuntos
» Novo endereço da XCreator
Qua 16 Mar 2011, 08:49 por vinians

» C++? ajuda
Qui 17 Fev 2011, 16:42 por Henrique_GJ

» dúvida em centralizar arma e player
Dom 30 Jan 2011, 17:08 por AndersonXD

» GO linguagem de programação da Google !!
Qui 27 Jan 2011, 21:04 por vinians

» [Duvida]esqueci o código pra mudar o tamanho da room
Qui 13 Jan 2011, 15:12 por mystery_boy_maker

» show_message_ext duvida
Qua 22 Dez 2010, 21:36 por mystery_boy_maker

» Testes com C & Allegro
Seg 13 Dez 2010, 14:31 por vinians

» FreeBasic - Código completo Snake
Seg 13 Dez 2010, 11:13 por tblima123

» Me apresentando...
Sab 11 Dez 2010, 22:26 por vinians

» URL Reverse
Sab 11 Dez 2010, 22:23 por vinians

Parceiros
Seja nosso parceiro, adicione nosso button em seu portal!


• • •

• • •

• • •
[parceiro 3]

03 - Aulas do Tiago - Trabalhando com arquivos de texto

Ir em baixo

03 - Aulas do Tiago - Trabalhando com arquivos de texto

Mensagem por tblima123 em Ter 05 Out 2010, 12:08

Abrindo, Lendo e Escrevendo em arquivos de texto.

Ferramenta: FreeBasic
Nível: Iniciante

Às vezes em um jogo é conveniente utilizar arquivos de texto; por exemplo, você pode querer salvar o progresso do jogador, ou então criar um sistema de mapas onde cada arquivo de texto representa uma fase.

Para começar, crie um arquivo de texto com o nome "Aula.xcr", como você viu, a extensão pode ser a que você quiser, não é obrigado ser ".txt"

Obs.: Cuidado pra quando você for salvar o arquivo ele não ficar assim: "Aula.xcr.txt", colou?

Escreva dentro do seu arquivo de texto:
Código:

"I Love FreeBasic"
"Xcreator - A aventura começa aqui"
"Como as aulas do Tiago sao incriveis"
Nota: As frases estão entre aspas pois nós iremos carrega-las em variaveis tipo String, e como nós sabemos uma string TEM que ser escrita entre aspas.

Bem agora começa a parti divertida, vamos programar Sad Shocked Mad

Nessa aula nós iremos usar o CMD (Prompt de Comando) pra evidar detalhes que só irão complicar, certo?

Digiti isso na sua Primeira linha:
Código:

Dim endereco_arquivo As Integer = FreeFile()
Opa, num intidi u qui fui qui eli dici!!!
Vamos esmiuçar essa linha:
Dim cria uma nova variavel, duurr!!!
endereco_arquivo é o nome dessa variavel
As Integer para ser do Tipo Inteira
= suponho que você saiba Wink
FreeFile() é uma função

Vamos entender melhor esse FreeFile():
Para o nosso arquivo de texto poder ser encontrado na mémoria ele tem que ter um endereço, certo?
FreeFile() é uma função que retorna o endereço de uma posição valida na meméria para poder se armazenar um arquivo qualquer.
Nossa Variavel endereco_arquivo tem, em outras palavras, o endereço na memória que nós iremos usar para acessar o arquivo de texto.

Prosseguindo, nós iremos abrir o nosso arquivo de texto:
Código:

Open "aula.xcr" For Input As endereco_arquivo
Vamos entender essa linha:
Open é a função que ordena abrir algo
"aula.xcr" é esse "algo" que será aberto
For Input (Para Entrada) ou seja, só para leitura
As endereco_arquivo o arquivo deve ser carregado no endereço da memória indicado

Vamos mostrá-lo na tela?
Código:

Dim Linha1 As String                'variavel para armazenar string
Input #endereco_arquivo, Linha1    'carrega a primeira linha do arquivo na variavel Linha1
Print Linha1                        'imprime Linha1 na tela
Input de novo? É mas nesse caso input não é um parametro, e sim uma FUNÇÃO, dis que o que tem no endereço indicado deve ser copiado para dentro da variavel indicada:
Input #endereco, VAR1, VAR2, VARn

Insira isso tambem:
Código:

Close                              'você não abriu o arquivo? agora feche!!!
Sleep                              'Aquela pausadinha básica
Compile seu código!!!

Ô coisa boa, funfo!!!, Mas só mostrou uma linha Sad , puique?
Vamos resolver!!!
Substitua todo o código:
Código:

Dim endereco_arquivo As Integer = Freefile()
   
Open "aula.xcr" For Input As endereco_arquivo

Dim Linha1 As String                                'variavel para armazenar string
Dim Linha2 As String                                'variavel para armazenar string
Dim Linha3 As String                                'variavel para armazenar string

Input #endereco_arquivo, Linha1, Linha2, Linha3    'carrega a primeira linha na variavel Linha1
Print Linha1                                        'imprime Linha1 na tela
Print Linha2                                        'imprime Linha2 na tela
Print Linha3                                        'imprime Linha3 na tela
                                   
Close                                              'você não abriu o arquivo? agora feche!!!
Sleep                                              'Aquela pausadinha básica
Vê o que mudou?
Adicionamos duas variaveis, agora temos uma para cada linha, indicamos na função input para carregar as linha seguintes (isso mesmo, tenque indicar uma variavel para cada linha, já pensou se forem mil?), e mandamos imprimir cada variavel numa linha diferente.
Pronto, mostramos as três variaveis, se fossem mil, aí teriamos que usar um loop e um array, mas isso fica pra outro dia.




Gravando dados

Vamos agora gravar dados em nosso arquivo de texto.
Vamos criar outro projeto, já fizemos um que lê, agora vamos fazer um que escreve!!!

O comesso é igual:
Código:

Dim endereco_arquivo As Integer = Freefile()

O proximo muda pouco:
Código:

Open "aula.xcr" For Output As endereco_arquivo
Só mudou um parametro, de Input para Output
Ou seja, de modo de entrada para modo de saída.
Dessa vez, ao envés de abrirmos para LER abrimos para ESCREVER no arquivo.

Agora crie as variaveis para armazenar cada frase:
Código:

Dim entrada1 As String
Dim entrada2 As String
Dim entrada3 As String

Crie uma entrada para o usuario poder escrever o que quer:
Código:

Input "digite: ", entrada1, entrada2, entrada3

Grava os dados:
Código:

Write #endereco_arquivo, entrada1, entrada2, entrada3

Fecha o Arquivo:
Código:

Close #endereco_arquivo

Imprime isso na tela:
Código:

Print ""
Print "Gravado"
Só pra ficar biito

Espera um teco:
Código:

Sleep

Aqui está todo o codigo:
Código:

Dim endereco_arquivo As Integer = Freefile()         

Open "aula.xcr" For Output As endereco_arquivo                'abre para gravar

Dim entrada1 As String                                        'cria variaveis
Dim entrada2 As String
Dim entrada3 As String

Input "digite: ", entrada1, entrada2, entrada3                'pedi para o usuario digitar

Write #endereco_arquivo, entrada1, entrada2, entrada3        'grava os dados
Close #endereco_arquivo                                      'você não abriu o arquivo? agora feche!!!

Print ""                                                      'imprime uma besteirinha na tela
Print "Gravado"

Sleep                                                        'aquela "perada" básica

Agora compile.
Observe que cada uma das frases deverá ser digitada separada por virgula.


Valeu cambada, espero que tenha gostado e entendido, agora é só você usar um programa para gravar os dados e outro para ler!!!

Nota: se você abrir um arquivo inexistente para ler, retorna linhas vazias, se você abrir um arquivo inexistente para escrever ele criará um novo arquivo com o nome do que éra pra abrir quando você tentar escrever.

Qualquer duvida, eu não sei responder Wink


Última edição por tblima123 em Ter 05 Out 2010, 14:52, editado 5 vez(es)
avatar
tblima123
Ocasional

Mensagens : 54
Data de inscrição : 06/11/2009

Voltar ao Topo Ir em baixo

Re: 03 - Aulas do Tiago - Trabalhando com arquivos de texto

Mensagem por vinians em Ter 05 Out 2010, 13:20

E ae amigão!!! Ótimo tutorial, como sempre! Essa parte sobre manipulação de arquivos, é sempre uma parte pouco estudada pelo pessoal, só que para jogos mais avançados acabamos precisando de criar ou ler algum arquivo texto.
É isso ai vlws!

_________________
we love to make games!
avatar
vinians
Editor

Masculino
Mensagens : 85
Data de inscrição : 24/08/2009
Localização : Rio de Janeiro

http://www.xcreator.com.br

Voltar ao Topo Ir em baixo

Re: 03 - Aulas do Tiago - Trabalhando com arquivos de texto

Mensagem por tblima123 em Ter 05 Out 2010, 14:32

Valew colega, que bom que gostou.

Esse lanse dos arquivos é legal que permite ao camarada criar uma estrutura mais potente ao jogo, fica mais da horinha (ou não...)
avatar
tblima123
Ocasional

Mensagens : 54
Data de inscrição : 06/11/2009

Voltar ao Topo Ir em baixo

Re: 03 - Aulas do Tiago - Trabalhando com arquivos de texto

Mensagem por Henrique_GJ em Qua 06 Out 2010, 14:03

eu não sei usar freebasic (nem to interessado) mas deu gosto de ler o tuto até o final

pra ser sincero parece que o que você explicou, mesmo sem saber 1% de freebasic eu entendi... só não sei o resto! rsrs

ó, só não vai ficar querendo explicar, outro dia eu procuro quis programas são necessários

eu tô de olho é em java!
avatar
Henrique_GJ
Novato

Masculino
Mensagens : 15
Data de inscrição : 05/05/2010
Localização : marechal floriano ES

http://sitedosjogos.forumeiros.com

Voltar ao Topo Ir em baixo

Re: 03 - Aulas do Tiago - Trabalhando com arquivos de texto

Mensagem por tblima123 em Qui 07 Out 2010, 08:11

Opa, valeu ai colega.

Eu mechi com java acho que mais de um mês Shocked

Eu achei legal, sitaxe clare e bem organizada, linguagem com um bom desempenho e se bem explorada, muita produtividade.

Eu só não gostei do compilamento.
Java é interpretado, então quem quiser jogar seu jogo tenque ter o interpretador. Até dá pra compilar, mas fica um executavel enorme Sad (gambiarra)
Não confunda a pré-compilação dela com uma linguagem realmente compilada, tá?
Fora isso, eu gostei, mas não insití em aprender, mas se isso não lhe importante (ser compilada) Cai dentro que a linguagem é boa.

Nota: Eu não fui muito fundo em java, nem lembro mais como se faz o "Hello World!"
Li metade do "Use a cabeça Java!", ótimo livro.
avatar
tblima123
Ocasional

Mensagens : 54
Data de inscrição : 06/11/2009

Voltar ao Topo Ir em baixo

Re: 03 - Aulas do Tiago - Trabalhando com arquivos de texto

Mensagem por vinians em Qui 07 Out 2010, 16:12

tblima123 escreveu:Opa, valeu ai colega.

Eu mechi com java acho que mais de um mês Shocked

Eu achei legal, sitaxe clare e bem organizada, linguagem com um bom desempenho e se bem explorada, muita produtividade.
Tem razão, o Java é uma linguagem excelente com libs para todos os gostos!

Eu só não gostei do compilamento.
Java é interpretado, então quem quiser jogar seu jogo tenque ter o interpretador. Até dá pra compilar, mas fica um executavel enorme Sad (gambiarra)
Isso atualmente não é muito assim. Todo sistema opracional hoje em dia tem o interpretador de Bytecodes Java. É tipo o .NET, essa é a tendência das linguagens hoje em dia, usar Bytecodes. E na verdade, o Java usa uma espécie de JIT (Just in Time) Compilator que compila o byte code na hora da execução, oque a torna muito muito rápida.

Não confunda a pré-compilação dela com uma linguagem realmente compilada, tá?
Fora isso, eu gostei, mas não insití em aprender, mas se isso não lhe importante (ser compilada) Cai dentro que a linguagem é boa.
Você não precisa realmente de usar compiladores para Java, pois isso tira a flexibilidade da linguagem. Por exemplo voce faz um jogo em java e ele vai rodar em todas as plataformas suportadas pelo Java, ou seja, todos os sistemas operacionais atuais.

Nota: Eu não fui muito fundo em java, nem lembro mais como se faz o "Hello World!"
Li metade do "Use a cabeça Java!", ótimo livro.
Ótimo livro, muito fácil de aprender, mas sugiro também ler tutoriais na internet e entrar em fóruns etc.
Sugiro que você mude sua cabeça e que estude Java tambem! Pois Java e .NET são as plataformas do futuro e o Java é Free.

Inclusive, pra quem quer fazer jogos que rodam diretos no browser sugiro usar o Java, pois ele é mais rápido que o Flash e tem jogos e até emuladores feito em Java, na verdade um Applet Java.
Flws!

_________________
we love to make games!
avatar
vinians
Editor

Masculino
Mensagens : 85
Data de inscrição : 24/08/2009
Localização : Rio de Janeiro

http://www.xcreator.com.br

Voltar ao Topo Ir em baixo

Re: 03 - Aulas do Tiago - Trabalhando com arquivos de texto

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

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