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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.03.2008, 15:36   #1
Degmax
 
Регистрация: 27.03.2008
Сообщений: 4
По умолчанию Помогите начинающему программеру плс..

Заранее благодарю за внимание.
Среда разработки-Delphi 7
Суть вопроса:
есть архивный файл следующего формата:
#73611DD.arj,где 73611-константа,DD-текущая дата,#-буква латинского алфавита,означающая очередность создания файла.
Т.е. первый файл,созданный к примеру в течении 26-го марта
должен иметь такой вид:
a7361126.arj,
следующий созданный в течении 26-го марта должен иметь
такой вид:
b7361126.arj,
следующий созданный в течении 26-го марта должен иметь
такой вид:
c7361126.arj
и т.д....
Далее первый файл,созданный к примеру в течении 27-го марта
должен иметь такой вид:
a7361127.arj,

следующий созданный в течении 27-го марта должен иметь
такой вид:
b7361127.arj,
следующий созданный в течении 27-го марта должен иметь
такой вид:
c7361127.arj
и т.д....

Изначально файл уже есть в таком вот виде:
a73611DD.arj-как мне менять дату создания и особенно первый символ по алфавиту?помогите плс,очень надо.
Degmax вне форума Ответить с цитированием
Старый 27.03.2008, 17:36   #2
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Цитата:
a73611DD.arj-как мне менять дату создания и особенно первый символ по алфавиту?помогите плс,очень надо.
Я так понимаю, Вам нужно переименовать файл?
Код:
renamefile('a73611DD.arj','b73612DD.arj');
Если файл не рядом надо указать полный путь.
Всё гениальное - просто!

Последний раз редактировалось Air; 27.03.2008 в 21:56.
Air вне форума Ответить с цитированием
Старый 27.03.2008, 17:42   #3
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Далее первый файл,созданный к примеру в течении 27-го марта
должен иметь такой вид:
a7361127.arj,
По условиям получится, что первый файл,созданный в течение 27-го апреля тоже будет иметь такой же вид:
a7361127.arj
Это нормально?
mihali4 вне форума Ответить с цитированием
Старый 28.03.2008, 06:41   #4
Degmax
 
Регистрация: 27.03.2008
Сообщений: 4
По умолчанию

Цитата:
По условиям получится, что первый файл,созданный в течение 27-го апреля тоже будет иметь такой же вид:
a7361127.arj
Это нормально?
Да,нормально.Я не знаю,как организовать отслеживание заменяемого символа в течении одних суток.Процедуру renamefile,а так же функции Movefile и MovefileEx я опробовал,проблема не в самом переименовании,а в корректной замене первого символа,как отследить,что в данный момент нужна замена именно на 'b'(т.е. это второй созданный в течении суток файл получается) или на 'с'(третий файл)
Degmax вне форума Ответить с цитированием
Старый 28.03.2008, 09:12   #5
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Цитата:
Сообщение от Degmax Посмотреть сообщение
Я не знаю,как организовать отслеживание заменяемого символа в течении одних суток .... проблема не в самом переименовании,а в корректной замене первого символа,как отследить,что в данный момент нужна замена именно на 'b'(т.е. это второй созданный в течении суток файл получается) или на 'с'(третий файл)
- можно просканировать содержание каталога и найти последний использованный символ (findFirst / findNext)

- можно в цикле проверять наличие файлов (fileExists) пока не будет найден свободный символ.

- можно хранить переменную с последним использованным символом в ini-файле (реестре и т.д.), eсли есть уверенность что никто больше в этом каталоге файлы не меняет.
alexBlack вне форума Ответить с цитированием
Старый 28.03.2008, 09:15   #6
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,762
По умолчанию

Я вот например так только что накидал.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer; // Просто счетчик чаров
N,S:String; // Имя файла без пути, Полный путь к файлу для проверки
begin
i:=97;
{Здесь указываем первоначальное проверяемое имя файла}
while FileExists(S) do // Где S - Полный путь к файлу
  begin
     i:=i+1; // где i - ASCII
     {Изменяем имя, Например:}
     N:=Char(i)+Copy(N,2, Length(N));
  end;
end;
Вам остаётся только найти имя файла и изменять его до тех пор пока не будет совпадений, что и делает цикл While .. do
P.S. От 'а' до 'z' чары 97-122

Последний раз редактировалось FaTaL; 28.03.2008 в 10:06.
FaTaL вне форума Ответить с цитированием
Старый 01.04.2008, 18:55   #7
Degmax
 
Регистрация: 27.03.2008
Сообщений: 4
По умолчанию

Спасибо огромное)
Degmax вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите начинающему фрилансеру N!ckeL Свободное общение 8 12.06.2008 12:43
помогите начинающему программисту alexs2141 Помощь студентам 3 02.06.2008 10:17
Помогите начинающему программисту. Chaos_bers Помощь студентам 5 26.09.2007 20:58
Помогите начинающему. Небесный Общие вопросы Delphi 12 04.02.2007 08:56