3 / 3 / 1
Регистрация: 25.03.2011
Сообщений: 178
1

Осуществить чтение текста из файла с разбивкой на слова

09.09.2014, 23:20. Показов 1322. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задача в разбиении текста на слова. В качестве разделителя пробел.
Сначала хотел в этом цикле сделать дописывание строк в символьный массив arr, но arr = arr & Split(var) не работает.
Visual Basic
1
2
3
4
Do While Not EOF(1)
    Line Input #1, var
    arr = Split(var)
Loop
Потом решил сделать замену перехода к новой строке на пробел, но никаких изменений не наблюдаю. Как её произвести?
Visual Basic
1
2
3
4
5
6
Do While Not EOF(1)
    Line Input #1, var
    var = Replace(var, Chr(13), Chr(32))
    res = res & var
Loop
arr = Split(res)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.09.2014, 23:20
Ответы с готовыми решениями:

Не получается осуществить чтение из файла
Здравствуйте. У меня не получаеться осуществить чтение из файла, то есть код компилируется, но...

Как осуществить чтение текстового файла
Добрый день, я абсолютный лол в программировании, поэтому столкнулся с проблемой. Не могу...

Как осуществить чтение из текстового файла
Приветик всем, я хотела бы спросить. Вот я создала блокнот и ввела там пароль для входа в программу...

Не удается осуществить запись и чтение файла
вот код для записи файла: JButton ButtonZapis = new...

8
Заблокирован
10.09.2014, 07:15 2
Может так? -
Visual Basic
1
2
3
4
5
6
Do While Not EOF(1)
    Line Input #1, var
    'var = Replace(var, Chr(13), Chr(32))
    res = res & " " & var
Loop
arr = Split(trim$(res))
2
3 / 3 / 1
Регистрация: 25.03.2011
Сообщений: 178
10.09.2014, 10:35  [ТС] 3
Тоже выход.
0
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
10.09.2014, 11:56 4
Может так?
Visual Basic
1
a=Split(CreateObject("Scripting.FileSystemObject").Getfile(Name).OpenasTextStream(1).ReadAll, " ")
Если слова в файле с новой строки. то
Visual Basic
1
a=Split(CreateObject("Scripting.FileSystemObject").Getfile(Name).OpenasTextStream(1).ReadAll, vbNewLine)
Здесь на форуме нашёл
0
Заблокирован
11.09.2014, 15:11 5
Проффесиональный подход
присутствуют абсолютно все аттрибуты комфортной работы
с экселем, и файловой системой..



Пример.rar (50.1 Кб)

Добавлено через 3 минуты
Портянка кода..
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Option Explicit
 
Private Declare Function UGCollection Lib "UGVB6" () As Collection
Dim ugo As Object, ugt As Object
Private Sub UserForm_Initialize()
    ChDir ThisWorkbook.Path
    Set ugo = UGCollection("ugobj")
End Sub
Private Sub CommandButton1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal y As Single)
    Dim s$, jx$(), jy$(), sh
    On Error Resume Next
    TextBox1 = ugo.OpenSave(Me)(0)
    s = CreateObject("scripting.filesystemobject").Opentextfile(TextBox1).readall
    If Len(s) Then
        Set sh = WoSh("Новый файл", True)
        With sh
            jy = Split(s, vbCrLf)
            For y = 1 To UBound(jy) + 1
                jx = Split(jy(y - 1), vbTab)
                For x = 1 To UBound(jx) + 1
                    .Cells(y, x) = jx(x - 1)
                Next
            Next
        End With
        sh.Activate
    End If
    End
End Sub
Public Function WoSh(ByVal Name As String, Optional ReCreate As Boolean, Optional Color&) As Worksheet
    On Error Resume Next
    With ThisWorkbook
        Set WoSh = .Sheets(Name)
        If ReCreate Or (WoSh Is Nothing) Then
            WoSh.Delete
            Set WoSh = .Sheets.Add(After:=Sheets(.Sheets.Count))
            WoSh.Name = Name
        End If
        If Color Then WoSh.Tab.Color = Color
    End With
End Function
 
Private Sub UserForm_Terminate()
    Set ugo = Nothing
End Sub
Добавлено через 9 минут
Забыл вписать в код это..
Application.DisplayAlerts = 0

Добавлено через 58 секунд
Вот.., это чтоб параноидальный VBA, не прикапывался
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Option Explicit
Private Declare Function UGCollection Lib "UGVB6" () As Collection
Dim ugo As Object, ugt As Object
Private Sub UserForm_Initialize()
    ChDir ThisWorkbook.Path
    Set ugo = UGCollection("ugobj")
End Sub
Private Sub CommandButton1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal y As Single)
    Dim s$, jx$(), jy$(), sh
    On Error Resume Next
    TextBox1 = ugo.OpenSave(Me)(0)
    s = CreateObject("scripting.filesystemobject").Opentextfile(TextBox1).readall
    If Len(s) Then
        Application.DisplayAlerts = 0
        Set sh = WoSh("Новый файл", True)
        With sh
            jy = Split(s, vbCrLf)
            For y = 1 To UBound(jy) + 1
                jx = Split(jy(y - 1), vbTab)
                For x = 1 To UBound(jx) + 1
                    .Cells(y, x) = jx(x - 1)
         Next: Next: End With:
        sh.Activate
    End If
    End
End Sub
Public Function WoSh(ByVal Name As String, Optional ReCreate As Boolean, Optional Color&) As Worksheet
    On Error Resume Next
    With ThisWorkbook
        Set WoSh = .Sheets(Name)
        If ReCreate Or (WoSh Is Nothing) Then
            WoSh.Delete
            Set WoSh = .Sheets.Add(After:=Sheets(.Sheets.Count))
            WoSh.Name = Name
        End If
        If Color Then WoSh.Tab.Color = Color
    End With
End Function
 
Private Sub UserForm_Terminate()
    Set ugo = Nothing
End Sub
Добавлено через 9 минут
Вот еще лучше


Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Option Explicit
Private Declare Function UGCollection Lib "UGVB6" () As Collection
Dim ugo As Object, ugt As Object
Private Sub UserForm_Initialize()
    ChDir ThisWorkbook.Path
    Set ugo = UGCollection("ugobj")
End Sub
Private Sub CommandButton1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal y As Single)
    Dim s$, jx$(), jy$(), sh, fso, sName$
    On Error Resume Next
    sName = ugo.OpenSave(Me)(0)
    Set fso = CreateObject("scripting.filesystemobject")
    TextBox1 = fso.getbasename(sName)
    s = fso.Opentextfile(sName).readall
    If Len(s) Then
        Application.DisplayAlerts = 0
        Set sh = WoSh(TextBox1, True)
        With sh
            jy = Split(s, vbCrLf)
            For y = 1 To UBound(jy) + 1
                jx = Split(jy(y - 1), vbTab)
                For x = 1 To UBound(jx) + 1
                    .Cells(y, x) = jx(x - 1)
         Next: Next: End With:
        sh.Activate
    End If
    End
End Sub
Public Function WoSh(ByVal Name As String, Optional ReCreate As Boolean, Optional Color&) As Worksheet
    On Error Resume Next
    With ThisWorkbook
        Set WoSh = .Sheets(Name)
        If ReCreate Or (WoSh Is Nothing) Then
            WoSh.Delete
            Set WoSh = .Sheets.Add(After:=Sheets(.Sheets.Count))
            WoSh.Name = Name
        End If
        If Color Then WoSh.Tab.Color = Color
    End With
End Function
 
Private Sub UserForm_Terminate()
    Set ugo = Nothing
End Sub
0
2785 / 717 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
11.09.2014, 15:36 6
Цитата Сообщение от Антихакер32 Посмотреть сообщение
Проффесиональный подход
Простите, но буквы UG (УГ) в начале названия библиотеки у меня ассоциируются с чем-то другим
1
Заблокирован
11.09.2014, 23:05 7
Цитата Сообщение от mc-black Посмотреть сообщение
Простите, но буквы UG (УГ) в начале названия библиотеки у меня ассоциируются с чем-то другим
Понятно, что вас развеселило..
но к этой DLL это оно самое, не относится, уж поверьте

Кликните здесь для просмотра всего текста


Добавлено через 2 минуты
Там подразумевалось слово UpGrade..
0
The trick
12.09.2014, 00:23
  #8

Не по теме:

mc-black, :D . Это реклама

0
Заблокирован
12.09.2014, 00:29 9

Не по теме:

Модэраторы!, погрозите им ..чтоб они не смеялись над моей dll-кой... :)



Добавлено через 3 минуты
а я пока название поменяю...
0
12.09.2014, 00:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.09.2014, 00:29
Помогаю со студенческими работами здесь

Осуществить чтение из типизированного файла в StringGrid
как осуществить чтение из типизированного файла в стринг грид (через динамический список), что бы...

Запись текста в файл, чтение текста из файла, перепись текста из одного файла в другой файл
Составить программу, в которой организованы следующие действия: запись текста в файл, чтение...

Как осуществить чтение файла и подсчет строк?
видимо на форуме уже обсуждалась такая тема,но я все такие не смог найти то что мне надо,так что...

Осуществить чтение из файла, цикл поиска в файле и переформатирование
чтение из файла цикл поиска в файле и переформатирование уважаемые программисты! есть текстовый...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru