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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.08.2009, 19:53   #11
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,537
По умолчанию

Цитата:
допустим если программа использует файлы лежащие в себя директории , после добавления в автозапуск, она сможет эти фалйы найти?
Нет, в отличии от запуска руками из папки или ярлыком(с указанием рабочей папки) при автозапуске с помощью реестра папка в которой находится экзешник не становится текущей. Вывод - директорию в которой находятся используемые ресурсы нужно сделать текушей, например функцией ChDir.
Код:
ChDir(ExtractFileDir(Application.ExeName)+ '\Data');
Gorychev вне форума Ответить с цитированием
Старый 05.08.2009, 20:31   #12
Рамик
Студент
Форумчанин
 
Аватар для Рамик
 
Регистрация: 18.02.2009
Сообщений: 125
По умолчанию

Цитата:
Сообщение от Gorychev Посмотреть сообщение
Код:
ChDir(ExtractFileDir(Application.ExeName)+ '\Data');
можно подробней? куда это прописывать?
Рамик вне форума Ответить с цитированием
Старый 05.08.2009, 20:44   #13
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,537
По умолчанию

Цитата:
можно подробней? куда это прописывать?
Перед тем как вы будите использовать какие либо ресурсы, например файлы, прописывайте эту строку.
Например, если нужно считать\записать что либо из файла находящегося в директории в которой находится екзешник, то:
Код:
ChDir(ExtractFileDir(Application.ExeName)); 
... Операции с файлом ...
Что до файлов, то лучше перед их использованием проверить их наличие с помощью функции fileexists.
Код:
ChDir(ExtractFileDir(Application.ExeName)); 
if fileexists('test.txt')then begin
... Операции с файлом ... 
end else 
  showmessage('File no found!!!');
Gorychev вне форума Ответить с цитированием
Старый 05.08.2009, 20:47   #14
Рамик
Студент
Форумчанин
 
Аватар для Рамик
 
Регистрация: 18.02.2009
Сообщений: 125
По умолчанию

а ту часть кода где я прописываю в регистр...ее оставлять?
Рамик вне форума Ответить с цитированием
Старый 05.08.2009, 21:04   #15
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,537
По умолчанию

Цитата:
а ту часть кода где я прописываю в регистр...ее оставлять?
Да. Если перед использованием ресурсов вы нужную папку сделаете текущей, т.е. перейдете в её, то проблем не будет.
Если у вас сразу при запуске проги происходит обращение к ресурсам, то вставьте ChDir в onFormCreate (перед операциями с ресурсами) или в *.dpr файл засуньте.
Gorychev вне форума Ответить с цитированием
Старый 05.08.2009, 21:17   #16
Рамик
Студент
Форумчанин
 
Аватар для Рамик
 
Регистрация: 18.02.2009
Сообщений: 125
По умолчанию

спасибо!
не подскажите как дату записать в файл?

а не все разобрался...

Цитата:
ChDir(ExtractFileDir(Application.Ex eName)+ '\Data');
DAta это что? обязательно указывать?

Последний раз редактировалось Stilet; 06.08.2009 в 08:42.
Рамик вне форума Ответить с цитированием
Старый 05.08.2009, 21:42   #17
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,537
По умолчанию

Цитата:
DAta это что? обязательно указывать?
Нет. data - в смыле папка в которой находятся какие-то данные, не нравится Data, дайте др. название.
Расмотрим 2 примера: 1 - в одной папке с екзешником находится файл test.txt, тогда:
Код:
ChDir(ExtractFileDir(Application.ExeName)); 
if fileexists('test.txt')then begin
... Операции с файлом ... 
end else 
  showmessage('File no found!!!');
2й - в папке с екзешником есть папка Files, а в ней находится файл test.txt, тогда:
Код:
ChDir(ExtractFileDir(Application.ExeName) + '\Files'); 
if fileexists('test.txt')then begin
... Операции с файлом ... 
end else 
  showmessage('File no found!!!');
Gorychev вне форума Ответить с цитированием
Старый 06.08.2009, 12:36   #18
Рамик
Студент
Форумчанин
 
Аватар для Рамик
 
Регистрация: 18.02.2009
Сообщений: 125
По умолчанию

все понятно! спасибо вам большое!

а если программу удалить, система не будет жаловаться?(я про автозапуск)

Последний раз редактировалось Stilet; 06.08.2009 в 13:08.
Рамик вне форума Ответить с цитированием
Старый 06.08.2009, 13:10   #19
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Не должна. Как правило удаленные проги пропускаются.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.08.2009, 15:48   #20
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Не должна. Как правило удаленные проги пропускаются.
Разве? а помоему она ругнётся что мол "Бла бла бла не найден...."
Надо бужет проверить.... но если мне память не изменяет то ругается.
Вавел из ГМТУ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как добавить в автозапуск? AngelOfDeath Win Api 4 19.05.2008 10:55
Автозапуск PROGR Общие вопросы Delphi 8 26.12.2007 08:54
Автозапуск zzzzz Общие вопросы Delphi 2 12.11.2007 08:54
Автозапуск для USB Flashdisk! nur Помощь студентам 4 14.05.2007 07:23
автозапуск effluent Безопасность, Шифрование 7 19.04.2007 20:12