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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.04.2010, 19:40   #1
katttes
Пользователь
 
Регистрация: 02.04.2010
Сообщений: 33
Вопрос ошибка в копировании файла на рабочий стол.

Мне нужно скопировать файл на рабочий стол. Я делаю это так:
dirKTexe:= 'ALLUSERSPROFILE\Рабочий стол\testing.exe';
CopyFile(PAnsiChar(dirIsTexe),PAnsi Char(dirKTexe),false);
файл на рабочем столе не появляется.
Подскажите пожалуйста, что не так?
katttes вне форума Ответить с цитированием
Старый 12.04.2010, 19:57   #2
bitSoft
Programming...
Форумчанин
 
Аватар для bitSoft
 
Регистрация: 13.03.2010
Сообщений: 198
По умолчанию

Цитата:
Сообщение от katttes Посмотреть сообщение
Мне нужно скопировать файл на рабочий стол. Я делаю это так:
dirKTexe:= 'ALLUSERSPROFILE\Рабочий стол\testing.exe';
CopyFile(PAnsiChar(dirIsTexe),PAnsi Char(dirKTexe),false);
файл на рабочем столе не появляется.
Подскажите пожалуйста, что не так?

nu ti zdesy vstavil kapiravati iz rabochii stol v rabochii stol,

Код:
dirKTexe:= 'ALLUSERSPROFILE\Рабочий стол\testing.exe';
CopyFile(PAnsiChar('testing.exe'),PAnsiChar(dirKTexe),false);
Код:
With TProgrammersForum.Create do  AddNewTopic('Title','Content...');
bitSoft вне форума Ответить с цитированием
Старый 12.04.2010, 20:12   #3
katttes
Пользователь
 
Регистрация: 02.04.2010
Сообщений: 33
По умолчанию

нет. это копировать из одной дирректории в другую. они разные.
dirIsTexe:= GetCurrentDir+'\system\testing.exe' ;
dirKTexe:= 'ALLUSERSPROFILE\Ðàáî÷èé ñòîë\testing.exe';
CopyFile(PAnsiChar(dirIsTexe),PAnsi Char(dirKTexe),false);
katttes вне форума Ответить с цитированием
Старый 12.04.2010, 21:20   #4
Marsel737
Форумчанин
 
Аватар для Marsel737
 
Регистрация: 09.11.2009
Сообщений: 669
По умолчанию

Вот мой путь к рабочему столу: C:\Users\Марсель\Desktop\, а это у вас 'ALLUSERSPROFILE\Рабочий стол\testing.exe'; ерунда какая-то

Сделайте вот такую прогу и сохраните её на рабочем столе:

Код:
ShowMessage(ExtractFilePath(Application.ExeName));
  Edit1.Text := ExtractFilePath(Application.ExeName); // Можно путь в эдит записать, чтоб удобно было копировать
Узнаете путь к своему раб. столу
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли
Marsel737 вне форума Ответить с цитированием
Старый 12.04.2010, 22:16   #5
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Все должно выглядеть профессионально !!!

Есть функция GetSpecialPath (100 раз о ней было) : http://programmersforum.ru/showpost....91&postcount=3
А к ней конечно же есть аргументы : http://programmersforum.ru/showpost....71&postcount=2

Надеюсь вам не надо выделять цветом, например, нужный вам параметр ?!?!
При таком подходе вам не нужно заботиться ни о чем - путь будет однозначно найден !!!
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 13.04.2010, 10:47   #6
katttes
Пользователь
 
Регистрация: 02.04.2010
Сообщений: 33
По умолчанию

с такой функцией у меня ничего хорошего не выходит! SHGetSpecialFolderPath - не известный идентификатор. я так и не смогла понять как она работает.

я попробовала задать дирректорию через реестр:

dirKTexe:= 'HKEY_CURRENT_USER\Software\Microso ft\Windows\CurrentVersion\Explorer\ Shell Folders\Desktop\testing.exe';
но тоже бесполезно. Может пишу что то не правильно?
katttes вне форума Ответить с цитированием
Старый 13.04.2010, 11:05   #7
MaxNik2009
Форумчанин
 
Аватар для MaxNik2009
 
Регистрация: 17.09.2009
Сообщений: 294
По умолчанию

Что же не понятного Kotofff уже все ссылки выложил надо только собрать..
кинь на форму Label и кнопку, и в обработчик кнопки напиши следующие:

Код:
procedure TForm1.Button1Click(Sender: TObject);
var s:  string;
begin
  SetLength(s, MAX_PATH);
  if not SHGetSpecialFolderPath(0, PChar(s), CSIDL_DESKTOP, true) then s := '';

  Label1.Caption:=s;

end;
принимаю благодарности в письменном виде( весы слева)...
MaxNik2009 вне форума Ответить с цитированием
Старый 13.04.2010, 11:17   #8
katttes
Пользователь
 
Регистрация: 02.04.2010
Сообщений: 33
По умолчанию

я сделала как ты написал и вот что мне выдало:
[Error] Unit1.pas(31): Undeclared identifier: 'SHGetSpecialFolderPath'
[Error] Unit1.pas(31): Undeclared identifier: 'CSIDL_DESKTOP'
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'

Может какую то бибилиотеку присоединить надо?
katttes вне форума Ответить с цитированием
Старый 13.04.2010, 11:34   #9
MaxNik2009
Форумчанин
 
Аватар для MaxNik2009
 
Регистрация: 17.09.2009
Сообщений: 294
По умолчанию

Цитата:
Может какую то бибилиотеку присоединить надо?
Да нужно
Код:
uses ShlObj
принимаю благодарности в письменном виде( весы слева)...
MaxNik2009 вне форума Ответить с цитированием
Старый 13.04.2010, 11:36   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
katttes
uses shlobj
Тогда эти функции сработают.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при копировании файла (*.mpg) Marsel737 Общие вопросы Delphi 1 16.12.2009 11:06
рабочий стол sf911 Операционные системы общие вопросы 3 09.08.2009 12:38
При копировании файла ошибка:макрос не может быть найден Belokuraya Microsoft Office Excel 4 24.07.2009 16:04
Рабочий стол maladoy Свободное общение 0 01.02.2009 13:07