Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Чтение\Запись\Редактирование строк в файле Добавлено: 12.03.05 18:51  

Автор вопроса:  Space
Подскажите, пожайлуста вот что:
Есть текстовой файл, в него построчно записываются данные, с разделителями. Вот считываю в прогу по разделителям определяю в какой листбокс надо сувать ту или иную строку. Вопрос вот в чем: есть не верные данные, где-нить в середине файла, как можно их изменить\удалить\заменить?
Вопрос наверняка легкий, но что-то никак не придумаю...

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #1
Добавлено: 12.03.05 19:13
Сначала определись с критерием верные/неверные данные

Ответить

Номер ответа: 2
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #2 Добавлено: 12.03.05 20:07
ну проще всего перезаписывать файл заново. Вот загружаешь когда, распихуешь по листбоксам, проверяешь верные ли данные итп... соответственно добавляешь их или нет, а после всего этого собери из своих листбоксов заново тот текстовой файл.

Ответить

Номер ответа: 3
Автор ответа:
 Space



Вопросов: 2
Ответов: 2
 Профиль | | #3 Добавлено: 12.03.05 20:30
Не, перезапись не пойдет - файл может достигать 50 мб. Да еще он зашифрован.
Я почти нашел выход:
Dim strOpenName As String
strOpenName = App.Path & "\live.txt"
Open strOpenName For Binary Access Read As #1
    ;Dim bf1 As String
    bf1 = Space$(LOF(1))
    Get #1, 1, bf1
Close #1
bf1 = Replace$(bf1, что сравниваю , новые данные, , , vbTextCompare)
Open strOpenName For Output As #1
    Print #1, bf1
Close #1

Но вот проблемма: 1. У меня заменяется 4 строки, стоящие подряд, а данные из одной строки могут повторятся далее по файлу в другой четверке строк и тогда заменяется и другая строка.
2. Добавляются пробелы в конец файла.

Ответить

Номер ответа: 4
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #4
Добавлено: 13.03.05 13:46
Ну скажем прямо ты этот самый файл и перезаписываешь... Сгружаешь полностью все его содержимое в переменную и потом выгружаешь на диск...

Ответить

Номер ответа: 5
Автор ответа:
 ZeroX



ICQ: 220401330 

Вопросов: 47
Ответов: 406
 Профиль | | #5 Добавлено: 13.03.05 17:25
Не, перезапись не пойдет - файл может достигать 50 мб. Да еще он зашифрован.

А других способов записывать данные такого объема как-будто нету
Не проще ли использовать базу данных

Ответить

Номер ответа: 6
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #6 Добавлено: 13.03.05 18:14
Space, а кто заставляет весь файл целиком хапать в переменную? Открой файл, найди нужное место в файле, считай необходимое количество, отредактируй это считанное и запиши обратно с той же позиции, откуда считал. Тогда и не будет проблем с тем, что кроме нужного куска, строки меняются ещё и по всему файлу

Ответить

Номер ответа: 7
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #7
Добавлено: 14.03.05 11:21
Бей на массив строк Split'ом и работай уже через массив.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам