PDA

View Full Version : سوال: نوشتن در فایل



SHD.NET
چهارشنبه 24 آبان 1391, 22:45 عصر
سلام .

من 2 تا تکست در برنامه دارم . یکی نام و دیگری نام خانوادگی باید وارد شود.

می خوام اونو توی فایل متنی ذخیره کنم . بعدشم هر چی نام و فامیلی جدید اضافی کردم الصاق بشه به فایل متنی قبلی .

بعد هم بشه این اطلاعات رو طبقه بندی شده خوند . یعنی بعدش بشه اطلاعات رو توی لیست باکس با کمبو لود کرد.

ممنون

reza-s4t4n
چهارشنبه 24 آبان 1391, 22:52 عصر
برای نوشتن در یک فایل متنی باید از system.io استفاده کنید. یک نمونه میذارم. خودتون طبق کاری که میخوایید واسه برنامتون انجام بدید ، تنظیمش کنید :


Dim wrt As New System.IO.StreamWriter("C:\Rs4.txt")
wrt .WriteLine("Line 1")
wrt .WriteLine("Line 2")
wrt .Close()

SHD.NET
چهارشنبه 24 آبان 1391, 22:54 عصر
امیشه بگید چجوری میشه اونا رو لود کرد ؟؟

مثلا من یه کمبو برای نام ها و یک کمبوباکس برای فامیلی ها دارم .

می خواهم اطلاعات لود بشه و نام هایی که ذخیره شده، در کمبو باکس مربوط به نام ها و فامیلی هایی که ذخیره شده، در کمبو باکس مربوط به خودش جدا لود بشه.

یعنی منظورم اینه که بشه از این روش یه بانک اطلاعاتی کوچیک با امکانات کم درست کرد.
ممنون

reza-s4t4n
چهارشنبه 24 آبان 1391, 23:04 عصر
همون طور که IO میتونه فایل رو بنویسه ، همونطور هم میتونه بخونه . مثال :

Dim reader As New IO.StreamReader("Rs4.txt")
While Not reader.EndOfStream
ComboBox1.Items.Add(reader.ReadLine)
ComboBox2.Items.Add(reader.ReadLine)
End While
reader.Close()

الان این کد ، کاری که میخوایید رو انجام میده.
فقط توجه داشته باشید که اسم و فامیل ، هر کدوم داخل 1 خط در فایل تکست باشن.

SHD.NET
چهارشنبه 24 آبان 1391, 23:06 عصر
نمیشه یه کاری کرد که نام و فامیلی تو یه خط ذخیره شده باشن ولی مثلا با یه تب از هم جدا شده باشن و موقع خوندن هم از هم تشخیص داده بشن و جداگانه تو لیست لود بشن ؟

reza-s4t4n
چهارشنبه 24 آبان 1391, 23:25 عصر
واسه نوشتن از کد زیر استفاده کنید :

If Not IO.File.Exists("C:\Rs4.txt") Then
IO.File.Create("C:\Rs4.txt").Close()
End If

Dim info As String = Nothing

Dim readers As New IO.StreamReader("C:\Rs4.txt")

For Each line In readers.ReadToEnd
info += line
Next

readers.Close()

Dim wrt As New System.IO.StreamWriter("C:\Rs4.txt")
wrt.WriteLine(info)
wrt.WriteLine(TextBox1.Text & Convert.ToChar(9) & TextBox2.Text)
wrt.Close()

واسه خوندن هم از کد زیر :

Dim rs() As String
Dim reader As New IO.StreamReader("C:\Rs4.txt")
Try

While Not reader.EndOfStream
rs = reader.ReadLine.Split(Convert.ToChar(9))
ComboBox1.Items.Add(rs(0))
ComboBox2.Items.Add(rs(1))
End While

Catch ex As Exception

End Try
reader.Close()

امیدوارم کد مشکلی نداشته باشه ، چون خیلی سریع نوشتمش.