c#, algumas duvidas - Versão de Impressão +- Forum Pplware (http://forum.pplware.com) +-- Fórum: Mais Tech (/forumdisplay.php?fid=11) +--- Fórum: Programação e Web (/forumdisplay.php?fid=16) +--- Tópico: c#, algumas duvidas (/showthread.php?tid=2576) |
c#, algumas duvidas - ag0n - 10-06-2009 19:31 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. RE: c#, algumas duvidas - RaCcOn - 11-06-2009 10:07 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! RE: c#, algumas duvidas - ag0n - 11-06-2009 13:17 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 RE: c#, algumas duvidas - RaCcOn - 11-06-2009 17:26 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. RE: c#, algumas duvidas - carvalho - 18-06-2009 18:10 vai trabalhar bruno lool |