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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.02.2015, 18:52   #1
Оля2394
Пользователь
 
Регистрация: 22.02.2015
Сообщений: 30
По умолчанию Currentdir взятие файла

Здравствуйте, подскажите пожалуйста, как с помощью getcurrentdir открывать файлы из текущей директории? т.е. папки где находится программа
Оля2394 вне форума Ответить с цитированием
Старый 26.02.2015, 19:06   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
т.е. папки где находится программа
getcuurentdir не нужна и в некоторых случаях даже вредна, а надо так
Код:
f:=ExtractFilePath(Application.ExeName) +'myfilename.txt';
и далее любые операции по работе с файлом.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 26.02.2015 в 19:08.
evg_m вне форума Ответить с цитированием
Старый 26.02.2015, 19:29   #3
ДралсяСошибками
Форумчанин
 
Аватар для ДралсяСошибками
 
Регистрация: 31.05.2011
Сообщений: 301
По умолчанию

Код:
f:='myfilename.txt';
так же тоже откроет, если фаил рядом с прогой, отсюда вопрос, нужно ли получать полный путь и в каких случаях?
ДралсяСошибками вне форума Ответить с цитированием
Старый 26.02.2015, 19:38   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
так же тоже откроет, если фаил рядом с прогой
Ошибаешься. Только тогда, когда текущий каталог совпадает с каталогом проги. А вариантов не совпадения как в тысяче и одной ночи
Цитата:
нужно ли получать полный путь и в каких случаях
Нужно и во всех случаях, по крайней мере, что бы быть не зависимым от способа запуска проги
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 26.02.2015, 19:47   #5
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
нужно ли получать полный путь и в каких случаях?
рекомендую юзать полный путь всегда, но получать его один раз при запуске проги и хранить в переменной.
Код:
procedure GlobalInit; // Инициализация глобальных переменных
var
  Buffer: array[0..MAX_PATH - 1] of Char;
  Size: Cardinal;
begin
  GetWindowsDirectory(Buffer, MAX_PATH);
  WindowsDirectory:= Buffer;

  ProgramExeFile:=   ParamStr(0);
  ProgramDirectory:= ExtractFileDir(ProgramExeFile);

  Size:= MAX_PATH;
  GetUserName(Buffer, Size);
  UserName:= Buffer;
end;
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 26.02.2015, 19:51   #6
ДралсяСошибками
Форумчанин
 
Аватар для ДралсяСошибками
 
Регистрация: 31.05.2011
Сообщений: 301
По умолчанию

Что нужно сделать, чтобы путь не совпал?
Код:
TFileStream.Create('test.txt', ...);
ДралсяСошибками вне форума Ответить с цитированием
Старый 26.02.2015, 20:06   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Например запусти программу с ярлыка не указав в нем рабочий каталог. Или вызови в проге диалог открытия файлов, не настроив его как положено. Будешь очень удивлен, а программа будет иметь печальный вид. Сторонние компоненты. Есть уверенность, что в их коде не меняется каталог по умолчанию? А поменять его как два пальца об асфальт
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 26.02.2015, 20:24   #8
ДралсяСошибками
Форумчанин
 
Аватар для ДралсяСошибками
 
Регистрация: 31.05.2011
Сообщений: 301
По умолчанию

Ясно))) Спасибо))
ДралсяСошибками вне форума Ответить с цитированием
Старый 26.02.2015, 21:22   #9
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

http://www.gunsmoker.ru/2015/01/neve...ile-paths.html
phomm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
взятие инф. из файла maloiy Общие вопросы C/C++ 6 06.09.2014 09:16
Взятие файла из папки рандомно ramzes777 Мультимедиа в Delphi 3 29.09.2011 13:54
CurrentDir grimm_jow Общие вопросы по Java, Java SE, Kotlin 2 10.12.2010 17:45
Взятие Информации с Сайта Алексей72.ru Работа с сетью в Delphi 4 29.07.2010 19:26
Взятие интеграла max38934 Общие вопросы Delphi 2 11.05.2009 16:03