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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2012, 00:05   #1
xStill
Пользователь
 
Регистрация: 04.05.2009
Сообщений: 17
По умолчанию Работа с файлами в Win7

Всем доброго времени суток!
Возникла такая ситуация: пишу простенькую програмку на Delphi 7, работает с процессами и файлами.
Касательно процессов все нормально: запиливает, выпиливает и все что угодно, но когда дело доходит до элементарного переименования файлов - работа встает. Т.е. функция переименования просто не выполняется.

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

Собственно вопрос: как запросить это самое разрешение или обойти его?
xStill вне форума Ответить с цитированием
Старый 18.01.2012, 00:41   #2
xStill
Пользователь
 
Регистрация: 04.05.2009
Сообщений: 17
По умолчанию

Ребят, кто сталкивался - ответьте плз, а то я уже извращаться начал... думаю создать из программы .bat файл, переименовывать через него, а затем удалить
xStill вне форума Ответить с цитированием
Старый 18.01.2012, 00:46   #3
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

А как переименовываете, код?
Файлы, которые переименовываете, где лежат? Сами из под какой учетной записи сидите? И что там с UAC?
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 18.01.2012, 00:51   #4
xStill
Пользователь
 
Регистрация: 04.05.2009
Сообщений: 17
По умолчанию

Цитата:
Сообщение от spamer Посмотреть сообщение
А как переименовываете, код?
Файлы, которые переименовываете, где лежат? Сами из под какой учетной записи сидите? И что там с UAC?
Пока разбираюсь с проблемой на элементарных началах:

Код:
Var s,s1:string;
s:=ExtractFilePath(Application.ExeName); // файлы в корне, вместе с экзешником
s:=s+'\'+Edit1.Text; // в эдитах имена файлов
s1:=s+'\'+Edit2.Text;
RenameFile(PChar(s), PChar(s1));
Пишу из под админской учетки. После компиляции все ОК (т.е. экзешник запускает сама дельфа), а вот если просто запустить Project1.exe - функция просто не работает.

Последний раз редактировалось xStill; 18.01.2012 в 01:19. Причина: дополнение
xStill вне форума Ответить с цитированием
Старый 18.01.2012, 01:17   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

'/' - прикольно, попробуйте \

Да и Spamer подсказывает - в конце ExtractFilePath уже есть \
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 18.01.2012 в 01:21.
Аватар вне форума Ответить с цитированием
Старый 18.01.2012, 01:19   #6
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Попробуйте:
Код:
procedure TForm1.Button1Click(Sender: TObject);
Var s, s1, s2:string;
begin
  s := ExtractFilePath(Application.ExeName);
  s1 := s + 'Документ Microsoft Word.docx';
  s2 := s + '123.txt';
  RenameFile(s1, s2);
end;
ADD: Аватар, да тот код вобще какой-то странный...
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 18.01.2012, 12:09   #7
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Цитата:
Сообщение от xStill Посмотреть сообщение
вроде бы как должна при запуске запрашивать у пользователя разрешение для программы, чтобы та могла изменять файлы
Вдумчиво почитайте.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Win7 x64 и Win7 x86, возможно ли? Пепел Феникса Операционные системы общие вопросы 9 11.12.2011 14:09
Работа с БД и файлами neonex БД в Delphi 2 31.05.2011 12:05
Некорректная работа OpenDialog в win7 Gonzo Компоненты Delphi 0 21.12.2010 15:12
Работа с файлами Cpluser Общие вопросы C/C++ 2 16.02.2009 23:22