smarting90 Skrevet 19. mars 2013 Del Skrevet 19. mars 2013 Hei, Prøvde å teste noe med vb.net men fikk det helt til. Er jo ganske ny når det gjelder vb.net . Har oprettet en subkey i register under currentuser kalt "TestKey", det jeg prøvde på er å sjekke om subkeyn er på plass, hvis subkey "TestKey" er på plass skal slettes. Dim readValue As String readValue = My.Computer.Registry.CurrentUser.GetValue("TestKey", "TestValue", Nothing) If readValue is Nothing Then My.Computer.Registry.CurrentUser.DeleteSubKey("Testkey") Else MessageBox.show("Failed") Det gikk ikke får bare opp "Failed". Men prøvde å kjøre oneline code og gikk. My.Computer.Registry.CurrentUser.DeleteSubKey("Testkey") Ingen tvil om jeg har kodet feil her, kan noen forklare eller vise meg et eksempel på det her? Lenke til kommentar
GeirGrusom Skrevet 19. mars 2013 Del Skrevet 19. mars 2013 Ser ut for meg som om det er testen din som er feil. Hvis readValue returnerer null, så sletter du nøkkelen (som sannsynligvis ikke eksisterer) derimot hvis den ikke er det sier du "Failed". Lenke til kommentar
smarting90 Skrevet 19. mars 2013 Forfatter Del Skrevet 19. mars 2013 Ser ut for meg som om det er testen din som er feil. Hvis readValue returnerer null, så sletter du nøkkelen (som sannsynligvis ikke eksisterer) derimot hvis den ikke er det sier du "Failed". Er det noe feil ved readValue ? Eller må jeg mappe hele? eks: HKEY_CURRENT_USER\Testkey ? Siden jeg ville slette hele subkey, må jeg ikke oppgi valuen under subkey "TestKey" ? Dim readValue As String readValue = My.Computer.Registry.CurrentUser.GetValue("TestKey", "", "") If readValue is Nothing Lenke til kommentar
GeirGrusom Skrevet 19. mars 2013 Del Skrevet 19. mars 2013 (endret) Det er ikke noe i veien med GetValue. Den returnerer Nothing dersom nøkkelen ikke finnes. Det neste du gjør er å forsøke å slette nøkkelen som du vet ikke eksisterer (fordi testen sjekker om resultatet er null). Dersom nøkkelen derimot faktisk eksisterer, så viser du en feilmelding som sier "Failed". Løsningen er enkelt: Dim readValue As String = My.Computer.Registry.CurrentUser.GetValue("TestKey", "TestValue", Nothing) If Not readValue is Nothing Then ' Nøkkelen eksisterer. Slett den. My.Computer.Registry.CurrentUser.DeleteSubKey("Testkey") Else MessageBox.show("Failed") ' Nøkkelen eksisterer ikke, gi en feilmelding. Endret 19. mars 2013 av GeirGrusom Lenke til kommentar
smarting90 Skrevet 19. mars 2013 Forfatter Del Skrevet 19. mars 2013 Det er ikke noe i veien med GetValue. Den returnerer Nothing dersom nøkkelen ikke finnes. Det neste du gjør er å forsøke å slette nøkkelen som du vet ikke eksisterer (fordi testen sjekker om resultatet er null). Dersom nøkkelen derimot faktisk eksisterer, så viser du en feilmelding som sier "Failed". Løsningen er enkelt: Dim readValue As String = My.Computer.Registry.CurrentUser.GetValue("TestKey", "TestValue", Nothing) If Not readValue is Nothing Then ' Nøkkelen eksisterer. Slett den. My.Computer.Registry.CurrentUser.DeleteSubKey("Testkey") Else MessageBox.show("Failed") ' Nøkkelen eksisterer ikke, gi en feilmelding. Takker for svaret og forklaringen Klarte å løse det nå (Y) 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å