ahmad19
جمعه 19 شهریور 1395, 02:49 صبح
سلام
من هر روز یه سری گزاش به دستم می رسه مثل ایمیل ها عضویت در خبرنامه
اینا تو فایل های تکست هستند
می خوام به برنامه با وی بی بنویسم که این فایل رو باهم ادغام کنه و تکراری ها رو حذف کنه و یه خروجی تکست بهم بده
باید از چه توابعی استفاده کنم برا ادغام و حذف موارد تکراری ؟
ممنون
gilsoft
یک شنبه 21 شهریور 1395, 00:48 صبح
سلام دوست عزیز
اینم کدی که میخواستی:
Imports System.IO
Public Class Form1
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
With OpenFileDialog1
.AddExtension = True
.CheckPathExists = False
.CheckFileExists = False
.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*"
.FilterIndex = 1
.Multiselect = True
.RestoreDirectory = True
.SupportMultiDottedExtensions = True
End With
With SaveFileDialog1
.AddExtension = True
.CheckFileExists = False
.CheckPathExists = True
.DefaultExt = "txt"
.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*"
.FilterIndex = 1
.InitialDirectory = Application.StartupPath
.SupportMultiDottedExtensions = True
End With
With FolderBrowserDialog1
.SelectedPath = Application.StartupPath
.ShowNewFolderButton = True
End With
End Sub
Private Sub btnExit_Click(sender As System.Object, e As System.EventArgs) Handles btnExit.Click
Application.Exit()
End Sub
Private Sub SaveFileDialog1_FileOk(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles SaveFileDialog1.FileOk
Dim FileReader As StreamReader
Dim temp As String
If File.Exists(SaveFileDialog1.FileName) Then File.Delete(SaveFileDialog1.FileName)
For i As Integer = 0 To LstFiles.Items.Count - 1
FileReader = File.OpenText(LstFiles.Items.Item(i))
temp = FileReader.ReadToEnd
File.AppendAllText(SaveFileDialog1.FileName, temp, System.Text.Encoding.UTF8)
Next
Dim prompt As String = String.Concat(lbl_NoOfFiles.Text, " files merged succesfully")
MessageBox.Show(prompt, "Merge", MessageBoxButtons.OK, MessageBoxIcon.Information)
LstFiles.Items.Clear() : lbl_NoOfFiles.Text = "0"
End Sub
Private Sub BtnFileMerge_Click(sender As System.Object, e As System.EventArgs) Handles BtnFileMerge.Click
OpenFileDialog1.ShowDialog()
Dim files() As String = OpenFileDialog1.FileNames
For i As Integer = 0 To files.Length - 1
LstFiles.Items.Add(files(i))
Next
End Sub
Private Sub BtnFolderMerge_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnFolderMerge.Click
FolderBrowserDialog1.ShowDialog()
Dim files() As String = Directory.GetFiles(FolderBrowserDialog1.SelectedPa th, "*.txt")
For i As Integer = 0 To files.Length - 1
LstFiles.Items.Add(files(i))
Next
Label2.Visible = True
lbl_NoOfFiles.Text = CStr(LstFiles.Items.Count)
lbl_NoOfFiles.Visible = True
End Sub
Private Sub btnMerge_Click(sender As System.Object, e As System.EventArgs) Handles btnMerge.Click
SaveFileDialog1.ShowDialog()
End Sub
Private Sub btnRemove_Click(sender As System.Object, e As System.EventArgs) Handles btnRemove.Click
If LstFiles.Items.Count > 0 Then
If LstFiles.SelectedIndex >= 0 Then
LstFiles.Items.RemoveAt(LstFiles.SelectedIndex)
End If
End If
End Sub
End Class
فقط اون قسمت چک کردن فایلهای تکراری رو ننوشتم ( البته نوشتنش کاری نداره .. ولی بهتره خودت تحقیق کنی )
اینم لینک دانلود پروژه:
MergeTextFiles_Ver1_0.rar (http://s6.picofile.com/d/abb9462b-46c4-4b55-9603-ce9500b59dc3/MergeTextFiles_Ver1_0.rar)
http://s6.picofile.com/d/abb9462b-46c4-4b55-9603-ce9500b59dc3/MergeTextFiles_Ver1_0.rar
موفق باشید .....
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.