Мой Kbyte.Ru
Рассылка Kbyte.Ru
Группы на Kbyte.Ru
Партнеры Kbyte.Ru
Реклама
Сделано руками
Сделано руками
> Исходные коды - Валерий (Cucumber) -

Visual Basic .NET - Файлы и папки

Все примеры / Файлы и папки

Открываем и анализируем текстовый файл с разделителями табуляции

Автор: Валерий (Cucumber) | добавлено: 06.03.2010, 14:06 | просмотров: 2946 (1+) | комментариев: 0 | рейтинг: *x1
Пример работы с System.Windows.Forms.OpenFileD ialog и Microsoft.VisualBasic.FileIO.T extFieldParser.
Код взят из текста формы Form1.

Инструкции

Представлен, как пример и работать не будет без соответственной формы, лэйблов, предподготовленных массивов, процедур инициализации и кнопок.
Но, думаю, кому надо - разберутся. Ибо, - все очень наглядно. :)

Код

Dim key As Integer
Dim rez As Windows.Forms.DialogResult
Try
 OpenFileDialog1.CheckFileExists = True
 OpenFileDialog1.CheckPathExists = True
 OpenFileDialog1.DefaultExt = "txt"
 OpenFileDialog1.DereferenceLinks = True
 OpenFileDialog1.Filter = "Text files (*.txt)|*.txt|All files|*.*"
 OpenFileDialog1.Multiselect = False
 OpenFileDialog1.RestoreDirectory = True
 OpenFileDialog1.ShowReadOnly = False
 OpenFileDialog1.ReadOnlyChecked = False
 OpenFileDialog1.Title = "Текстовый файл. Открыть..."
 rez = OpenFileDialog1.ShowDialog
 If rez = Windows.Forms.DialogResult.OK Then
  ToolStripStatusLabel1.Text = "Выполняется загрузка. Ждите..."
  ToolStripStatusLabel1.Visible = True
  ToolStripProgressBar1.Visible = True
  ToolStripProgressBar1.Invalidate()
Dim firstDate As Date
  firstDate = Now
  Using MyReader As New Microsoft.VisualBasic.FileIO.TextFieldParser( _
  OpenFileDialog1.FileName, Encoding.GetEncoding(1251), True)
   MyReader.TextFieldType = FileIO.FieldType.Delimited
   MyReader.Delimiters = New String() {vbTab}
Dim currentRow As String()
Dim ssss As String
Dim dr As String
   While Not MyReader.EndOfData
    key += 1
Dim inst As New CivilSps()
    Try
     currentRow = MyReader.ReadFields()
     inst.nPP = CStr(key)
     inst.Adres = Trim(Trim(UCase(currentRow.GetValue(67))) & " д. " & _
         Trim(UCase(currentRow.GetValue(68))) & " к. " & _
         Trim(UCase(currentRow.GetValue(69))))
     dr = Trim(currentRow.GetValue(4))
     dr = dr.Replace("/", ".")
     inst.DatR = dr
     inst.DocDat = Trim(currentRow.GetValue(44))
     names.Add(inst, CStr(key))
    Catch ex As Microsoft.VisualBasic.FileIO.MalformedLineException
     MsgBox("Line " & ex.Message & _
     "is not valid and will be skipped.")
    End Try
    My.Application.DoEvents()
   End While
  End Using
  Label1.Text = "Количество строк: " & names.Count
  Label3.Text = "Время загрузки: " & DateDiff(DateInterval.Second, firstDate, Now) & " сек."
 End If
Catch ex As Exception
 MsgBox(ex.Message, MsgBoxStyle.Exclamation, Me.Text)
 ToolStripStatusLabel1.Text = "Загрузка завершена с ОШИБКОЙ."
 ToolStripProgressBar1.Visible = False
End Try
ToolStripStatusLabel1.Text = "Загрузка успешно завершена."
ToolStripProgressBar1.Visible = False
Button1.Enabled = False
Об авторе

Валерий (Cucumber)

Нет информации об авторе...

См. также:
Профиль автора
Валерий (Cucumber)
Последние комментарии (всего: 0)

Добавлять комментарии могут только зарегистрированные пользователи сайта.
Если у Вас уже есть учетная запись на Kbyte.Ru, пройдите процедуру авторизации OpenID.
Если Вы еще не зарегистрированы на Kbyte.Ru - зарегистрируйтесь.


Нет комментариев...

Авторизация
 
OpenID
Зарегистрируйся и получи 10% скидку на добавление своего сайта в каталоги! Подробнее »
Поиск по сайту
Люди на Kbyte.Ru
Реклама
Счетчики