SmoothCriminal Skrevet 25. februar 2012 Del Skrevet 25. februar 2012 Hei lagte et stykke software som skal kunne endre font'ene i windows 7/8 men får et problem med og overskrive backupfilen som skal bli laget. Kildekoden http://pastebin.com/YVKUWvgG på forhånd takk Lenke til kommentar
BlueEAGLE Skrevet 25. februar 2012 Del Skrevet 25. februar 2012 Tja... Du kan jo skrive med egne ord hva den funksjonen skal gjøre så kan vi se hva den ikke gjør. If System.IO.File.Exists(FILE_NAME) = True Then ElseIf (Not System.IO.Directory.Exists("C:\anyfont\backup\")) Then ... Kombinasjone av "Then-ElseIF" uten noe i mellom er spenstig. Er det noen grunn til dette? Det hadde også vært greit om du angav hvilken linje som forårsaket feilen. Lenke til kommentar
SmoothCriminal Skrevet 26. februar 2012 Forfatter Del Skrevet 26. februar 2012 Løste problemet slik Private Sub SaveFontTotxtToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveFontTotxtToolStripMenuItem.Click Line1: If (System.IO.Directory.Exists("C:\anyfont\backup\")) Then Else : System.IO.Directory.CreateDirectory("C:\anyfont\backup\") End If Dim FILE_NAME As String = "C:\anyfont\backup\Backup.txt" If System.IO.File.Exists(FILE_NAME) = True Then Dim objwriter As New System.IO.StreamWriter(FILE_NAME) objwriter.Write("Font 1: ") objwriter.Write(vbCrLf) objwriter.Write(TextBox1.Text) objwriter.Write(vbCrLf) objwriter.Write("Font 2: ") objwriter.Write(TextBox2.Text) objwriter.Dispose() MsgBox("Text written to file") Else System.IO.File.Create("C:\anyfont\backup\Backup.txt").Dispose() GoTo line1 End If End Sub Lenke til kommentar
Gjest Skrevet 26. februar 2012 Del Skrevet 26. februar 2012 (endret) Forsatt... dårlig kode... If (Not System.IO.Directory.Exists("C:\anyfont\backup\")) Then System.IO.Directory.CreateDirectory("C:\anyfont\backup\") Dim FILE_NAME As String = "C:\anyfont\backup\Backup.txt" If (Not System.IO.File.Exists(FILE_NAME)) Then System.IO.File.Create(FILE_NAME).Dispose() End If Dim objwriter As New System.IO.StreamWriter(FILE_NAME) objwriter.Write("Font 1: ") objwriter.Write(vbCrLf) objwriter.Write(TextBox1.Text) objwriter.Write(vbCrLf) objwriter.Write("Font 2: ") objwriter.Write(TextBox2.Text) objwriter.Dispose() MsgBox("Text written to file") End If Her har du en mye penere en. Bruk av IF NOT nyttig Eller du kan bruke f.eks: If (System.IO.Directory.Exists("C:\anyfont\backup\")) = false Then Som gjør akkurat det samme som IF NOT. Endret 26. februar 2012 av Gjest Lenke til kommentar
SmoothCriminal Skrevet 26. februar 2012 Forfatter Del Skrevet 26. februar 2012 Forsatt... dårlig kode... If (Not System.IO.Directory.Exists("C:\anyfont\backup\")) Then System.IO.Directory.CreateDirectory("C:\anyfont\backup\") Dim FILE_NAME As String = "C:\anyfont\backup\Backup.txt" If (Not System.IO.File.Exists(FILE_NAME)) Then System.IO.File.Create(FILE_NAME).Dispose() End If Dim objwriter As New System.IO.StreamWriter(FILE_NAME) objwriter.Write("Font 1: ") objwriter.Write(vbCrLf) objwriter.Write(TextBox1.Text) objwriter.Write(vbCrLf) objwriter.Write("Font 2: ") objwriter.Write(TextBox2.Text) objwriter.Dispose() MsgBox("Text written to file") End If Her har du en mye penere en. Bruk av IF NOT nyttig Eller du kan bruke f.eks: If (System.IO.Directory.Exists("C:\anyfont\backup\")) = false Then Som gjør akkurat det samme som IF NOT. Men nå sliter jeg med og lese ut texten etterpå. Texter ser slik ut nå (.txt fila) Font 1: Microsoft Sans Serif Font 2: Tahoma og jeg vil ha den andre lijen i textbox1 og linje 4 i textbox2, noen løsning på det? prøvde med noe readline greier (har nettopp begynt med vb igjen) men fikk ikke noe til 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å