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. |
|||
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! "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! |
|||
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 |
|||
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. |
|||
18-06-2009, 18:10
Mensagem: #5
|
|||
|
|||
RE: c#, algumas duvidas
vai trabalhar bruno
lool |
|||
« Mais Antigo | Mais Recente »
|
Utilizadores a ver este tópico: 2 Visitante(s)