|
0 / 0 / 0
Регистрация: 16.05.2016
Сообщений: 36
|
||||||
Удалить определенную строку в txt файле28.02.2017, 17:49. Показов 8105. Ответов 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
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|