|
0 / 0 / 0
Регистрация: 16.05.2016
Сообщений: 36
|
||||||
Удалить определенную строку в txt файле28.02.2017, 17:49. Показов 8179. Ответов 25
Метки нет (Все метки)
Здравствуйте, необходимо удалить строку в txt файле, во вложении пример, с файла удаляет все, а нужно, чтобы удалило одну строку и не оставляло пустое место
0
|
||||||
| 28.02.2017, 17:49 | |
|
Ответы с готовыми решениями:
25
Запись из TextBox в .txt файл в определенную строку Необходимо в текстовом файле найти определенную строку, в которой имеется спец.символ и удалить строку Как удалить определённую строку в файле? |
|
|
||||||
| 28.02.2017, 21:29 | ||||||
|
Надо вначале построчно считать файл куда нибудь, например в массив строк. Потом переписать старый фал уже из этого массива, но без нежелательной строки.
Примерно можно так написать:
2
|
||||||
|
141 / 119 / 29
Регистрация: 12.02.2017
Сообщений: 308
|
||||||
| 01.03.2017, 00:32 | ||||||
|
Я обычно пользуюсь несколько иной формой
Добавлено через 1 минуту
Но у Pro_grammer'а код более безопасен, у меня используется оператор килл, если кто захочет использовать мой вариант пусть будет внимателен.
1
|
||||||
|
oh my god
|
||||||
| 01.03.2017, 12:25 | ||||||
|
А у меня можно быть и не внимательным
защита от "дурака" включена ))
1
|
||||||
|
0 / 0 / 0
Регистрация: 16.05.2016
Сообщений: 36
|
||||||
| 02.03.2017, 13:38 [ТС] | ||||||
|
Добавлено через 31 секунду
Homarty, Спасибо большое) Подставила, подскажите, как прописать количество строк (For i= To) , чтобы не само забивало цифрами файл (например, до 100), а оставило пустые строки (ограничивалось уже существующими строками в файле)
0
|
||||||
|
oh my god
|
|||||||||||||||||
| 02.03.2017, 16:33 | |||||||||||||||||
|
автоматически заполняется файл числами, это место можно закоментировать И почему никого не волнует абсолютный путь ![]() ну нету у меня диска C:, нужно грамотно писать пути В примере я кое что поправил
Должно получиться следущее: Файл на входе
1
|
|||||||||||||||||
|
141 / 119 / 29
Регистрация: 12.02.2017
Сообщений: 308
|
||||||
| 02.03.2017, 17:20 | ||||||
|
Tawan12, вот
Добавлено через 1 минуту
В процедуре CallingForTest() нужно указать полное имя файла и номер строки, которую нужно удалить, и запустить ее.
1
|
||||||
|
Супер-модератор
|
||||||
| 02.03.2017, 17:43 | ||||||
|
С помощью временного файла - неинтересно... С помощью полной загрузки в память - неинтересно... Как сделать без дополнительных файлов и без полной загрузки в память? А ведь можно:
- читаем на двоичном доступе блоки файла один за другим в буфер - в процессе чтения ловим появление кодов chr$(13) - т.е. считаем строки - когда подведена нужная строка, определяем ее длину и отнимаем от исходной длины файла длину удаляемой строки - читаем данные после удаленной строки и записываем в этот же файл, начиная с места удаления... А теперь самое интересное! - файл закрываем и снова открываем с помощью winAPI-функции CreateFile; сохраняем хэндл открытого файла - с помощью winAPI-функции SetFilePointer устанавливаем файловый указатель на позицию в файле, равную новой длине - с помощью winAPI-функции SetEndOfFile делаем это место концом файла (усекаем файл) - с помощью winAPI-функции CloseHandle закрываем файл Вот теперь - все. Строка удалена из файла без лишней памяти и файлов. Код ниже:
3
|
||||||
|
0 / 0 / 0
Регистрация: 16.05.2016
Сообщений: 36
|
||
| 02.03.2017, 19:45 [ТС] | ||
|
fever brain, спасибо большое
только у меня файл на входе 1 2 3 4 5 ... и т. д., цифры и дальше будут прибавляться Подскажите, пожалуйста, как это прописать здесь:
0
|
||
|
oh my god
|
||||||
| 02.03.2017, 22:58 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 16.05.2016
Сообщений: 36
|
||||||||
| 02.03.2017, 23:46 [ТС] | ||||||||
|
fever brain, спасибо, здесь строки от 1 до 10
у меня выбивает ошибку, не знаю как ввести переменную St
0
|
||||||||
|
oh my god
|
||
| 03.03.2017, 00:25 | ||
|
Print добавит строку в конец файла EOF определяет дошла ли считываемая строка до конца файла есть еще LOF - размер, Seek - позиция и тд, сейчас мне некогда, у меня утро опять вы пишете C: в имени файла, поймите не у всех есть этот диск, у меня Z:\ и чо я буду переделывать код чтобы проверить как все работает, я уже писал как это грамотно сделать скомпелированную программу уже не переделаешь.. у вас в программе уже есть это ChDir Environ("systemdrive") - и то можно не писать программа и так будет искать корень диска если C: не указывать тоесть корневая папка системного диска, дальше если использовать имена путей то можно писать \TIME ... или \Windows или \Program Files Добавлено через 11 минут Если ктото чтото гдето написал, это не значит что надо тупо списывать и использовать даже Catstail не рассмотрел элементарные ошибки кода HomeDir$ = ThisWorkbook.Path - Папка открытой книги EXCEL - здесь этот код работать не будет Open HomeDir$ + "\f1.txt" For Output As #fo% - HomeDir$ & "\f1.txt"
0
|
||
|
141 / 119 / 29
Регистрация: 12.02.2017
Сообщений: 308
|
||||||
| 03.03.2017, 10:51 | ||||||
|
Tawan12, сложно понять что Вы хотите, если нужно просто пронумеровать строки в текстовом файле, то используйте NumberLine.
Если нужно удалить строку в файле с сохранением порядка нумерации тогда RemoveLine2. Добавлено через 1 минуту
1
|
||||||
|
0 / 0 / 0
Регистрация: 16.05.2016
Сообщений: 36
|
||||||
| 03.03.2017, 11:57 [ТС] | ||||||
|
Homarty, этот код выполняет мою задачу:
0
|
||||||
|
207 / 23 / 6
Регистрация: 12.06.2012
Сообщений: 235
|
|
| 03.03.2017, 12:15 | |
|
Tawan12, давай так, как только ты вставляешь код бейсика в свои посты, будь добра, обрамляй его в тег VB.
Разбираться в каракулях, это просто неуважение к остальным участникам. ОК? Выделила код и нажала кнопочку VB.
1
|
|
|
0 / 0 / 0
Регистрация: 16.05.2016
Сообщений: 36
|
|
| 03.03.2017, 12:34 [ТС] | |
|
sergeos, поняла, ок
0
|
|
|
oh my god
|
|||||||
| 03.03.2017, 12:47 | |||||||
|
Tawan12, вам нужно
Можешь удалить полностью файл hours.txt, или даже всю папку TIME и ты увидешь что создасться и папка и файл, и допишеться еще строка к уже созданному а при повторном вызове еще...
1
|
|||||||
|
207 / 23 / 6
Регистрация: 12.06.2012
Сообщений: 235
|
|||||||||||||||||
| 03.03.2017, 12:49 | |||||||||||||||||
Присваивай переменной.
1
|
|||||||||||||||||
|
0 / 0 / 0
Регистрация: 16.05.2016
Сообщений: 36
|
||||||
| 04.03.2017, 14:26 [ТС] | ||||||
|
Использовала этот код:
Подскажите, пожалуйста, что исправить
0
|
||||||
| 04.03.2017, 14:26 | |
|
Помогаю со студенческими работами здесь
20
Как удалить определенную строку в файле по индексу?
write to txt. В определенную строку! Удалить в текстовом файле 1.txt все строки, которые встречаются в текстовом файле 2.txt
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3.
Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
|