Страница: 1 |
Как это можно сделать. Если можно пример. Ну например у меня есть. а=1 с=3 Как между ними вставить b=2 не переписывая файл ?
Dim sStr As String open "C:\MyFile.txt" for Random As #nFile Len = Len(sStr) Put #nFile, Номер_записи, sStr не забудь только потом закрыть файл... Видишь ли дело в том что файл должен быть открыть или как OutPut или через FileSystemObject. Т.е. разницы никакой, но мне нужно считывать построчно. А через Random прийдётся считывать по-байтово. Слишком медленно получается. В принципе такой способ подойдёт, если ты подскажешь, как в таком режиме считывать строки. Ну представь как будет выглядеть код strVar=String(" ",LOF(1)) Get #1,1,strVar For z=1 to LOF(1) if mid(strVar,z,1)=chr(13) then - эт нашли только конец 1 строки. Ещё надо найти её начало и извлечь из середины. Я проверял - долго. Это способ, когда считываешь весь файл в одну строку. Можно ещё один байт в одну строку. Но не вижу никакой разницы. Может я использую неверный код ? Подскажи другой. Насчёт четвёрки - опять почти угадал. Если интерестно iP166MMX(208МГц),128PC100, Quantum 10Гб+Quantum 13Гб, RV2200 PCI 8Мб(видуха) Ну что никаких идей ? Кароче: dim mas() as string,mc as long open "Filename" for input as #1 do while not Eof(1) ReDim Preserve mas(mc) as string line input #1,mas(mc) mc = mc + 1 loop close #1 open "FileName" For OutPut as #2 for i = 0 to mc if ucase(mas(i)) = "A=1" then print #2, "b=2" print #2,mas(i) next i close #2 От блин. У меня обработчик как из детского сада. Откопал в архиве форума 2. Что получить кол-во строк любого текста: JEDI, чёт не могу понять что делает твой код. Вот блин. Это ж надо было проснуться за 20 минут до конца интернета. Ладно потом разберусь JEDI. Ты невнимательно прочитал вопрос. Как между ними вставить b=2 не переписывая файл ? А может быть я неверно выразился. Я имел ввиду не закрывая файл. Страница: 1 |
Вопрос: Вставлять строки в середине файла
Добавлено: 09.10.02 21:55
Автор вопроса: CyRax | Web-сайт:
Ответы
Всего ответов: 13
Номер ответа: 1
Автор ответа:
Satrapp
ICQ: 75556561
Вопросов: 8
Ответов: 80
Профиль | | #1
Добавлено: 09.10.02 23:02
Номер ответа: 2
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #2
Добавлено: 10.10.02 19:43
Номер ответа: 3
Автор ответа:
MAGNUS
Вопросов: 12
Ответов: 430
Профиль | | #3
Добавлено: 10.10.02 21:47
В таком режиме GEТ вместо пут, будет читать. А побайтово не так уж и медленно. Я например никогда не замечал уменьшения скорости... Не на четверке же ты работаешь? Или файл огромный?
Номер ответа: 4
Автор ответа:
MAGNUS
Вопросов: 12
Ответов: 430
Профиль | | #4
Добавлено: 10.10.02 21:48
В таком режиме GEТ вместо пут, будет читать. А побайтово не так уж и медленно. Я например никогда не замечал уменьшения скорости... Не на четверке же ты работаешь? Или файл огромный?
Номер ответа: 5
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #5
Добавлено: 10.10.02 22:03
Номер ответа: 6
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #6
Добавлено: 10.10.02 22:10
Номер ответа: 7
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #7
Добавлено: 11.10.02 22:42
Номер ответа: 8
Автор ответа:
j3d1
ICQ: 8370005
Вопросов: 34
Ответов: 466
Профиль | | #8
Добавлено: 12.10.02 11:39
Номер ответа: 9
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #9
Добавлено: 12.10.02 22:53
Dim arrStrings() As String
arrStrings=split(текст_например_Text1.Text,vbcrlf)
Msgbox ubound(arrStrings
3. Получить строку:
Msgbxo arrStrings(номер_строки)
Номер ответа: 10
Автор ответа:
j3d1
ICQ: 8370005
Вопросов: 34
Ответов: 466
Профиль | | #10
Добавлено: 13.10.02 12:16
Он сначала читает весь текст в масив, потом посли нужной строки пишет его обратно вфаил потом вставляет строку и дописывает фаил
Номер ответа: 11
Автор ответа:
j3d1
ICQ: 8370005
Вопросов: 34
Ответов: 466
Профиль | | #11
Добавлено: 13.10.02 12:19
Кароче он сначала читает фаил, потом пишет обратно в фаил до нужного места, потом вставляет строку и дальше дописывает фаил
Номер ответа: 12
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #12
Добавлено: 13.10.02 19:27
Номер ответа: 13
Автор ответа:
j3d1
ICQ: 8370005
Вопросов: 34
Ответов: 466
Профиль | | #13
Добавлено: 14.10.02 14:24
НЕ пиреписывая фаил ты в него не когда строчку не вставишь! Ты всё равно должен переписать фаил!