更好的方法来保存用户的文件数据而不是写文本文件? [英] Better way to save file data from a user instead of writting a text file?
问题描述
是否有更好的方式来读取和写入文本而不是这样做?我可以不做其他事情,而不是让用户能够写入文本文件,或者像我对此做的那样是给它一个独特的扩展。这是使用保存文件和打开文件选项的唯一方法。
Is there better way to read and write a text instead of doing it this way? Can I not do something else instead of giving the user the ability to write to text file or like what i did with this one is give it a unique extension. Is this the only wy of using save file and open file options.
Dim FILE_NAME As String = FileDataStorage.OpenFileTextBox1.Text
Try
If System.IO.File.Exists(FILE_NAME) = True Then
Dim objWriter As New System.IO.StreamWriter(FILE_NAME)
objWriter.WriteLine ( Form1 . GTextBox1 .Text )
objWriter.WriteLine ( Form1 . GTextBox2 .Text )
objWriter.WriteLine ( Form1 . GTextBox3 .Text )
objWriter.WriteLine ( Form1 . GTextBox4 .Text )
objWriter.WriteLine ( Form1 . GTextBox5 .Text )
objWriter.WriteLine ( Form1 . GTextBox6 .Text )
objWriter.WriteLine ( Form1 . GTextBox7 .Text )
objWriter.WriteLine ( Form1 . GTextBox8 .Text )
objWriter.WriteLine ( Form1 . GTextBox9 .Text )
objWriter.WriteLine ( Form1 . GTextBox10 .Text )
objWriter.WriteLine ( Form1 . GTextBox11 .Text )
objWriter.WriteLine ( Form1 . ComboBox1 .Text )
objWriter.WriteLine ( Form1 . ComboBox2 .Text )
objWriter.WriteLine ( Form1 . ComboBox3 .Text )
objWriter.WriteLine ( Form1 . ComboBox4 .Text )
objWriter.WriteLine ( Form1 . ComboBox5 .Text )
objWriter.WriteLine ( Form1 . ComboBox6 .Text )
objWriter.WriteLine ( Form1 . ComboBox7 .Text )
objWriter.WriteLine ( Form1 . ComboBox8 .Text )
objWriter.WriteLine ( Form1 . ComboBox9 .Text )
objWriter.WriteLine ( Form1 . ComboBox10 .Text )
objWriter.WriteLine ( Form1 . ComboBox11 .Text )
objWriter.WriteLine ( Form1 . ComboBox12 .Text )
objWriter.WriteLine ( Form1 . ComboBox13 .Text )
objWriter.WriteLine ( Form1 . ComboBox14 .Text )
objWriter.WriteLine ( Form1 . ComboBox15 .Text )
objWriter.WriteLine ( Form1 . ComboBox16 .Text )
objWriter.WriteLine ( Form1 . ComboBox17 .Text )
objWriter.WriteLine ( Form1 . ComboBox18 .Text )
objWriter.WriteLine ( Form1 . ComboBox19 .Text )
objWriter.WriteLine ( Form1 . ComboBox20 .Text )
objWriter.WriteLine ( Form2 . TextBox1 .Text )
objWriter.WriteLine ( Form2 . TextBox2 .Text )
objWriter.WriteLine ( Form2 . TextBox3 .Text )
objWriter.WriteLine ( Form2 . TextBox4 .Text )
objWriter.WriteLine ( Form2 . TextBox5 .Text )
objWriter.WriteLine ( Form2 . TextBox6 .Text )
objWriter.WriteLine ( Form2 . TextBox7 .Text )
objWriter.WriteLine ( Form2 . TextBox8 .Text )
objWriter.WriteLine ( Form2 . TextBox9 .Text )
objWriter.WriteLine ( Form2 . TextBox10 .Text )
objWriter.WriteLine ( Form2 . TextBox11 .Text )
objWriter.WriteLine ( Form2 . TextBox12 .Text )
objWriter.WriteLine ( Form2 . TextBox13 .Text )
objWriter.WriteLine ( Form2 . TextBox14 .Text )
objWriter.WriteLine ( Form2 . TextBox15 .Text )
objWriter.WriteLine ( Form2 . TextBox16 .Text )
objWriter.WriteLine ( Form2 . TextBox17 .Text )
objWriter.WriteLine ( Form2 . TextBox18 .Text )
objWriter.WriteLine ( Form2 . TextBox19 .Text )
objWriter.WriteLine ( Form2 . TextBox20 .Text )
objWriter.WriteLine ( Form2 . TextBox21 .Text )
objWriter.WriteLine ( Form2 . TextBox22 .Text )
objWriter.WriteLine ( Form2 . TextBox23 .Text )
objWriter.WriteLine ( Form2 . TextBox24 .Text )
objWriter.WriteLine ( Form2 . TextBox25 .Text )
objWriter.WriteLine ( Form2 . TextBox26 .Text )
objWriter.WriteLine ( Form2 . TextBox27 .Text )
objWriter.WriteLine ( Form2 . TextBox28 .Text )
objWriter.WriteLine ( Form2 . TextBox29 .Text )
objWriter.WriteLine ( Form2 . TextBox30 .Text )
objWriter.WriteLine ( Form2 . TextBox31 .Text )
objWriter.WriteLine ( Form2 . TextBox32 .Text )
objWriter.WriteLine ( Form2 . TextBox33 .Text )
objWriter.WriteLine ( Form2 . TextBox34 .Text )
objWriter.WriteLine ( Form2 . TextBox35 .Text )
objWriter.WriteLine ( Form2 . TextBox36 .Text )
objWriter.WriteLine ( Form2 . TextBox37 .Text )
objWriter.WriteLine ( Form2 . TextBox38 .Text )
objWriter.WriteLine ( Form2 . TextBox39 .Text )
objWriter.WriteLine ( Form2 . TextBox40 .Text )
objWriter.WriteLine ( Form2 . TextBox41 .Text )
objWriter.WriteLine ( Form2 . TextBox42 .Text )
objWriter.WriteLine ( Form2 . TextBox43 .Text )
objWriter.WriteLine ( Form2 . TextBox44 .Text )
objWriter.WriteLine ( Form2 . TextBox45 .Text )
objWriter.WriteLine ( Form2 . TextBox46 .Text )
objWriter.WriteLine ( Form2 . TextBox47 .Text )
objWriter.WriteLine ( Form2 . TextBox48 .Text )
objWriter.WriteLine ( Form2 . TextBox49 .Text )
objWriter.WriteLine ( Form2 . TextBox50 .Text )
objWriter.WriteLine ( Form2 . TextBox51 .Text )
objWriter.WriteLine ( Form2 . TextBox52 .Text )
objWriter.WriteLine ( Form2 . TextBox53 .Text )
objWriter.WriteLine ( Form2 . TextBox54 .Text )
objWriter.WriteLine ( Form2 . TextBox55 .Text )
objWriter.WriteLine ( Form2 . TextBox56 .Text )
objWriter.WriteLine ( Form2 . TextBox57 .Text )
objWriter.WriteLine ( Form2 . TextBox58 .Text )
objWriter.WriteLine ( Form2 . TextBox59 .Text )
objWriter.WriteLine ( Form2 . TextBox60 .Text )
objWriter.WriteLine ( Form2 . TextBox61 .Text )
objWriter.WriteLine ( Form2 . TextBox62 .Text )
objWriter.WriteLine ( Form2 . TextBox63 .Text )
objWriter.WriteLine ( Form2 . TextBox64 .Text )
objWriter.WriteLine ( Form2 . TextBox65 .Text )
objWriter.WriteLine ( Form2 . TextBox66 .Text )
objWriter.WriteLine ( Form2 . TextBox67 .Text )
objWriter.WriteLine ( Form2 . TextBox68 .Text )
objWriter.WriteLine ( Form2 . TextBox69 .Text )
objWriter.WriteLine ( Form2 . TextBox70 .Text )
objWriter.WriteLine ( Form2 . TextBox71 .Text )
objWriter.WriteLine ( Form2 . TextBox72 .Text )
objWriter.WriteLine ( Form2 . TextBox73 .Text )
objWriter.WriteLine ( Form2 . TextBox74 .Text )
objWriter.WriteLine ( Form2 . TextBox75 .Text )
objWriter.WriteLine ( Form2 . TextBox76 .Text )
objWriter.WriteLine ( Form2 . TextBox77 .Text )
objWriter.WriteLine ( Form2 . TextBox78 .Text )
objWriter.WriteLine ( Form2 . TextBox79 .Text )
objWriter.WriteLine ( Form2 . TextBox80 .Text )
objWriter.WriteLine ( Form2 . TextBox81 .Text )
objWriter.WriteLine ( Form2 . TextBox82 .Text )
objWriter.WriteLine ( Form2 . TextBox83 .Text )
objWriter.WriteLine ( Form2 . TextBox84 .Text )
objWriter.WriteLine ( Form2 . TextBox85 .Text )
objWriter.WriteLine ( Form2 . TextBox86 .Text )
objWriter.WriteLine ( Form2 . TextBox87 .Text )
objWriter.WriteLine ( Form2 . TextBox88 .Text )
objWriter.WriteLine ( Form2 . TextBox89 .Text )
objWriter.WriteLine ( Form2 . TextBox90 .Text )
objWriter.WriteLine ( Form2 . TextBox91 .Text )
objWriter.WriteLine ( Form2 . TextBox92 .Text )
objWriter.WriteLine ( Form2 . TextBox93 .Text )
objWriter.WriteLine ( Form2 . TextBox94 .Text )
objWriter.WriteLine ( Form2 . TextBox95 .Text )
objWriter.WriteLine ( Form2 . TextBox96 .Text )
objWriter.WriteLine ( Form2 . TextBox97 .Text )
objWriter.WriteLine ( Form2 . TextBox98 .Text )
objWriter.WriteLine ( Form2 . TextBox99 .Text )
objWriter.WriteLine ( Form2 . TextBox100 .Text )
objWriter.WriteLine ( Form2 . TextBox101 .Text )
objWriter.WriteLine ( Form2 . TextBox102 .Text )
objWriter.WriteLine ( Form2 . TextBox103 .Text )
objWriter.WriteLine ( Form2 . TextBox104 .Text )
objWriter.WriteLine ( Form2 . TextBox105 .Text )
objWriter.WriteLine ( Form2 . TextBox106 .Text )
objWriter.WriteLine ( Form2 . TextBox107 .Text )
objWriter.WriteLine ( Form2 . TextBox108 .Text )
objWriter.WriteLine ( Form2 . TextBox109 .Text )
objWriter.WriteLine ( Form2 . TextBox110 .Text )
objWriter.WriteLine ( Form2 . TextBox111 .Text )
objWriter.WriteLine ( Form2 . TextBox112 .Text )
objWriter.WriteLine ( Form2 . TextBox113 .Text )
objWriter.WriteLine ( Form2 . TextBox114 .Text )
objWriter.WriteLine ( Form2 . TextBox115 .Text )
objWriter.WriteLine ( Form2 . TextBox116 .Text )
objWriter.WriteLine ( Form2 . TextBox117 .Text )
objWriter.WriteLine ( Form2 . TextBox118 .Text )
objWriter.WriteLine ( Form2 . TextBox119 .Text )
objWriter.WriteLine ( Form2 . TextBox120 .Text )
objWriter.WriteLine ( Form2 . TextBox121 .Text )
objWriter.WriteLine ( Form2 . TextBox122 .Text )
objWriter.WriteLine ( Form2 . TextBox123 .Text )
objWriter.WriteLine ( Form2 . TextBox124 .Text )
objWriter.WriteLine ( Form2 . TextBox125 .Text )
objWriter.WriteLine ( Form2 . TextBox126 .Text )
objWriter.WriteLine ( Form2 . TextBox127 .Text )
objWriter.WriteLine ( Form2 . TextBox128 .Text )
objWriter.WriteLine ( Form2 . TextBox129 .Text )
objWriter.WriteLine ( Form2 . TextBox130 .Text )
objWriter.WriteLine ( Form2 . TextBox131 .Text )
objWriter.WriteLine ( Form2 . TextBox132 .Text )
objWriter.WriteLine ( Form2 . TextBox133 .Text )
objWriter.WriteLine ( Form2 . TextBox134 .Text )
objWriter.WriteLine ( Form2 . TextBox135 .Text )
objWriter.WriteLine ( Form2 . TextBox136 .Text )
objWriter.WriteLine ( Form2 . TextBox137 .Text )
objWriter.WriteLine ( Form2 . TextBox138 .Text )
objWriter.WriteLine ( Form2 . TextBox139 .Text )
objWriter.WriteLine ( Form2 . TextBox140 .Text )
objWriter.WriteLine ( Form2 . TextBox141 .Text )
objWriter.WriteLine ( Form2 . TextBox142 .Text )
objWriter.WriteLine ( Form2 . TextBox143 .Text )
objWriter.WriteLine ( Form2 . TextBox144 .Text )
objWriter.WriteLine ( Form2 . TextBox145 .Text )
objWriter.WriteLine ( Form2 . TextBox146 .Text )
objWriter.WriteLine ( Form2 . TextBox147 .Text )
objWriter.WriteLine ( Form2 . TextBox148 .Text )
objWriter.WriteLine ( Form2 . TextBox149 .Text )
objWriter.WriteLine ( Form2 . TextBox150 .Text )
objWriter.WriteLine ( Form2 . TextBox151 .Text )
objWriter.WriteLine ( Form2 . TextBox152 .Text )
objWriter.WriteLine ( Form2 . TextBox153 .Text )
objWriter.WriteLine ( Form2 . TextBox154 .Text )
objWriter.WriteLine ( Form2 . TextBox155 .Text )
objWriter.WriteLine ( Form2 . TextBox156 .Text )
objWriter.WriteLine ( Form2 . TextBox157 .Text )
objWriter.WriteLine ( Form2 . TextBox158 .Text )
objWriter.WriteLine ( Form2 . TextBox159 .Text )
objWriter.WriteLine ( Form2 . TextBox160 .Text )
objWriter.WriteLine ( Form2 . ComboBox1 .Text )
objWriter.Close()
MsgBox("Data written to file")
Else
''Do Nothing
End If
Catch ex As Exception
End Try
</pr<pre lang="vb">
e>
推荐答案
您是否只想拥有持久数据?如果是这样,有很多选项。
如果您有很多用户,我建议您使用关系数据库,例如SqlLite,SqlServer或MySql。
如果你有一个用户,这可能没有必要。您可能只需要将数据导出到文件。有许多数据格式通常足以满足您的应用程序。常见的包括CSV和XML。
但是,如果你要求更多的代码更少......重复,我建议使用迭代;类似这样的事情:
Are you looking just to have persistent data? If so, there are a number of options.
If you have many users, I recommend looking into using a relational database, such as SqlLite, SqlServer, or MySql.
If you have a single user, this may not be necessary. You may just need to export data to a file. There are a number of data formats that would typically suffice for your application. Common ones include CSV and XML.
However, if you are asking more along the lines of making your code a bit less...repetitive, I would recommend using iteration; something like this:
For Each ctrl As Control In Form1.Controls
If ctrl.GetType() = GetType(TextBox) Or ctrl.GetType() = GetType(ComboBox) Then
objWriter.WriteLine(ctrl.Text)
End If
Next
您可以对Form2使用相同的代码,甚至可以迭代多个表格。
当然,您可能想要替换WriteLine具有不同功能的代码,具体取决于您是否更改导出方式data。
You could use the same code for Form2, or even iterate over a number of Forms.
Of course, you may want to replace the WriteLine code with a different function, depending on whether you change how you export the data.
我将数据绑定到XML数据源。我会附加和事件到最后一个控件,一个改变或类似的东西将保存我的整个数据源。
I would data bind my controls to an XML data source. I would attach and event to the last control, an on change or something like that which would save my entire data source.
这篇关于更好的方法来保存用户的文件数据而不是写文本文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!