Velena Skrevet 23. februar 2009 Del Skrevet 23. februar 2009 Jeg har et aldri å lite problem med å lagre en tekstfil, og har kommet frem til at textWriter.Write er problemet: den skriver rett og slett ikke noe som helst. Mer speisifkt oppstår problemet når stringen jeg vil skrive inneholder en filvei, som f.eks: C:/Programmer/Adobe. I alle andre tilfeller jeg har testet dette virker det helt fint, så jeg skjønner ikke helt hva problemet kan være. All feedback mottas med takk =). Lenke til kommentar
Nuduaa Skrevet 23. februar 2009 Del Skrevet 23. februar 2009 Bruk backslash \ istedet for forwardslash /. Og når du bruker \ i en string så må du escape den fordi \ har spesiell betydelse ellers. f.eks: C:\\Programmer\\Adobe Lenke til kommentar
Velena Skrevet 23. februar 2009 Forfatter Del Skrevet 23. februar 2009 (endret) Tingen er at jeg bruker Regex til å lese informasjon fra tekstfilen, noe som skaper trøbbel når den inneholder \. Det er faktisk selve grunnen til at jeg brukte / i utgangspunktet. Edit: Prøvde nettopp å erstatte "/" med "%" før jeg lagret det til filen, for så å erstatte "%" med "/" igjen når jeg ville hente informasjonen, men av en aller annen grunn vil det fremdeles ikke lagres. Endret 23. februar 2009 av Velena Lenke til kommentar
GeirGrusom Skrevet 23. februar 2009 Del Skrevet 23. februar 2009 bruk verbatim string @"Hello\sworld!" Lenke til kommentar
Velena Skrevet 23. februar 2009 Forfatter Del Skrevet 23. februar 2009 Er rimelig irritert nå. Hva i all verden er galt med dette: string theSettings; using (TextReader settingsFile = new StreamReader(Application.StartupPath+@"\Settings.ini")) theSettings = settingsFile.ReadToEnd(); theSettings = theSettings.Remove(Regex.Match(theSettings, @"(?<=!DFPt:)C:(\\w+)+.txt(?=!)").Index, Regex.Match(theSettings, @"(?<=!DFPt:)C:(\\w+)+.txt(?=!)").Length); theSettings = theSettings.Insert(Regex.Match(theSettings, @"(?<=!DFPt:)!").Index, FilepathTBox.Text); using (TextWriter settingsWriter = new StreamWriter("Settings.ini")) { settingsWriter.Write(theSettings); } Selve tekstfilen: -----------Settings file----------- !TAB1-!DPt:0!DPc:False!DNt:0!DNc:False!DFt:230!DFc:False! !TAB2-!DXt:100!DXc:True!DYt:100!DYc:True!DTt:2!DTc:True! !TAB3-!DFPt:C:\Programmer\Eksempel\Test.txt!DFPc:True! :::NOTE::: Please don't edit this using a text editor. Instead, click the settings button in the main window and edit your preferences there. Innhold i FilepathTBox:C:\Programmer\Test.txt Resultat: Ingenting blir skrevet til filen. Lenke til kommentar
GeirGrusom Skrevet 23. februar 2009 Del Skrevet 23. februar 2009 (endret) Hvorfor matcher du flere ganger? Match m = reg.Match(blablabla); while(m.Success) { theSettings = theSettings.Remove(m.Index, m.Length); m = m.NextMatch(); } edit: det er ikke helt riktig det heller, det er egne replace funksjoner bygget inn i regex. Endret 23. februar 2009 av GeirGrusom Lenke til kommentar
Velena Skrevet 23. februar 2009 Forfatter Del Skrevet 23. februar 2009 Det er helt enkelt fordi jeg liker å bruke så få variabler som mulig. Skal bytte til Regex.Replace snarest mulig. Men hva er galt? Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå