| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB6 > Поиск текста в файлах |
| Автор: NovichokVB 8.11.2005, 15:53 |
| Всем привет! Я НЕ программист. Но в связи с "производственной необходимостью" мне надо написать макросик на вб или вба (последний я уже чуть-чуть знаю в части excel). Постановка задачи. Как это сделать? Мне бы только хотя бы саму реализацию поиска текста в файлах (в вин и дос кодировках) и считывания совокупности символов из файла, имеющих заранее известные атрибуты (напр, 4 цифры, или 7 цифр, имеющих начало 0409, т.е. "0409*") Надеюсь, что задача ясна, и вы не станете надо мной подтрунивать - мол это очень просто для нас и писать ничего не будем... |
| Автор: cardinal 8.11.2005, 17:14 |
| Вот тут думаю полезные процедуры http://vb-tec.de/dateien.htm http://www.dutchthewiz.com/vb/files/ А тут можно сказать то, что тебе надо http://www.vb-helper.com/howto_find_string.html |
| Автор: NovichokVB 8.11.2005, 17:24 |
| cardinal Спасибо! Вот тока мне чуть-чуть английский подучить (проф) + выучить немецкий и все будет ОК |
| Автор: cardinal 8.11.2005, 22:26 | ||
Без английского в программировании далеко не уедешь, поэтому давай... |
| Автор: NovichokVB 8.11.2005, 22:39 | ||||
Пасиб за совет! |
| Автор: Voldemar2004 9.11.2005, 18:28 | ||||||
| Работа с текстовым файлом Текстовые файлы встречаются нам повсюду. И этот пример покажет вам основные методы работы с текстовыми файлами - создание/редактирование, чтение/сохранение, поиск слова в тексте. Создайте стандартный проект и наклейте на него текст-бокс (TextBox) с именем "txtText", укажите у него свойство "MultiLine" равным "True" - "Истина" и две коммандные кнопки (CommandButton) с именами "btnOpen" и "btnSave". Свойство "Caption" укажите у "btnOpen" - "Открыть", а у "btnSave" - "Сохранить". Сделайте двойной клик по кнопке "Сохранить" и в программный код впишите
Пояснение: "Open" это открытие файла "c:\temp.txt" это имя открываемого файла, если его нет, то он будет создан, если есть, то весь текст в этом файле будет очищен и заменём текстом из "txtText". "For output as #1" = "Для выхода под номером 1" т.е открываем файл под порядковым номером один, для записи информации в него. Вместо единицы можно указываль любое число от 1 до 500 - это является обязательным параметром. Зато #'ом можно пренебречь - он как бы для удобства, сразу будет понятно, что эта единица или другое число относится к файлу, а не к какой-нибудь переменной, хотя в некоторых местах его нельзя использовать! "Print #1, txtText" - "Print"(Печать) - Метод позволяющий влить содержимое "txtText" в файл под номером один. "Close #1" - это для закрытия текстового файла, так как если он не будет закрыт, то пока программа не будет закрыта, он не будет доступен другим программам. Всё! С этой частью мы разобрались. Запустите проект, вводите какую-нибудь информацию в "txtText" и нажимайте кнопку "Сохранить". Теперь у вас на диске "C:" создан файл с именем "temp.txt". Но сохранить сохранили, надо же ещё и прочесть... Чтение файла немного посложнее... Делайте двойной клик по кнопке "Открыть" и вписывайте
Do Until EOF(1) - "Читать, пока не будет достигнуть конец файла" т.е считывать построчно пока не будет достигнута последняя строка в читаемом файле и это как раз та самая ситуация, в которой нельзя указывать знак # в скобках. Line Input #1, txt - "Линия входа файла под номером 1 = переменной txt" alltxt = alltxt + txt + vbCrLf - переменная alltxt равна самой себе, плюс переменная txt. А vbCrLf - это уникальная константа, которая заменят "Chr(13)+Chr(10)" т.е переход на новую строку. Если мы её не вставим, то текстовый файл будет одной строкой в txtText. Close #1 - закроем файл. txtText.Text = alltxt - здесь выливаем в текст-бокс открытый файл, содержащийся в переменной alltxt. Всё! Можете проверить. Сохранять и открывать файлы мы научились...а как искать текст в окне...чем же наша программа хуже обычного блокнота Windows:) Наклеем на форму ещё один текст-бокс с именем "txtSearch" и ещё одну кнопку с именем "btnSearch" и свойством "Caption" равным "Поиск" Сделаем двойной клик по форме и в раздел "General Declarations" впишем "Dim P As Integer" - это переменная, которая будет содержать в себе позицию курсора в текстовом поле. В событие Form_Load впишите "P = 1". Теперь сделаем двойной клик по кнопке "Поиск" и в программный код впишем
|