Forum Pplware

Versão Completa: c#, algumas duvidas
Está de momento a ver uma versão reduzida do nosso conteúdo. Ver versão completa com o formato adequado.
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.
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
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
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.
vai trabalhar bruno Tongue

lool
URL's de Referência