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

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

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

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

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

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

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

пишет в нем C:\WINDOWS почему так, первый раз с таким сталкиваюсь


P.S. выше было написано
cargo29 вне форума Ответить с цитированием
Старый 23.07.2011, 17:51   #12
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Должно все показывать)

Последний раз редактировалось Aliens_wolfs; 23.07.2011 в 17:53.
Aliens_wolfs вне форума Ответить с цитированием
Старый 23.07.2011, 17:52   #13
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Попробуй с функцией Человек_Борща
Edit1.Text:=GetWindowsDir + 'proga.exe';
Либо так
Edit1.Text:=Format('%sproga.exe',[GetWindowsDir]);

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

а может такого пути не существует... ?

подозреваю ваше проблема чуть дальше. Вы вообще читали описание CopyFile? Знаете зачем нужен 3-й параметр? Советую ознакомится...
Человек_Борща вне форума Ответить с цитированием
Старый 23.07.2011, 17:59   #15
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

У меня копирует мою прогу под именем Proga.exe в папку Windows
CopyFile(Pchar(Application.ExeName) , PChar(GetWindowsDir + 'Proga.exe'), false);

Либо так под своим же именем
CopyFile(Pchar( Application.ExeName ), PChar( GetWindowsDir + ExtractFileName(application.ExeName ) ), false);

Что бы перезаписывался файл. в CopyFile последний параметр true означает не перезаписывать файл, нужно false

Последний раз редактировалось Aliens_wolfs; 23.07.2011 в 18:07.
Aliens_wolfs вне форума Ответить с цитированием
Старый 23.07.2011, 18:08   #16
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Цитата:
Сообщение от Aliens_wolfs Посмотреть сообщение
У меня копирует мою прогу под именем Proga.exe в папку Windows
CopyFile(Pchar(Application.ExeName) , PChar(GetWindowsDir + 'Proga.exe'), false);

Либо так под своим же именем
CopyFile(Pchar( Application.ExeName ), PChar( GetWindowsDir + ExtractFileName(application.ExeName ) ), false);

Проблема я понял в чем у него, не перезаписывался файл так как в CopyFile последний параметр true означает не перезаписывать файл
3 парамент я знаю для чего, файла небыло в той директории, и путь такой существует, вопрос был не в копировании а то что выводит не то что должно было вывести...

wi:=win+'\svchost.exe';
Edit2.Text:=wi;

выводит в едит C:\WINDOWS
cargo29 вне форума Ответить с цитированием
Старый 23.07.2011, 18:11   #17
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Интересно почему у меня все работает?...
Код:
procedure TForm1.sButton1Click(Sender: TObject);
var
   s:string;
begin
  s:=GetWindowsDir+'SmthExe.exe';
  ShowMessage(s);  // показывает C:\WINDOWS\SmthExe.exe
end;
Человек_Борща вне форума Ответить с цитированием
Старый 23.07.2011, 18:12   #18
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Пробуйте с функцией GetWindowsDir
Все четко показывает
Код:
Edit2.Text:=GetWindowsDir + 'svchost.exe';
Если верхнее не получится попробуй так

Код:
var
File: String;
begin
File:= 'svchost.exe';
SetLength(Wi, Length(GetWindowsDir)+ Length(File));
wi:= GetWindowsDir + File;
Edit2.Text:=wi;
SetLength(Wi, 0);

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

проблема функции win в том что, там используется строка, и за каки-то хз задаётся её длинна. А ещё эта строка приводится зачем-то к указателю на Char коим строка вообще не является. Отсюда вся кривизна работы. Поэтому проще массив Char. Используте мою функцию и все будет работать.
Человек_Борща вне форума Ответить с цитированием
Старый 23.07.2011, 18:28   #20
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
проблема функции win в том что, там используется строка, и за каки-то хз задаётся её длинна. А ещё эта строка приводится зачем-то к указателю на Char коим строка вообще не является. Отсюда вся кривизна работы. Поэтому проще массив Char. Используте мою функцию и все будет работать.
SetLength выделение под определенное количество символов

а теперь смотрим скрин

GetWindowsDir
под эту функцию он вообще подчеркивает ошибку
Изображения
Тип файла: jpg Безымянный.JPG (134.8 Кб, 90 просмотров)
cargo29 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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