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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.07.2011, 10:43   #1
Ёжик в тумане
Подтвердите свой е-майл
 
Регистрация: 20.07.2011
Сообщений: 239
По умолчанию Рандомное имя файла.. вопрос в нутри

Доброго времени суток! Ситуация следующая.. я переслал файл через FTP на сервер имя файла имело название file.txt, а как сделать так, чтобы файл который попадёт на сервер имел рандомное имя пример:1wel4.txt вместо file.txt
___________________________________ _______
Вот код может тут что:
IdFTP1.Put('c:\file.txt','htdocs/*.*.txt', False) ;
Ёжик в тумане вне форума Ответить с цитированием
Старый 21.07.2011, 10:59   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ну как...
либо при пересылке давайть файлу новое рэндомное имя,
либо перед пересылкой переименовывать файл и отправлять его с новым именем (можно создавать копию - временный файл в temp'е и передавать его )
в зависимости от того, как Вы передаёте файл, как проще, так и поступайте.

я ответил на ваш вопрос?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.07.2011, 11:59   #3
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Кстати, насчет рандомного имени файла - используйте GUID для этого, что-то типа ткого:
Код:
uses activex;
...
procedure TForm1.Button1Click(Sender: TObject);
var
  tmp: TGUID;
begin
  CoCreateGuid(tmp);
  Caption := GUIDToString(tmp);
end;
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 21.07.2011, 12:39   #4
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Может быть просто использовать HEX имена?
С рандомным числом и длинной?...
Код:
begin
  randomize; 
//генерация числа от 0 до 500 и длинной от 1 до 8 знаков в имени
  sLabel1.Caption:=IntToHex(Random(500),Random(8));
end;
Человек_Борща вне форума Ответить с цитированием
Старый 21.07.2011, 14:13   #5
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

Ну а GetTempFileName, например?
Баламут вне форума Ответить с цитированием
Старый 21.07.2011, 15:23   #6
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию

ну можно еще использовать дату и время, так даже удобнее. Правда в некотором случае тогут мешать "." точки, хоть их присуствие и разрешается.
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
chertovich вне форума Ответить с цитированием
Старый 21.07.2011, 15:37   #7
grafgrial
Просто хороший
Форумчанин
 
Аватар для grafgrial
 
Регистрация: 26.03.2010
Сообщений: 562
По умолчанию

Цитата:
Сообщение от chertovich Посмотреть сообщение
ну можно еще использовать дату и время, так даже удобнее. Правда в некотором случае тогут мешать "." точки, хоть их присуствие и разрешается.
Больше помешает ":" во времени,а так в принципе уже дали хорошие ответы.
Помог, нажми весы слева
grafgrial вне форума Ответить с цитированием
Старый 21.07.2011, 18:20   #8
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию

grafgrial, знаки ":" можно заменить на "_".
За то решается проблема рандомных значений, они могут повторятся, а это, в свою очередь, усложнит алгоритм. Использование GUID-а, это как-то некрасиво.
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
chertovich вне форума Ответить с цитированием
Старый 21.07.2011, 19:04   #9
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Насчет GUID-а - можно ведь написать функцию которая будет генерировать GUID, парсить его, убирая не нужные символы и создавая строку символов нужного вам размера, а затем вернет уже рандомное имя файла...
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 21.07.2011, 19:08   #10
grafgrial
Просто хороший
Форумчанин
 
Аватар для grafgrial
 
Регистрация: 26.03.2010
Сообщений: 562
По умолчанию

Цитата:
Сообщение от chertovich Посмотреть сообщение
grafgrial, знаки ":" можно заменить на "_".
За то решается проблема рандомных значений, они могут повторятся, а это, в свою очередь, усложнит алгоритм. Использование GUID-а, это как-то некрасиво.
ну и точки можно так же заменить..

Можно еще Md5 файла прописывать, за место имени
Помог, нажми весы слева
grafgrial вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить имя файла из ссылки(в конце ссылки нет имени файла) Человек_Борща Работа с сетью в Delphi 11 05.06.2011 15:15
Имя файла Ra88 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 08.07.2010 08:48
Проблемы поток+таймер, вопрос см в нутри Des Общие вопросы Delphi 5 03.05.2009 14:27
имя файла ? somwan Общие вопросы C/C++ 1 18.03.2009 17:46
Имя файла по расширению wwww Общие вопросы Delphi 5 19.12.2007 03:41