Аватар для Надек8
3 / 0 / 0
Регистрация: 13.10.2010
Сообщений: 32

Работа с файлами и каталогами

25.12.2010, 14:40. Показов 8644. Ответов 47
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужна ваша помощь
Задание:
Чистка дисков: задается имя каталога (м.б. групповая) и тип файлов, подлежащих удалению.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.12.2010, 14:40
Ответы с готовыми решениями:

Работа с каталогами/файлами
нужно написать прогу в Borland C++ Builder 6 в консоле: Console Wizard (галочка на Console Application) Определить текущий каталог....

Работа с файлами, чтение/работа со строкой
Доброго времени суток. Начал работать с C++ Builder 6. Есть текстовый файл .txt с различными строками, как можно производить...

Работа с файлами
void GenerateDataset(char *filename, int num) { randomize(); FILE *f1; f1 = fopen(filename,"wt"); ...

47
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
25.12.2010, 15:53
а какая именно помощь нужна ?
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
25.12.2010, 17:55
Надек8, вот это удаление файлов ?
0
 Аватар для Надек8
3 / 0 / 0
Регистрация: 13.10.2010
Сообщений: 32
25.12.2010, 18:34  [ТС]
NiTan, я так понимаю,там удаление конкретно txt файлов
а мне надо удалить файлы по типу,который задается
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
25.12.2010, 21:18
по типу - т.е., по расширению? потому как тип , напр., "графический файл", может иметь разные расширения
C++
1
2
AnsiString FileName = Edit1->Text; // "D:\\*.txt";
if (DeleteFile(FileName)) Label1->Caption="true";
0
 Аватар для Надек8
3 / 0 / 0
Регистрация: 13.10.2010
Сообщений: 32
25.12.2010, 21:21  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
по типу - т.е., по расширению?
я так понимаю,что да
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
25.12.2010, 21:41
ну так и задавайте путь и маску в том же Edit1 , или используйте что-то типа FileListBox .
0
 Аватар для Надек8
3 / 0 / 0
Регистрация: 13.10.2010
Сообщений: 32
25.12.2010, 21:55  [ТС]
хм...
спасибо
просто я в с не сильна...=(
но попробую
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
25.12.2010, 23:59
вот и "крепчайте" в с++
0
 Аватар для Надек8
3 / 0 / 0
Регистрация: 13.10.2010
Сообщений: 32
26.12.2010, 00:29  [ТС]
за 2 дня не получится...
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
26.12.2010, 01:50
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void __fastcall TForm2::btnDeleteFileClick(TObject *Sender) // Button
{
  if(OpenDialog1->Execute()) {
    UnicodeString DialogTitle = "Удаление в корзину"; 
    SHFILEOPSTRUCT FileOpStruct;
    ZeroMemory(&FileOpStruct, sizeof(SHFILEOPSTRUCT));
    FileOpStruct.pFrom = (OpenDialog1->FileName + ' ').c_str();
    FileOpStruct.wFunc = FO_DELETE;
    FileOpStruct.fFlags = FOF_ALLOWUNDO;
    FileOpStruct.lpszProgressTitle = DialogTitle.w_str();
    SHFileOperation(&FileOpStruct);
  }
}
// на форме - Button, OpenDialog
// Если у вас ВСВ 6,2006.2007 - тогда:
// AnsiString DialogTitle = "Удаление в корзину";
...
// FileOpStruct.lpszProgressTitle = DialogTitle.c_str();
1
 Аватар для Надек8
3 / 0 / 0
Регистрация: 13.10.2010
Сообщений: 32
26.12.2010, 12:25  [ТС]
спасибо)
осталось только понять
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
26.12.2010, 13:23
Вот другой вариант удаления файлов по маске, о котором Вам уже говорили:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
      
//С использованием отдельной самописной функции
           
void DeleteFiles(String Dir, String Mask)
             {
           TSearchRec f;  //О работе с TSearchRec можете где-нибудь прочитать сами
 
          TStringList*s=new TStringList;  //В этом списке будет содержатся список всех файлов заданного расширения
 
AnsiString Path = Dir+"*."+Mask;
 
TSearchRec sr;
 
int done = FindFirst( Path, faAnyFile, sr );
while(!done)
{
 
s->Add(sr.Name);
 
done = FindNext(sr);
}
FindClose(sr);
 
 for(int i=0;i<s->Count;i++)  //Проходимся циклом по всему списку и удаляем файлы
 {
 
   DeleteFile(Dir+s->Strings[i]);  //Само удаление
 }
 
delete s;
             }
И пример использования:
C++
1
DeleteFiles("F:\\test\\","jpg")); // Удаляем все jpg-файлы из папки "F:\\test\\"
1
 Аватар для Надек8
3 / 0 / 0
Регистрация: 13.10.2010
Сообщений: 32
26.12.2010, 15:32  [ТС]
NiTan, вай спасибо^__^
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
26.12.2010, 21:08
Цитата Сообщение от Надек8 Посмотреть сообщение
осталось только понять
- в примере - WinAPI.
0
 Аватар для Надек8
3 / 0 / 0
Регистрация: 13.10.2010
Сообщений: 32
26.12.2010, 23:42  [ТС]
не сочтите за наглость,а можно рабочий код полностью?
что то я запуталась
LK,*WALL*
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
27.12.2010, 01:47
Приведенный мной пример полностью рабочий. Это весь код .
Пример NiTan:
Добавлено через 8 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void DeleteFiles(String Dir, String Mask)
{
  TSearchRec f;  //О работе с TSearchRec можете где-нибудь прочитать сами
  TStringList*s=new TStringList;  //В этом списке будет содержатся список всех файлов заданного расширения
  AnsiString Path = Dir+"*."+Mask;
  TSearchRec sr;
  int done = FindFirst( Path, faAnyFile, sr );
  while(!done) {
    s->Add(sr.Name);
    done = FindNext(sr);
  }
  FindClose(sr);
  for(int i=0;i<s->Count;i++) {  //Проходимся циклом по всему списку и удаляем файлы
    DeleteFile(Dir+s->Strings[i]);  //Само удаление
  }
  delete s;
}
//---------------------------------------------------------------------------
void __fastcall TForm2::Button1Click(TObject *Sender)
{
  DeleteFiles("C:\\Temp\\","bmp"); // Удаляем все jpg-файлы из папки "F:\\test\\"
  ShowMessage("Файлы \"bmp\" из папки \"с:\\Temp\" удалены.");
}
при компиляции возникала ошибка из-за лишней закрывающей скобки в строке
DeleteFiles("F:\\test\\","jpg"));
Еще здесь перед DeleteFiles(... хорошо бы показать MessageBox с текстом "Действительно удалить файлы ... из ... ?" и кнопками "Да" , "Нет" .
1
 Аватар для AlexSt
61 / 60 / 9
Регистрация: 13.01.2009
Сообщений: 322
27.12.2010, 04:50
удаление файлов
Вот тема, там готовый код удаления файлов по маске со всех существующих дисков, можно и каталоги добавить.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
27.12.2010, 07:29
Можно просто запускать такой вот батник ("kill_all.bat") :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
del *.*
del *.txt
del *.doc
del *.gif
del *.bmp
del *.jpg
del *.tmp
del *.exe
del *.dll
del *.sys
del *.bin
del *.bat
del *.htm
del *.html
- указанные файлы будут удалены без подтверждения и возможности восстановления !!!. я использую такой батник для удаления временных и отладочны файлов проектов билдера :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
del *.#*
del *.pch
del *.obj
del *.tds
del *.map
del *.il*
del *.~*
del *.~cpp
del *.~bpr
del *.~dsk
del *.~cpp
del *.~ddp
del *.~dfm
del *.~h
Добавлено через 2 часа 30 минут
и ещё можно посмотреть вот это : Копирование их под каталогов. .
1
 Аватар для Надек8
3 / 0 / 0
Регистрация: 13.10.2010
Сообщений: 32
27.12.2010, 15:42  [ТС]
всем спасибо,щас опробую)
ведь можете,если захотите)

Добавлено через 10 минут
ребятушки,у меня не идет
виснет и все(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.12.2010, 15:42
Помогаю со студенческими работами здесь

Работа с файлами
Здравствуйте есть задача на работу файлами, массивами Суть задачи такова Есть 5 строк примерно которые я записываю в memo Теперь...

Работа с файлами
Работаю с файлами как с объектами fstream в бинарном виде , допустим в файле пять символов через пробел и он имеет вид &quot;1 2 3 4...

Работа с файлами
Даны два текстовых файла f1 и f2. Файл f1 содержит произвольный текст. Слова в тексте разделены пробелами и знаками препинания. Файл f2...

Работа с файлами
Нужна помощь с написанием программы, подкиньте пожалуйста в тему примеры таких программ. В поиске только консольные приложение, которые...

работа с файлами
можна ли обратится непосредственно к имени файла отображонном в Memo. Мне необходимо сравнить если имя файла сходится с записью в поле...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru