Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Присвоить файлу имя папки в которой он находится

Ответить
Настройки темы
Delphi - Присвоить файлу имя папки в которой он находится

Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте, возникли трудности. Нужно чтобы при клике по кнопке программа создавала копию файла из указанной директории, переименовала ее(присвоив имя каталога, в котором находится) и создавала ярлык на рабочем столе
Код: Выделить весь код
procedure TForm1.Button2Click(Sender: TObject);
var
  Pst: PChar;
  fullFileName, CommDesk, NewName: string;
begin
  fullFileName := OpenDialog1.FileName; //извлекаем полный путь к файлу
  NewName:=ChangeFileExt(ExtractFileDir(fullFileName),'')+'_newfile.rar';  //создаем новое имя файла и добавляем окончание
  CopyFile(PChar(Edit1.Text), PChar(NewName), false); //копируем файл с новым именем
  GetMem(Pst,MAX_PATH+1);
  try
    SHGetSpecialFolderPath(0,Pst,CSIDL_COMMON_DESKTOPDIRECTORY,False);
    CommDesk:=String(Pst);
    CreateShotCut(NewName, CommDesk+'\'+ExtractFileName(NewName)+'.lnk', '');

  finally
    FreeMem(Pst);
  end;

end.
Все работает, но программа копирует файл не в тот же каталог, где находится исходный файл, а в тот, в котором находится папка, имя которой мы даем файлу. Помогите плиз

Отправлено: 12:44, 21-06-2015

 

Аватара для opel431

Ветеран


Contributor


Сообщения: 1803
Благодарности: 714

Профиль | Отправить PM | Цитировать


1. Я оставил весь Ваш код и внес изменения для получения нужного результата
2.вызвал у меня тихих ужас, честно говоря ничего не понял, что он делает....Нужно читать комментарии
Цитата opel431:
// получаем имя последнего каталога пути к файлу, не весь же путь тащить в имя нового файла »
Это, как раз ответ на Ваш вопрос - какой параметр отвечает за полное имя папки? Убирайте и получайте полное название вложений. Но, допустим, Вы копируете из каталог с десятком вложений, что и файлу присвоите название в виде - бла\бла\бла\бла\бла\бла\бла\бла\бла\бла?
3. О комментариях уже сказал
Цитата opel431:
sExt := ExtractFileExt(FullFileName);// расширение файла источника »
Т.е, мы сохраняем расширение файла источника, чтобы впоследствии восстановить с новым именем файла. Если у Вас есть планы менять расширение (думаю, не .txt на .rar), то убираете эту строку и изменяем эту, например так, Edit1.Text := StrTemp + '_NewFile.rar'; .
4.Какие книжки почитать? Я, не профессионал и потому читаю все, что интересно или приведет к решению возникшей задачи.

-------
Хвала тому, кто встав среди камней, уча другого, сам будет умней.


Последний раз редактировалось opel431, 22-06-2015 в 17:03.


Отправлено: 14:28, 22-06-2015 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Присвоить файлу имя папки в которой он находится

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Найти в реестре параметр и записать в переменную имя ветки в которой он находится root221 Скриптовые языки администрирования Windows 11 25-11-2012 07:54
CMD/BAT - [решено] Записать имя папки в которой лежит батник в переменную а потом эту же папку переим. bobr95 Скриптовые языки администрирования Windows 8 10-04-2012 18:42
Интерфейс - При создании новой папки запускается программа, на которой находится фокус javajim Microsoft Windows 7 11 26-02-2011 12:13
7 / 2008 R2 - [решено] Присвоить имя компьютеру Hector Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista 5 24-04-2010 01:51
VBS/WSH/JS - [решено] Присвоить атрибуты файлу/папке через скрипт boss911 Скриптовые языки администрирования Windows 4 10-11-2009 06:19




 
Переход