Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.07.2012, 07:55   #1
HellMercenariess
Форумчанин
 
Аватар для HellMercenariess
 
Регистрация: 27.07.2009
Сообщений: 547
Вопрос Избежать удаления троечки, в mp3

Здравствуйте!
Как избежать удаления '3' и '4' если они в расширении файла?
Только что переименовал пачку файлов, хорошо что сразу вскрылся недостаток такого метода.

Также нельзя выкидывать любые цифры из названий каталогов.

Код:
procedure TForm1.ClearDig;
    const
  D = ['0'..'9'];
 var
  S : String;
  i,ix ,len,exa: Integer;
begin
    for Ix:=1 to FileListBox1.Count-1 do
      begin
   S:=FileListBox1.Items.Strings[ix];
    Len := Length(S);
    for i := Len downto 1 do
    if S[i] in D then Delete(S, i, 1);
    RenameFile(FileListBox1.Items[ix],S);
  end;
end;


Наделанное поправил вернув всем расширение.
Код:
begin
 for i:=1 to FileListBox1.Count-1 do
  begin
 s:=ChangeFileExt(FileListBox1.Items.Strings[i],'.mp3');
 RenameFile(FileListBox1.Items[i],S);
  end;
"Виновник этого парада,он не дурак, ушел как надо!" Похороны панка.
HellMercenariess вне форума Ответить с цитированием
Старый 04.07.2012, 07:59   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Какова цель такого переименовывания и что в результате нужно получить?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.07.2012, 08:35   #3
HellMercenariess
Форумчанин
 
Аватар для HellMercenariess
 
Регистрация: 27.07.2009
Сообщений: 547
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Какова цель такого переименовывания и что в результате нужно получить?
упорядочить хоть немного захламленные папки.
Изображения
Тип файла: jpg Chaotic.JPG (154.0 Кб, 179 просмотров)
"Виновник этого парада,он не дурак, ушел как надо!" Похороны панка.
HellMercenariess вне форума Ответить с цитированием
Старый 04.07.2012, 08:41   #4
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Ну так выделите из имени файла перед обработкой имя и расширение. Имя обрабатывайте, а расширение прицепляйте обратно. Да и вообще, есть tag-эдиторы которые неплохо перебирают всю музыку - главное правильно им маски задавать))
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 04.07.2012, 08:45   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
  for Ix:=1 to FileListBox1.Count-1 do begin  //почему с 1, а не с 0?
    s1:=ExtractFileName(FileListBox1.Items.Strings[ix]);
    s2:=Copy(FileListBox1.Items.Strings[ix],1,Length(FileListBox1.Items.Strings[ix])-Length(s1)); //путь
    s3:=ExtractFileExt(s1); //расширение
    s1:=Copy(s1,1,Length(s1)-Length(s3)); //имя без пути и расширения
    for i := Length(s1) downto 1 do
      if s1[i] in D then Delete(s1, i, 1); //а вдруг в имени все цифры были?
    s:=s2+s1+s3;
    RenameFile(FileListBox1.Items[ix],S); //может и не переименовать, хотя бы потому, что сновым именем уже существует
  end;
А вообщето странноватый алгоритм переименования. Посмотрел на картинку, что делать с оставшимися точками в начале имени?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 04.07.2012 в 08:48.
Аватар вне форума Ответить с цитированием
Старый 04.07.2012, 13:00   #6
hon
Форумчанин
 
Регистрация: 08.06.2011
Сообщений: 693
По умолчанию

AntRenamer твой лучший друг.
Вложения
Тип файла: rar AntRenamer.rar (671.9 Кб, 9 просмотров)
hon вне форума Ответить с цитированием
Старый 04.07.2012, 14:30   #7
HellMercenariess
Форумчанин
 
Аватар для HellMercenariess
 
Регистрация: 27.07.2009
Сообщений: 547
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
А вообщето странноватый алгоритм переименования. Посмотрел на картинку, что делать с оставшимися точками в начале имени?
Код:
 procedure TForm1.ClearPref;
const ssd=['-', '_', '.'];
 var
  S : String;
  i,ix ,len,exa: Integer;
begin
    for Ix:=1 to FileListBox1.Count-1 do
      begin
   S:=FileListBox1.Items.Strings[ix];
    Len := Length(S);
    for i :=1 to 3 do
    if S[i]in ssd then Delete(S, i, 1);
    RenameFile(FileListBox1.Items[ix],S);
end;
  end;
В результате этих двух манипуляций, остались только по одному пробелу в начале имен и некоторое безобразие в серединах имен:
вроде этого "_-_"
Из середины выкидывать тире пока не рискну, оно обычно разделяет исполнителя и название трэка.
Та папка что уже обработал вообще по жести была, по 4-6 цифер бессмысленных где попало в имени файла.


hon, без исходников некатит.
"Виновник этого парада,он не дурак, ушел как надо!" Похороны панка.

Последний раз редактировалось HellMercenariess; 04.07.2012 в 14:35.
HellMercenariess вне форума Ответить с цитированием
Старый 04.07.2012, 21:34   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
упорядочить хоть немного захламленные папки.
Не знаю как у тебя, а у моего тотала есть возможность именования по артистам и альбомам. Достаточно использовать эту опцию, чтоб правильно поименовать файлы.
А вообще медиатеку нужно держать в идеальнейшем порядке изначально.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как избежать излишнего использования :: invector Помощь студентам 2 28.09.2011 14:54
как избежать подвисания Juffin Общие вопросы Delphi 12 18.05.2011 23:41
Как избежать Selection? Мультипликатор Microsoft Office Word 10 21.06.2010 17:15
Избежать потери форматирования HellMercenariess Свободное общение 1 26.11.2009 19:59
MediaPlayer - как сделать последовательное воспроизведение mp3 файлов (именно mp3) Kashp Компоненты Delphi 13 28.09.2007 08:38