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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.07.2011, 16:50   #1
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию Не копируеться файл

Причину ошибки не могу найти

функция определения папки виндовс

PHP код:
function win():string;
var 
a:string;
begin
SetLength
(a255);
GetWindowsDirectory(PChar(a), 255);
Result:=a;
end
wi:=win()+\'proga.exe';

PHP код:
CopyFile(Pchar(Application.ExeName), PChar(wi), true); 
так не работает а когда так работает почему????

PHP код:
CopyFile(Pchar(Application.ExeName), PChar('C:\windows\proga.exe'), true); 

Последний раз редактировалось cargo29; 23.07.2011 в 16:53.
cargo29 вне форума Ответить с цитированием
Старый 23.07.2011, 17:03   #2
grafgrial
Просто хороший
Форумчанин
 
Аватар для grafgrial
 
Регистрация: 26.03.2010
Сообщений: 562
По умолчанию

Код:
wi:=win+\'proga.exe';
так посмотри
Помог, нажми весы слева
grafgrial вне форума Ответить с цитированием
Старый 23.07.2011, 17:12   #3
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Цитата:
Сообщение от grafgrial Посмотреть сообщение
Код:
wi:=win+\'proga.exe';
так посмотри
так же все... (((
cargo29 вне форума Ответить с цитированием
Старый 23.07.2011, 17:22   #4
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Вот вывожу путь в едит
Edit1.Text:=win+'\proga.exe';

пишет в нем C:\WINDOWS почему так, первый раз с таким сталкиваюсь
cargo29 вне форума Ответить с цитированием
Старый 23.07.2011, 17:28   #5
grafgrial
Просто хороший
Форумчанин
 
Аватар для grafgrial
 
Регистрация: 26.03.2010
Сообщений: 562
По умолчанию

ну так тогда
Edit1.Text:=pchar(win)+'\proga.exe' ;
Помог, нажми весы слева
grafgrial вне форума Ответить с цитированием
Старый 23.07.2011, 17:28   #6
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Так должно получится
Код:
CopyFile(Pchar(Application.ExeName), PChar(win+'\proga.exe'), true);
либо так
Код:
CopyFile(Pchar(Application.ExeName), PChar(win+'\'+ExtractFileName(application.ExeName)), true);

Последний раз редактировалось Aliens_wolfs; 23.07.2011 в 17:34.
Aliens_wolfs вне форума Ответить с цитированием
Старый 23.07.2011, 17:34   #7
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Все дело в функции Win которую вы откопали на просторах интернета.

Попробуйте мою..она куда проще.
Код:
function GetWindowsDir:string;
var
  WinPath:array[1..255] of Char;
begin
  GetWindowsDirectory(@WinPath,SizeOf(WinPath));
  Result:=IncludeTrailingPathDelimiter(StrPas(@WinPath));
end;
Функция возвращает строку: c:\windows\

по этому везде можно смело юзать GetWindowsDir+'Proga.exe' получится c:\windows\proga.exe

Последний раз редактировалось Человек_Борща; 23.07.2011 в 17:37.
Человек_Борща вне форума Ответить с цитированием
Старый 23.07.2011, 17:39   #8
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Все дело в функции Win которую вы откопали на просторах интернета.

Попробуйте мою..она куда проще.
Код:
function GetWindowsDir:string;
var
  WinPath:array[1..255] of Char;
begin
  GetWindowsDirectory(@WinPath,SizeOf(WinPath));
  Result:=IncludeTrailingPathDelimiter(StrPas(@WinPath));
end;
Функция возвращает строку: c:\windows\

по этому везде можно смело юзать GetWindowsDir+'Proga.exe' получится c:\windows\proga.exe
моя тоже эту строку возвращает, дело в том что я хочу добавить, недобовляеться, а взял ее из книги Руководство разработчика
cargo29 вне форума Ответить с цитированием
Старый 23.07.2011, 17:41   #9
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

А вы умеете по русски разговаривать? Что у вас там не добовляется?
Человек_Борща вне форума Ответить с цитированием
Старый 23.07.2011, 17:45   #10
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Так тоже не получится?
Код:

CopyFile(Pchar(Application.ExeName) , PChar(win+'\proga.exe'), true);

либо так
Код:

CopyFile(Pchar(Application.ExeName) , PChar(win+'\'+ExtractFileName(appli cation.ExeName)), true);
Aliens_wolfs вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Тестовый файл. Найти сумму всех чисел, входящих в этот файл. (Паскаль) Homeros Помощь студентам 1 26.01.2011 14:05
Типизированный файл с натуральными числами. Числа, встречающиеся 1 раз переписать в другой файл [Паскаль] mifomen Помощь студентам 7 16.12.2010 22:00
WinInet загрузить файл во временной файл , использовать, потом удалить Человек_Борща Работа с сетью в Delphi 5 03.08.2010 13:46
C++. Прочитать файл и вывести в другой файл каждую N-ую строку Straiker Помощь студентам 3 15.12.2009 05:49
Ссылка на файл из текущей папки! Сбор инфы в один файл! mephist Microsoft Office Excel 11 10.07.2009 13:51