Очень любезно, интеллектуальный член переполнения стека показал мне, как цикл с «Do Until» и создавать окна сообщений, чтобы пользователь мог сохранить файл или переименовать его, если он уже существует. Тем не менее, я все еще нажимаю на стену. Я не могу сохранить данные ListView в цикле for for, с именем файла, которое я выбрал в поле ввода (см. Код ниже). Как будто у меня есть две отдельные части кода, потому что rtb сохраняет данные в Rich Text File, называемом Test.txt, и saveFile не имеет к этому никакого отношения! Пожалуйста, помогитеСохранение данных с именем файла по моему выбору
Код
Dim fileSaved As Boolean
Do Until fileSaved
Dim saveFile As String = InputBox("Enter a file name to save this message")
If saveFile = "" Then Exit Sub
Dim docs As String = My.Computer.FileSystem.SpecialDirectories.MyDocuments
Dim filePath As String = IO.Path.Combine(docs, "Visual Studio 2013\Projects", saveFile & ".txt")
fileSaved = True
If My.Computer.FileSystem.FileExists(filePath) Then
Dim msg As String = "File Already Exists. Do You Wish To Overwrite it?"
Dim style As MsgBoxStyle = MsgBoxStyle.YesNo Or MsgBoxStyle.DefaultButton2 Or MsgBoxStyle.Critical
fileSaved = (MsgBox(msg, style, "Warning") = MsgBoxResult.Yes)
End If
Loop
'THIS NEXT bit of code saves content to Test.txt NOT saveFile as desired!
Dim rtb As New RichTextBox
rtb.AppendText("Generation, Num Of Juveniles, Num of Adults, Num of Semiles, Total" & vbNewLine)
For Each saveitem As ListViewItem In ListView1.Items
rtb.AppendText(
saveitem.Text & ", " &
saveitem.SubItems(1).Text & ", " &
saveitem.SubItems(2).Text & ", " &
saveitem.SubItems(3).Text & ", " &
saveitem.SubItems(4).Text & vbNewLine)
Next
rtb.SaveFile("C:\Users\SMITH\Documents\Visual Studio 2013\Projects\Test.txt", _
RichTextBoxStreamType.PlainText)
Вместо InputBox, A 'FileSaveDialog' обеспечит навигацию и утверждение для выбора и, возможно, вопрос «перезаписать?». – Plutonix
Если вы не хотите, чтобы текст LV в 'test.txt' не помещал его в RTB, напишите его в файл. – Plutonix
Я не думаю, что член SO, о котором вы говорите, ожидал, что вы даже не поймете основные части кода. Вы должны принять исправление Стива в качестве предлога, чтобы перечитать весь этот код и полностью его понять. Почему вы ожидали, что файл будет храниться где-то в другом месте, имея путь hardcoded ("rtb.SaveFile (" C: \ Users \ SMITH \ Documents \ Visual Studio 2013 \ Projects \ Test.txt ""). – varocarbas