PDA

View Full Version : سوال: جدا کردن دو کلمه از فایل txt



Rain_Saeid
چهارشنبه 07 مهر 1395, 19:57 عصر
سلام و درود
دوستان عزیز ی فایل متنی txt متغیری هست که هر سری نوشته های داخلش عوض میشه
این فایل متنی با / به دو حرف یا کلمه جداسازی شده

بنده میخوام با برنامه این فایل متنی رو بخونم
سپس دوتا متغیر یا textbox باشه که این دو کلمه که با / جدا سازی شده رو بصورت جدا گانه توی متغیر یا textbox قرار بده

فایل متنی که هست مثلا به این صورت هست :

hi/hwtf
یا
hoid/mead
یا
hy/ds

ممنون میشم راهنمایی بفرمایید

gilsoft
پنج شنبه 08 مهر 1395, 07:34 صبح
سلام و درود
دوستان عزیز ی فایل متنی txt متغیری هست که هر سری نوشته های داخلش عوض میشه
این فایل متنی با / به دو حرف یا کلمه جداسازی شده

بنده میخوام با برنامه این فایل متنی رو بخونم
سپس دوتا متغیر یا textbox باشه که این دو کلمه که با / جدا سازی شده رو بصورت جدا گانه توی متغیر یا textbox قرار بده

فایل متنی که هست مثلا به این صورت هست :

hi/hwtf
یا
hoid/mead
یا
hy/ds

ممنون میشم راهنمایی بفرمایید

سلام دوست عزیز

اینم کد جداسازی:
Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
Dim Filename As String = Application.StartupPath & "\slash.txt"
Using sr As New StreamReader(Filename, System.Text.Encoding.UTF8)
Dim line As String
Dim FindStr As String = ""
Dim words As String() = {}
Do While sr.Peek >= 0
line = sr.ReadLine
Dim pos As Integer = line.IndexOf("/"c)
If pos > 0 Then
Dim n1 As Integer = InStrRev(line, " "c, pos)
Dim n2 As Integer = line.IndexOf(" "c, pos)
If n2 > 0 Then
FindStr = line.Substring(n1, (n2 - n1))
Else
FindStr = line.Substring(n1).Trim
End If
If FindStr.Length > 0 Then
words = FindStr.Split("/"c)
Else
words = {}
End If
End If
If words.Length > 1 Then
TextBox1.Text = words(0)
TextBox2.Text = words(1)
Console.WriteLine("{0} , {1}", words(0), words(1))
End If
Loop
End Using
End Sub
موفق باشید .....

Rain_Saeid
پنج شنبه 08 مهر 1395, 11:02 صبح
با تشکر

با همین دستور جلو رفتم، ولی خروجی که میخوام نمایش بده
خروجی میشه : system.string[]

خودم هم روش کار کرده بودم ، همین خروجی رو میداد، ممنون میشم روش خروجی گرفتن رو هم برام بنویسید

336699
پنج شنبه 08 مهر 1395, 11:54 صبح
سلام

از این کد استفاده کن

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim bekhoon As New System.IO.StreamReader(Application.StartupPath & "\file.txt", True)
While bekhoon.Peek > -1
Dim khoondam() As String = bekhoon.ReadLine.Split("/")
TextBox1.Text = khoondam(0)
TextBox2.Text = khoondam(1)
End While
bekhoon.Close()
End Sub

Rain_Saeid
پنج شنبه 08 مهر 1395, 12:15 عصر
سلام

از این کد استفاده کن

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim bekhoon As New System.IO.StreamReader(Application.StartupPath & "\file.txt", True)
While bekhoon.Peek > -1
Dim khoondam() As String = bekhoon.ReadLine.Split("/")
TextBox1.Text = khoondam(0)
TextBox2.Text = khoondam(1)
End While
bekhoon.Close()
End Sub




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

gilsoft (http://barnamenevis.org/member.php?48971-gilsoft) استاد دست شما هم دردنکنه تشکر

gilsoft
پنج شنبه 08 مهر 1395, 14:19 عصر
با تشکر

با همین دستور جلو رفتم، ولی خروجی که میخوام نمایش بده
خروجی میشه : system.string[]

خودم هم روش کار کرده بودم ، همین خروجی رو میداد، ممنون میشم روش خروجی گرفتن رو هم برام بنویسید

سلام مجدد

من این قطعه کد رو از جایی کپی نگرفتم .. تستش کردم و درست کار می‌کنه :متفکر:

نمیدونم مشکل شما چیه ؟

Rain_Saeid
پنج شنبه 08 مهر 1395, 15:57 عصر
سلام مجدد
من این قطعه کد رو از جایی کپی نگرفتم .. تستش کردم و درست کار می‌کنه :متفکر:
نمیدونم مشکل شما چیه ؟

استاد من نتونستم از دستور شما خروجی بگیرم
بنده جسارت نمیکنم بگم دستور شما اشتباهه
فقط نتونستم خورجی بگیرم ازش