![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#12
|
|||
|
|||
![]() Всем добрый день!
Наверное, нельзя было поднимать старую тему, но здесь есть кусок кода, который у меня не совсем правильно работает. А именно, некоторые файлы переименовываются по несколько раз.... Вот немного изменённый код: Код:
var searchResult : TSearchRec; begin if FindFirst('*.*i*', faAnyFile, searchResult) = 0 then begin repeat RenameFile(SearchResult.name,shiftre(SearchResult.name)); until FindNext(searchResult) <> 0; FindClose(searchResult); end; end; shiftre - это функция, которая просто перемещает последние 4 символа в начало (TestEnRu.dic --> EnRuTest.dic). В ней ошибок вроде бы нет, но всё же вот она: Код:
function shiftre(inp:string):string; var te:string ; begin if inp[Length(inp)-3]='.' then te:=midstr(inp,Length(inp)-7,4)+leftstr(inp,Length(inp)-8)+rightstr(inp,4) else if inp[Length(inp)-4]='.' then te:=midstr(inp,Length(inp)-8,4)+leftstr(inp,Length(inp)-9)+rightstr(inp,5); result:=te; end; По поводу того, что код какой-то левый - ничего страшного, меня всё устраивает. Я не программист, и даже не начинающий, просто когда-то в школе был паскаль, вот и подумал, что будет проще поковыряться в прошлом, чтоб переименовать ровно 128 файлов. Хотя, думаю, я бы уже в ручную всё переименовал, но уже даже интересно стало, что не так. Надеюсь, такой пост никого не обременяет писать в ответ. Да, и заранее спасибо! Последний раз редактировалось varied, 21.09.2009 в 19:20. |