Форум программистов, компьютерный форум, киберфорум
Бета-тестирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/32: Рейтинг темы: голосов - 32, средняя оценка - 5.00
 Аватар для GreenPanda
178 / 29 / 3
Регистрация: 29.08.2010
Сообщений: 228

Утилитa для сортировки файлов

07.09.2011, 00:43. Показов 6689. Ответов 79
Метки нет (Все метки)

Вот зделал неболбшую утилиту для сортировки файлов )) хотелось бы узнать ваше мнение)
Только поменяте New folder на чтонить другое
Миниатюры
Утилитa для сортировки файлов  
Вложения
Тип файла: zip Sorter .zip (484.0 Кб, 79 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.09.2011, 00:43
Ответы с готовыми решениями:

Скрипт для сортировки файлов
Добрый день. Прощу помочь создать Батник. После восстановления файлов с убитого винта, в одну папку сохранилось огромное количество...

Программа для сортировки файлов
Написать программу, которая сортирует файлы (по дате, имени, размеру, типу), как по возрастанию так и по убыванию. Также должны...

Нужна программа для сортировки файлов
Помогите найти программу, которая бы автоматически сортировала файлы по расширениям.

79
 Аватар для GreenPanda
178 / 29 / 3
Регистрация: 29.08.2010
Сообщений: 228
08.09.2011, 23:04  [ТС]
Ах да вот скрин нового дезайна
Миниатюры
Утилитa для сортировки файлов  
1
 Аватар для GreenPanda
178 / 29 / 3
Регистрация: 29.08.2010
Сообщений: 228
08.09.2011, 23:27  [ТС]
И может ктонибуть привести пример копирования файлов средствами самого делфи :/
0
 Аватар для EvilVoodoo
259 / 94 / 24
Регистрация: 18.04.2011
Сообщений: 719
Записей в блоге: 1
09.09.2011, 06:54
Цитата Сообщение от mischka Посмотреть сообщение
там есть поле где можно ввести например Readmy и все ридми со всеми расширениями уйдут в указаную папку
Вопрос был в другом - может ли ваша программа выбрать файлы Readmy1.txt Project1.dpr Project1.pas Readmy1.pdf Project1.exe за один проход программы, т.е. чтобы я не выбирал сначала все readmy, потом Project?

Добавлено через 10 минут
Цитата Сообщение от mischka Посмотреть сообщение
И может ктонибуть привести пример копирования файлов средствами самого делфи :/
Копирование методом TurboPascal
Delphi
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
type
  {Для индикации процесса копирования}
  TCallBack = procedure (Position, Size: Longint);
 
procedure FastFileCopy(const InfileName, OutFileName: string;
          CallBack: TCallBack);
const
  BufSize = 3*4*4096; { Размер буфера 48Kbytes }
type
  PBuffer = ^TBuffer;
  TBuffer = array [1..BufSize] of Byte;
var
  Size : integer;
  Buffer : PBuffer;
  infile, outfile : file;
  SizeDone, SizeFile: Longint;
begin
  if (InFileName <> OutFileName) then
  begin
    buffer := nil;
    AssignFile(infile, InFileName);
    System.Reset(infile, 1);
    try
      SizeFile := FileSize(infile);
      AssignFile(outfile, OutFileName);
      System.Rewrite(outfile, 1);
      try
        SizeDone := 0; New(Buffer);
        repeat
          BlockRead(infile, Buffer^, BufSize, Size);
          Inc(SizeDone, Size);
          CallBack(SizeDone, SizeFile);
          BlockWrite(outfile,Buffer^, Size)
        until
          Size < BufSize;
        FileSetDate(TFileRec(outfile).Handle,
        FileGetDate(TFileRec(infile).Handle));
      finally
        if Buffer <> nil then
          Dispose(Buffer);
        System.close(outfile)
      end;
    finally
      System.close(infile);
    end;
  end
  else
    raise EInOutError.Create('File cannot be copied into itself');
end;
Копирование методом потока

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
procedure FileCopy(const SourceFileName, TargetFileName: string);
var
  S, T : TFileStream;
begin
  S := TFileStream.Create(sourcefilename, fmOpenRead );
  try
    T := TFileStream.Create(targetfilename, fmOpenWrite or fmCreate);
    try
      T.CopyFrom(S, S.Size ) ;
      FileSetDate(T.Handle, FileGetDate(S.Handle));
    finally
      T.Free;
    end;
  finally
    S.Free;
  end;
end;
Копирование методом LZExpand

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
uses
  LZExpand;
 
procedure CopyFile(FromFileName, ToFileName : string);
var
  FromFile, ToFile: file;
begin
  AssignFile(FromFile, FromFileName);
  AssignFile(ToFile, ToFileName);
  Reset(FromFile);
  try
    Rewrite(ToFile);
    try
      if LZCopy(TFileRec(FromFile).Handle, TFileRec(ToFile).Handle)<0 then
        raise Exception.Create('Error using LZCopy')
    finally
      CloseFile(ToFile);
    end;
  finally
    CloseFile(FromFile);
  end;
end;
Копирование методами Windows

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
uses
  ShellApi;
 
function WindowsCopyFile(FromFile, ToDir : string) : boolean;
var
  F: TShFileOpStruct;
begin
  F.Wnd := 0; F.wFunc := FO_COPY;
  FromFile:=FromFile+#0; F.pFrom:=pchar(FromFile);
  ToDir:=ToDir+#0; F.pTo:=pchar(ToDir);
  F.fFlags := FOF_ALLOWUNDO or FOF_NOCONFIRMATION;
  result:=ShFileOperation(F) = 0;
end;
 
// пример копирования
procedure TForm1.Button1Click(Sender: TObject);
begin
  if not WindowsCopyFile('C:\text\filename.txt', GetCurrentDir) then
    ShowMessage('Copy Failed');
end;
1
 Аватар для GreenPanda
178 / 29 / 3
Регистрация: 29.08.2010
Сообщений: 228
09.09.2011, 19:45  [ТС]
Цитата Сообщение от EvilVoodoo Посмотреть сообщение
Вопрос был в другом - может ли ваша программа выбрать файлы Readmy1.txt Project1.dpr Project1.pas Readmy1.pdf Project1.exe за один проход программы, т.е. чтобы я не выбирал сначала все readmy, потом Project?
нет она закинет вам все ридми 1 в папку к примеру ридми потом вы можете выбрать все project1.* и кинуть их в проект 1
Цитата Сообщение от EvilVoodoo Посмотреть сообщение
Добавлено через 10 минут


Копирование методом TurboPascal
Delphi
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
type
  {Для индикации процесса копирования}
  TCallBack = procedure (Position, Size: Longint);
 
procedure FastFileCopy(const InfileName, OutFileName: string;
          CallBack: TCallBack);
const
  BufSize = 3*4*4096; { Размер буфера 48Kbytes }
type
  PBuffer = ^TBuffer;
  TBuffer = array [1..BufSize] of Byte;
var
  Size : integer;
  Buffer : PBuffer;
  infile, outfile : file;
  SizeDone, SizeFile: Longint;
begin
  if (InFileName <> OutFileName) then
  begin
    buffer := nil;
    AssignFile(infile, InFileName);
    System.Reset(infile, 1);
    try
      SizeFile := FileSize(infile);
      AssignFile(outfile, OutFileName);
      System.Rewrite(outfile, 1);
      try
        SizeDone := 0; New(Buffer);
        repeat
          BlockRead(infile, Buffer^, BufSize, Size);
          Inc(SizeDone, Size);
          CallBack(SizeDone, SizeFile);
          BlockWrite(outfile,Buffer^, Size)
        until
          Size < BufSize;
        FileSetDate(TFileRec(outfile).Handle,
        FileGetDate(TFileRec(infile).Handle));
      finally
        if Buffer <> nil then
          Dispose(Buffer);
        System.close(outfile)
      end;
    finally
      System.close(infile);
    end;
  end
  else
    raise EInOutError.Create('File cannot be copied into itself');
end;
Копирование методом потока

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
procedure FileCopy(const SourceFileName, TargetFileName: string);
var
  S, T : TFileStream;
begin
  S := TFileStream.Create(sourcefilename, fmOpenRead );
  try
    T := TFileStream.Create(targetfilename, fmOpenWrite or fmCreate);
    try
      T.CopyFrom(S, S.Size ) ;
      FileSetDate(T.Handle, FileGetDate(S.Handle));
    finally
      T.Free;
    end;
  finally
    S.Free;
  end;
end;
Копирование методом LZExpand

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
uses
  LZExpand;
 
procedure CopyFile(FromFileName, ToFileName : string);
var
  FromFile, ToFile: file;
begin
  AssignFile(FromFile, FromFileName);
  AssignFile(ToFile, ToFileName);
  Reset(FromFile);
  try
    Rewrite(ToFile);
    try
      if LZCopy(TFileRec(FromFile).Handle, TFileRec(ToFile).Handle)<0 then
        raise Exception.Create('Error using LZCopy')
    finally
      CloseFile(ToFile);
    end;
  finally
    CloseFile(FromFile);
  end;
end;
Копирование методами Windows

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
uses
  ShellApi;
 
function WindowsCopyFile(FromFile, ToDir : string) : boolean;
var
  F: TShFileOpStruct;
begin
  F.Wnd := 0; F.wFunc := FO_COPY;
  FromFile:=FromFile+#0; F.pFrom:=pchar(FromFile);
  ToDir:=ToDir+#0; F.pTo:=pchar(ToDir);
  F.fFlags := FOF_ALLOWUNDO or FOF_NOCONFIRMATION;
  result:=ShFileOperation(F) = 0;
end;
 
// пример копирования
procedure TForm1.Button1Click(Sender: TObject);
begin
  if not WindowsCopyFile('C:\text\filename.txt', GetCurrentDir) then
    ShowMessage('Copy Failed');
end;
а есть более простой вариант?
0
54 / 42 / 7
Регистрация: 08.04.2011
Сообщений: 227
09.09.2011, 22:55
Мне кажется, что будет полезнее, если будет можно массово менять расширения файлов.
0
 Аватар для GreenPanda
178 / 29 / 3
Регистрация: 29.08.2010
Сообщений: 228
10.09.2011, 00:01  [ТС]
Цитата Сообщение от FanAs Посмотреть сообщение
Мне кажется, что будет полезнее, если будет можно массово менять расширения файлов.
ну мне такая вункция не нужна была ^^
вот и не зделал
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
10.09.2011, 13:09
Ну вот, такой дизайн намного лучше. Правда, я бы все равно обьединил некоторые обьект вместе, например, расположив их на одном GroupBox'е или обычной панельке. И в выделенной области неплохо было бы навести порядок, а то у Вас там все как-то разбросано не очень красиво:
0
 Аватар для GreenPanda
178 / 29 / 3
Регистрация: 29.08.2010
Сообщений: 228
10.09.2011, 22:44  [ТС]
Цитата Сообщение от NiTan Посмотреть сообщение
Ну вот, такой дизайн намного лучше. Правда, я бы все равно обьединил некоторые обьект вместе, например, расположив их на одном GroupBox'е или обычной панельке. И в выделенной области неплохо было бы навести порядок, а то у Вас там все как-то разбросано не очень красиво:
Вложение 95115
ну ладно расставлю все по Groupboxам
а какое у вас мнение насчет полезности самой програмы ??
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
11.09.2011, 09:30
Пока не пригождалась. Так что насчёт полезности ничего не могу сказать. Вот по твоему в каких ситуациях может быть полезна?
0
 Аватар для anonimus
2184 / 1255 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
11.09.2011, 20:53
а почему интерфейс на английском? В России живем как-никак
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
11.09.2011, 20:58
Потому что:
Цитата Сообщение от mischka Посмотреть сообщение
у моего делфи проблемы с руским
ну а на англиском понятно для всех ))
Добавлено через 50 секунд
Цитата Сообщение от mischka Посмотреть сообщение
а какое у вас мнение насчет полезности самой програмы ??
Пока не скачивал, смотрю по скриншотам.
0
Добрый самаритянин
 Аватар для John_Pa9JIbHuK
1107 / 622 / 139
Регистрация: 31.03.2009
Сообщений: 2,567
11.09.2011, 21:21
Первая версия уж больно радужная(не в том смысле что вы подумали, а в том что блЫн все цвета радуги), версия для детей, чтобы они не пугались при сортировке файлов
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
11.09.2011, 23:57
Цитата Сообщение от NiTan Посмотреть сообщение
у моего делфи проблемы с руским
ну а на англиском понятно для всех ))
Может эта проблема как-то решается?
0
 Аватар для GreenPanda
178 / 29 / 3
Регистрация: 29.08.2010
Сообщений: 228
12.09.2011, 02:33  [ТС]
Цитата Сообщение от John_Pa9JIbHuK Посмотреть сообщение
Первая версия уж больно радужная(не в том смысле что вы подумали, а в том что блЫн все цвета радуги), версия для детей, чтобы они не пугались при сортировке файлов
^^
ну вот переделал на более серёзный дезайн

Добавлено через 1 минуту
Цитата Сообщение от Casper-SC Посмотреть сообщение
Может эта проблема как-то решается?
не знаю надо будет в инете поискать.
но я наверно добавлю изменение языка ini файлом

Добавлено через 2 минуты
Цитата Сообщение от anonimus Посмотреть сообщение
а почему интерфейс на английском? В России живем как-никак
ну вы в России живете а я в германии
0
 Аватар для EvilVoodoo
259 / 94 / 24
Регистрация: 18.04.2011
Сообщений: 719
Записей в блоге: 1
12.09.2011, 06:27
Цитата Сообщение от mischka Посмотреть сообщение
нет она закинет вам все ридми 1 в папку к примеру ридми потом вы можете выбрать все project1.* и кинуть их в проект 1
Плохо. В такой программе стоит сделать выбор по маске. Иначе обычные файловые менеджеры превосходят ее по функциональности даже в той области, на которую программа и расчитана.
Цитата Сообщение от mischka Посмотреть сообщение
а есть более простой вариант?
Там итак все просто.
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
12.09.2011, 07:13
Цитата Сообщение от mischka Посмотреть сообщение
ну вы в России живете а я в германии
Ну это... Общаемся то на русском сайте.
0
 Аватар для GreenPanda
178 / 29 / 3
Регистрация: 29.08.2010
Сообщений: 228
12.09.2011, 12:02  [ТС]
Цитата Сообщение от Casper-SC Посмотреть сообщение
Ну это... Общаемся то на русском сайте.
ну ето да
0
Добрый самаритянин
 Аватар для John_Pa9JIbHuK
1107 / 622 / 139
Регистрация: 31.03.2009
Сообщений: 2,567
12.09.2011, 14:30
Сделай что-бы расширения можно было добавлять самому + назвать папки при сортировке для того или иному расширению самому.
0
 Аватар для GreenPanda
178 / 29 / 3
Регистрация: 29.08.2010
Сообщений: 228
12.09.2011, 15:32  [ТС]
Цитата Сообщение от John_Pa9JIbHuK Посмотреть сообщение
Сделай что-бы расширения можно было добавлять самому + назвать папки при сортировке для того или иному расширению самому.
просто когда я создавал её я о таких вещях не думал так как создавал для себя.
ну буду дома попробую сделать

Добавлено через 1 минуту
Цитата Сообщение от EvilVoodoo Посмотреть сообщение
нет она закинет вам все ридми 1 в папку к примеру ридми потом вы можете выбрать все project1.* и кинуть их в проект 1
Плохо. В такой программе стоит сделать выбор по маске. Иначе обычные файловые менеджеры превосходят ее по функциональности даже в той области, на которую программа и расчитана.
а как зделать выбор по маске ?
я не знаю
0
Заблокирован
12.09.2011, 19:36
Честно, программа полный отстой...
Такую хрень может любой новичок сделать минут, этак минут за 30 максимум!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.09.2011, 19:36

Батник для сортировки файлов по папкамВсем привет!
Есть проект, структура которого выглядит примерно так (школу и учеников придумал, чтоб задача была понятнее): -ПРОЕКТ ---ШКОЛА ...

Поиск компонента для реализации сортировки файлов
В Builder есть такой элемент, как, допустим, в Windows в папке можно выбрать по чём сортировать и при нажатии меняется по возрастанию или...

Добавить проверку существования файлов в скрипт для их сортировки
Доброго времени суток, Скрипт который писал для себя лично, для сортировки картинок разных типов. Собственно вопрос как заставить его...

Составить блок – схемы для шейкер- сортировки и сортировки Шелла
Доброго времени суток, очень нужна ваша помощь в решении данной проблемы, буду бесконечно благодарен. Составить блок – схемы для шейкер-...

Хранимая процедура сортировки числового поля для сортировки по алфавиту
В таблице есть поле Name , в котором, собственно, и хранятся типы товаров, и есть поле Ordinal c уникальными значениями типа int Name ...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу. До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения Продолжаю серию постов о дискретно-событийной модели рабочего. . .
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru