Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как программно удалить одну строку из текстового файла(txt)? [D6, WinXP]


Lexus_samara ©   (2009-08-12 16:07:00) 

Как удалить одну строчку из текстового файла? Путь к файлу хранится в label. Поясню точнее на примере...
Есть каталог: files/folds. В ней 3 папки (fold1, fold2, fold3). В каждой из этих папок есть по 4 текстовых файлов с одинаковыми названиями (fold1.txt, fold2.txt, fold3.txt, fold4.txt).
В зависимости от выбранных параметров в label1 записывается строка типа '11', '12', '13', '14', '21', '22', '23', '24', '31', '32', '33', '34'. То есть label1 состоит из 2ух цифр. Первая обозначает папку (1 - это fold1, 2 - fold2, 3 - fold3). Вторая означает конкретный текстовый файл (1 - fold1.txt, 2 - fold2.txt и т.д.)
К примеру в label1 записано '23'. Как мне удалить одну строчку в файле files/folds/fold2/fold3.txt ???

Помогайте пожалуйста мастера


Сергей М.   (2009-08-13 20:52:00) [1]


> Вот кстати эта ветка если интересно


Да.. Там, кстати, диагноз автору поставлен гораздо раньше, нежели здесь (цитата):

Искусственный интеллект - фигня по сравнению с естественной глупостью

)


Lexus_samara   (2009-08-13 20:39:00) [2]

Удалено модератором
Примечание: Мат


oldman   (2009-08-12 18:26:00) [3]

Уважаемый автор! Ваш поток сознания в [0] зашкалил.
Объясните по-русски, что у вас не получается - удалить строку из файла или найти файл по идиотской системе кодирования пути в label?
Эти две задачи решаются очень просто. Поверьте на слово.


Ega23   (2009-08-12 16:44:00) [4]

1. Взять число в Label.  (StrToInt + F1)
2. Разделить нацело на 10. Результат - индекс папки.(div + F1)
3. Взять остаток от деления на 10. Результат - индекс файла. (mod + F1)
4. Сформировать путь к файлу. (сложение строк + F1)
5. Проверить, есть ли такой файл (FileExists + F1)
6. Открыть файл (TextFile, AssignFile, ResetFile + F1)
7. Найти нужную строку (while, Eof, сравнение строк + F1)
8. Закрыть файл (CloseFile + F1)

Пункты 6,7,8 можно выполнить через TStringList (TStringList + F1)


Dennis I. Komarov   (2009-08-12 16:43:00) [5]


> Путь к файлу хранится в label.

И откуда он там берется?...

А если там 123, это в 1-ой папке 23-ий файл, или в 12-ой 3-ий?


Anatoly Podgoretsky   (2009-08-12 16:37:00) [6]

Опять студенты с тупыми заданиями.


Kolan   (2009-08-12 16:24:00) [7]

Нужно открыть файл, удалить строку и сохранить его.

«Путь к файлу хранится в label.» — хуже не придумаешь.


Наверх

Титульная страница Поиск, карта сайта Написать письмо