Colocar Resposta 
 
Avaliação do Tópico:
  • 0 votos - 0 Média
  • 1
  • 2
  • 3
  • 4
  • 5
c#, algumas duvidas
10-06-2009, 19:31 (Esta mensagem foi modificada pela última vez a: 10-06-2009 19:50 por ag0n.)
Mensagem: #1
c#, algumas duvidas
Olá. Estou a criar um programa, no ambiento de uma cadeira que tenho na universidade (programação 2), sendo que preciso de saber como criar, ler, etc ficheiros .ini (ou txt ou o que quer que seja).

O problema é o seguinte, o programa suporta 2 jogos em que cada um suporta mods de jogo diferente. Para tal, antes de começar a usar o programa em si preciso de guardar a localização e mods dos jogos.
Para tal criei um ficheiro chamado Paths.ini em que a minha ideia seria:
Linha 1 = directoria do jogo chamado ET
Linha 2 = mod seleccionado do jogo chamado ET
Linha 3 = directoria do jogo chamado RTCW
Linha 4 = mod do jogo chamado RTCW.
Linha 5 = Jogo selecionado pelo utilizado no form principal (se escolher o jogo 1 sei que a linha 1 é a directoria e a 2 o mod etc)

Após fazer estas gravações, preciso que quando escolho o jogo no menu, a variavel Jogo e Mod obtenham os valores do jogo e mod selecionado.

Alguma ideia de como fazer isso? Abaixo deixo o código que contenho até ao momento. Não reparem nos erros no inglês nem no codigo pobre :<

http://pastebin.com/m25c9f57 -> Settings form (aqui é onde quero gravar uma localização do .ini ou ambas, sendo que posteriormente se mudar a localização de um jogo já selecionado anteriormente, queria que apenas muda-se as linhas correspondentes).

No form principal ainda não tenho nenhum codigo relevante, se me poderem ajudar a ler o ini para depois atribuir o valor as variaveis que disse seria bom...


Desde já obrigado.
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
11-06-2009, 10:07
Mensagem: #2
RE: c#, algumas duvidas
Tanto quanto percebi queres guardar configurações num file .ini ou algo do género, ora este tipo de ficheiros são lidos como ficheiros de texto convencionais.
Primeiro tens de ter a libraria

Código:
using System.IO;


depois crias uma nova instancia do FileStream

Código:
FileStream file = new FileStream("ficheiro.ini", Modoficheiro, Acessoficheiro);

"ModoFicheiro" Especifica que tipo de filestream vais ter podes usar (Append, Create, CreateNew, Open, OpenOrCreate ou Truncate) (Acho que não preciso dizer-te para que serve cada opção!Smile

"AcessoFicheiro" Especifica qual o tipo de acesso que vais estar a fazer ao ficheiro, podes usar(Read, ReadWrite ou Write)

Escrever no ficheiro, vais ter utilizar uma classe StreamWriter.

Código:
StreamWriter opt = new StreamWriter(file);

Ex de como utilizares:
Código:
opt.Write("Texto que queres escrever!!!!!");

Como todos nós programadores sabemos, não devemos de deixar muita info carregada em memoria quando não necessitamos dela, logo não esquecer de fechar a classe quando não necessitamos mais.

Código:
opt.Close();

Ler do ficheiro
Precisas de utilizar uma classe StreamReader.

Código:
StreamReader upt = new StreamReader(file);

Neste caso vou utilizar a opção ReadtoEnd, no entanto tens muitas outras que até te poderão dar mais jeito

Código:
string s = upt.ReadToEnd();

agora é só leres o que está na variavel "s"

Não esqueças de fechar a classe.

Citar:upt.Close();

E se já esta tudo Ok

Código:
file.Close();

Espero que te seja útil!Wink
Visitar Website de este utilizador Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
11-06-2009, 13:17
Mensagem: #3
RE: c#, algumas duvidas
Ajudaste sim, obrigado.
Já sei como ler, contudo não me explicaste como ler/escrever em linhas especificas.
Antes de usar os "streams" pensei em usar o registo do windows (até porque se muda-se a aplicação de sitio, continuava sempre tudo a funcionar.. mas pareceu me complicado de adicionar essas informações...

Obrigado
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
11-06-2009, 17:26
Mensagem: #4
RE: c#, algumas duvidas
Para isso usas o StreamReader.ReadLine
É sempre melhor utilizar isto assim, se utilizares o registo do Windows ia dar raia, para além de aplicação não ser tão eficaz.
Visitar Website de este utilizador Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
18-06-2009, 18:10
Mensagem: #5
RE: c#, algumas duvidas
vai trabalhar bruno Tongue

lool
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
Colocar Resposta 


Saltar Fórum:


Utilizadores a ver este tópico: 4 Visitante(s)