2014-09-16 2 views
-2

기본적으로, 나는이 프로그램을 가지고있다. 링크를 클릭하면 열린다. 하지만 내가 입력 한 모든 링크가 저장되지는 ​​않습니다. 이름 목록과 링크 목록이 있습니다. 단추로 링크와 이름을 추가 한 다음 '보기'링크를 열 수 있습니다. 나는 주로 이것을 youtubers 및 streamers에 사용하려고했습니다. 여기에 코드가 있습니다. 난 당신이 File.CreateText(Path) 사용하는 볼 첫번째 모습이 기능은 지금은 데이터가 무엇인지 이전 파일을 덮어 쓰게됩니다, 그래서 당신은 당신의 데이터를 기록 할 때마다 후 덮어 쓰기에 의해 삭제로데이터를 텍스트 파일에 저장하는 방법은 무엇입니까?

Imports System.IO 

Public Class Form1 

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 

     Dim NamePath As String = ("C:\Favoriter\NameList.txt\") 
     Dim nsr As StreamReader 
     nsr = New StreamReader(NamePath) 
     Do Until nsr.EndOfStream 
      lstName.Items.Add(nsr.ReadLine) 
     Loop 
     nsr.Close() 

     Dim URLPath As String = ("C:\Favoriter\URLList.txt\") 
     Dim usr As StreamReader 
     usr = New StreamReader(URLPath) 
     Do Until usr.EndOfStream 
      lstURL.Items.Add(usr.ReadLine) 
     Loop 
     usr.Close() 

    End Sub 

    Private Sub Form1_Closing(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 

     Dim NamePath As String = ("C:\Favoriter\NameList.txt\") 
     Dim nsw As StreamWriter 
     nsw = File.CreateText(NamePath) 
     Dim NameItems As String 
     Do Until lstName.Items.Count.Equals(0) 
      NameItems = lstName.Items.Item(0) 
      lstName.Items.RemoveAt(0) 
      nsw.WriteLine(NameItems) 
     Loop 
     nsw.Flush() 
     nsw.Close() 

     Dim URLPath As String = ("C:\Favoriter\URLList.txt\") 
     Dim usw As StreamWriter 
     usw = File.CreateText(URLPath) 
     Dim URLItems As String 
     Do Until lstURL.Items.Count.Equals(0) 
      URLItems = lstURL.Items.Item(0) 
      lstURL.Items.RemoveAt(0) 
      usw.WriteLine(URLItems) 
     Loop 
     usw.Flush() 
     usw.Close() 

    End Sub 

    Private Sub lblTitle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lblTitle.Click 

    End Sub 

    Private Sub lstName_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lstName.SelectedIndexChanged 

    End Sub 

    Private Sub lstURL_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lstURL.SelectedIndexChanged 

    End Sub 

    Private Sub txtName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtName.TextChanged 

    End Sub 

    Private Sub txtURL_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtURL.TextChanged 

    End Sub 

    Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click 

     lstName.Items.Add(txtName.Text) 
     lstURL.Items.Add(txtURL.Text) 

    End Sub 

    Private Sub btnWatch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnWatch.Click 

     If lstURL.SelectedItem = True Then 
      Process.Start(lstURL.SelectedItem) 
     End If 

    End Sub 

    Private Sub lblName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lblName.Click 

    End Sub 

    Private Sub lblURL_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lblURL.Click 

    End Sub 
End Class 
+1

귀하의 질문은 명확하지 않습니다 ... 정확히 예상대로 작동하지 않습니다? 오류가 있습니까? 우리는 마음가짐을하지 않습니다. – Plutonix

+0

글쎄, 프로그램에서, 당신은 이름을 입력 한 상자에 2 개의 텍스트 상자가 있으며, 다른 하나는 URL을 입력합니다. 이름을 목록 상자에 저장하고 다른 이름을 URL에 저장합니다. 이제 내가 원하는 것은 프로그램을 닫은 후 url과 이름을 txt 파일에 저장 한 다음 다시 열 때로드합니다. 이 일을 어떻게 하죠? – HardenedMidget

+0

폴더 경로가 아닌 파일 경로를 사용해야합니다. 파일 경로는 대개 "\"로 끝나나요? 그런 다음 코드를 실행할 때 어떤 일이 발생하는지 그리고 그 코드가 예상 한 것과 어떻게 다른지 정확하게 설명 할 수 있습니다. 추측을 사용하지 마십시오. 우리에게 관련된 모든 정보를주십시오. 또한 관련없는 정보를 알려주지 마십시오. 게시하는 코드의 빈 이벤트 처리기를 포함하여 유용한 목적을 제공하지 않으며 단지 우리에게 더 어려워집니다. – jmcilhinney

답변

0

, 당신은 사용할 수 있습니다

if File.Exists(Path) then 
File.Open(Path) 
else 
File.CreateText(Path) 
End If 

이렇게하면 글을 쓸 때마다 덮어 쓰지 않습니다.

관련 문제