Tommy Skrevet 28. september 2007 Del Skrevet 28. september 2007 Hei. Har en applikasjon hvor brukeren skal velge install path til en applikasjon i en folderBrowser. Dette er en applikasjon som skal kjøres flere ganger, så det hadde vært ønskelig at applikasjonen husket på denne pathen til neste gang den kjøres. Er ikke veldig keen på å skive til fil for å si det sånn... Det må vel være en enklere måte? Lenke til kommentar
GeirGrusom Skrevet 28. september 2007 Del Skrevet 28. september 2007 Registry, eller en fil i Application Data. Lenke til kommentar
HDSoftware Skrevet 1. oktober 2007 Del Skrevet 1. oktober 2007 Støtter Registry helt klart!! Og det er superenkelt: Registry.SetValue("HKEY_CURRENT_USER\\Mitt kule program","Forrige Path",valgtPath); valgtPath = (string) Registry.GetValue("HKEY_CURRENT_USER\\Mitt kule program","Forrige Path", "No path selected"); Lenke til kommentar
dahwan Skrevet 9. november 2007 Del Skrevet 9. november 2007 (endret) Kan du ikke bare lagre file pathen i en fil en eller annen plass? string installPath = ""; // Applicasjonen installeres til denne strengen string LocPath = System.Environment.GetFolderPath(SpecialFolder.LocalApplicationData); //Streng til /*USER*/+/Appdata/Local string InstPath_File = LocPath + "/instPath.pth"; // Path til filen men installPath // Hvis filen finnes, bruk innholdet if(System.IO.File.Excists(InstPath_File)) installPath = System.IO.File.ReadAllText(InstPath); // Hvis ikke, la brukeren velge selv, så lagre filen men strengen til neste gang else { //************************************ //Code to make your user choose install path //OpenFileDialog and such //************************************ System.IO.File.WriteAllText(InstPath_File, installPath); } Enkelt som bare det. (Hvis du vil se denne koden orentlig, kopier den og legg den til i notepad eller ett annet "bredere" vindu) Endret 9. november 2007 av dahwan Lenke til kommentar
Manfred Skrevet 9. november 2007 Del Skrevet 9. november 2007 "Hvorfor ikke fil" og "enkelt som bare det", sånn etter at eksempelet med Registry var pastet, som var 2 linjer langt, mye raskere OG enklere... Lenke til kommentar
j000rn Skrevet 9. november 2007 Del Skrevet 9. november 2007 (endret) .... Endret 9. november 2007 av jorn79 Lenke til kommentar
The Jackal Skrevet 9. november 2007 Del Skrevet 9. november 2007 Skal du bruke en fil er vel App.config i så fall så og si den eneste brukandes metoden å bruke spør du meg. Ville vel strengt tatt brukt det selv istedetfor registry, men det er vel en smakssak. Lenke til kommentar
j000rn Skrevet 9. november 2007 Del Skrevet 9. november 2007 (endret) "Hvorfor ikke fil" og "enkelt som bare det", sånn etter at eksempelet med Registry var pastet, som var 2 linjer langt, mye raskere OG enklere... Til hans forsvar: string ConfigFile = Environment.GetFolderPath(SpecialFolder.LocalApplicationData) + "install.path"; string installPath = File.Exists( ConfigFile ) ? null : File.ReadAllText( ConfigFile ); File.WriteAllText( ConfigFile , installPath ); Unødvendige variabler og kommentarer som gjorde at det så så ille ut.... Edit: Hvordan klarte jeg å quote meg selv? Edit2: Åja.... argh, fredag og sliten...,.. Endret 9. november 2007 av jorn79 Lenke til kommentar
dahwan Skrevet 9. november 2007 Del Skrevet 9. november 2007 OK, beklager Jeg tenkte bare at registry så såpass avansert ut at jeg ville ikke ha forstått det for 5 måneder siden, og du må nesten bruke visual studio eller noe lignende for å ha med settings, så å lage en fil trengs kansje mer kode, men jeg likte metoden å gjøre det på Sorry Lenke til kommentar
Manfred Skrevet 9. november 2007 Del Skrevet 9. november 2007 Siden når ble registeret avansert? :\ Lenke til kommentar
dahwan Skrevet 9. november 2007 Del Skrevet 9. november 2007 (endret) Vell , siden da jeg leste den og ikke kjønte en drit , tenker jeg Endret 9. november 2007 av dahwan Lenke til kommentar
Manfred Skrevet 9. november 2007 Del Skrevet 9. november 2007 Støtter Registry helt klart!! Og det er superenkelt: Registry.SetValue("HKEY_CURRENT_USER\\Mitt kule program","Forrige Path",valgtPath); valgtPath = (string) Registry.GetValue("HKEY_CURRENT_USER\\Mitt kule program","Forrige Path", "No path selected"); Bare som en kommentar, synes jeg det er litt finere å gjøre det slik: Microsoft.Win32.Registry.CurrentUser.CreateSubKey("mittKuleProgam").SetValue("path", installPath); og string installPath = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("mittKuleProgram").GetValue("path"); Slipper å måtte escape \ eller tenke på at HKEY_CURRENT_USER er skrevet riktig og slikt 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å