Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Chaynik2
0 / 0 / 0
Регистрация: 15.11.2015
Сообщений: 6
1

Копирование определенных строк с одного .txt на другой *.txt

15.11.2015, 11:23. Просмотров 823. Ответов 7
Метки нет (Все метки)

Ребзи помогите пожалуйста. Задача такая, есть текстовой файл с множ-во строк. Нужно вытащить оттуда фразу и записать в другой текстовой файл.
Дано:
111.txt '-в этом текстовом файле 1000 строк'
1)Нужно из этого файла, найти слово sende(отправитель) и receiver(получатель);
2) скопировать 4 строки после sender, receiver и записать в другой 222.txt файл.

Текстовый файл примерно выглядит так:
Asvoi found cell
Shanks Leah
Sender:
Lions Ltd Company
Ad.Trutskogo street 12
Post code 101029
Ph.number : 84957088888
Bla odoudhd hsgsh
Fdurbd focmfndn
Receiver:
OOO Romashka
Ad. Solovev street 15/7
Post code 18262
Ph.number: 84956362637

Jdjdjd jdjdjdjd jdjdjdjd lla

Так как новичок в Visual Basic 6, пожалуйста сделайте так чтобы я смог запустить )))))
Заранее благодарю !
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2015, 11:23
Ответы с готовыми решениями:

Функция для перекодировки txt DOS -> txt Windows
Есть ли функция вышеуказанной перекодировки строк?

Как взять из файла INPUT.txt два числа, увеличить каждое из них на 1 и записать в OUTPUT.txt
Пишу последние года 2 на плюсах и C#. Сейчас появилась необходимость реализации...

txt
требуется помощь в решении задачи по работе с txt файлами в программе...

DataGridView в .txt
Добрый вечер. Делаю програмку. В DataGridView имею пять столбцов. Как построчно...

Работа с *.txt
Подскажите пожалуйста, как реализовать поиск в текстовом файле, а после...

7
Казанский
14349 / 5957 / 1581
Регистрация: 24.09.2011
Сообщений: 9,381
15.11.2015, 13:28 2
Лучший ответ Сообщение было отмечено Chaynik2 как решение

Решение

Chaynik2, можно скриптом сделать. Сделал аналогично скрипту в этой теме, там же описано использование скрипта: Извлечение необходимой информации из текстового файла
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
Option Explicit
 
Dim infile, outfile, i, fso, arg, extp
If WScript.Arguments.Count = 0 Then
  MsgBox "Использование:" & vbLf & _
    WScript.scriptname & " ИмяФайла1 ИмяФайла2 ..." & vbLf & _
    "или выделите один или несколько файлов в Проводнике и перетащите их на значок скрипта."
  WScript.Quit
End If
Set fso = CreateObject("scripting.filesystemobject")
For Each arg In Array("c:\temp\111.txt", "c:\temp\Копия 111.txt")
  Set infile = fso.opentextfile(arg)
  extp = InStrRev(arg, ".")
  Set outfile = fso.createtextfile(Left(arg, extp - 1) & "_1" & Mid(arg, extp))
  Do While Not infile.atendofstream
    Select Case LCase(infile.readline)
    Case "sender:", "receiver:"
      For i = 1 To 4
        If Not infile.atendofstream Then
          outfile.writeline infile.readline
        Else
          Exit Do
        End If
      Next
    End Select
  Loop
Next
2
Chaynik2
0 / 0 / 0
Регистрация: 15.11.2015
Сообщений: 6
18.11.2015, 16:14  [ТС] 3
Спасибо большое!
еще один вопрос, если мне нужно копировать с этими ключевыми словами (sender: _____), то где изменится в коде ?
0
Казанский
14349 / 5957 / 1581
Регистрация: 24.09.2011
Сообщений: 9,381
18.11.2015, 18:06 4
Chaynik2, за что спасибо-то? Он же не работает как обещано - в 11 строке осталась отладочная информация (отлаживал в VBA, где WScript недоступен).
Цитата Сообщение от Chaynik2 Посмотреть сообщение
sender: _____
Это значит, что следующая строка после "sender:", "receiver:" должна попасть в эту же строку? Так попробуйте:
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
Option Explicit
 
Dim infile, outfile, i, fso, arg, extp, s
If WScript.Arguments.Count = 0 Then
  MsgBox "Использование:" & vbLf & _
    WScript.scriptname & " ИмяФайла1 ИмяФайла2 ..." & vbLf & _
    "или выделите один или несколько файлов в Проводнике и перетащите их на значок скрипта."
  WScript.Quit
End If
Set fso = CreateObject("scripting.filesystemobject")
For Each arg In WScript.Arguments
  Set infile = fso.opentextfile(arg)
  extp = InStrRev(arg, ".")
  Set outfile = fso.createtextfile(Left(arg, extp - 1) & "_1" & Mid(arg, extp))
  Do While Not infile.atendofstream
  s = infile.readline
  Select Case LCase(s)
    Case "sender:", "receiver:"
      outfile.write s
      For i = 1 To 4
        If Not infile.atendofstream Then
          outfile.writeline infile.readline
        Else
          Exit Do
        End If
      Next
    End Select
  Loop
Next
1
Chaynik2
0 / 0 / 0
Регистрация: 15.11.2015
Сообщений: 6
18.11.2015, 19:06  [ТС] 5
Казанский, получилось! еще раз спасибо.
p.s: если я хочу символом "---" после каждого найденного разделить, то в блок case нужно добавить
outfile.WriteLine "-------" ??
0
Казанский
14349 / 5957 / 1581
Регистрация: 24.09.2011
Сообщений: 9,381
18.11.2015, 20:01 6
Chaynik2, да, перед End Select
1
Chaynik2
0 / 0 / 0
Регистрация: 15.11.2015
Сообщений: 6
19.11.2015, 13:06  [ТС] 7
Вставил перед End Select, символ "---" выводит и после sender и после receiver, но нужно чтобы после одного цикла ( когда выводит информация про sender и reciever).
например
Sender :
OOO Romashka
Address Red 12 street
Reciever:
Ooo Vantus
Address Kashirskaya 14
---------------------------------------
Sender:
OOO
Reciever:
OOO
-------------------------------------
и т.д
0
Chaynik2
0 / 0 / 0
Регистрация: 15.11.2015
Сообщений: 6
20.11.2015, 16:50  [ТС] 8
Казанский, такой вопрос, если искомое слово (sender) с пробелом то почему-то не выводит ничего ?(
0
20.11.2015, 16:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2015, 16:50

Поиск в txt
всем привет, помогите, при поиске по txt, поиск идет только в один конец, после...

Строки в TXT
У меня есть текстовый файл (например:1.TXT). как сделать так чтобы 1 строка...

Txt Файл
Please,Help me !!! Как сделать так ,чтобы при нажатии на кнопку текст из ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru