Страница 1 из 2
создание файла в той же директории...
Добавлено: 11 июн 2007, 12:58
Новенький
Как в Паскале прописать в операторе assign(f,'?'), чтоб файл создавался в той же директории, где и сам файл .pas
Re: создание файла в той же директории...
Добавлено: 11 июн 2007, 14:12
Iurii
Новенький писал(а):Как в Паскале прописать в операторе assign(f,'?'), чтоб файл создавался в той же директории, где и сам файл .pas
я паскаль не знаю )))
Re: создание файла в той же директории...
Добавлено: 13 июн 2007, 08:53
LAngel
".\filename.ext"
Re: создание файла в той же директории...
Добавлено: 13 июн 2007, 12:21
SergeyS
ParamStr(0) - возвращает имя исполняемого файла, от него уже можно скакать, а то при выполнении pas файла текущей папкой может быть что угодно и ".\" не даёт полной гарантии
Re: создание файла в той же директории...
Добавлено: 13 июн 2007, 16:37
Новенький
SergeyS, а куда этот параметр прописать и как? (ParamStr(0))
Re: создание файла в той же директории...
Добавлено: 14 июн 2007, 11:28
BBB
Новенький,
ParamStr (0) - это функция, возвращающая строку.
Точнее, функция - это ParamStr, а если ей параметром передать 0, то она вернет полное имя (с путем) запущенного EXE-файла.
Далее, если в этой стороке найти первый с конца символ '\', то содержимое от начала строки до этого символа будет представлять имя каталога, из которого запущен EXE-файл. Теперь, если к нему добавить нужное тебе имя файла, то полцчим искомое: имя файла в той же директории, что и запущенный EXE-файл (т.е. что ты хотел, как я понял, передавать в assign)
Re: создание файла в той же директории...
Добавлено: 14 июн 2007, 13:37
Новенький
BBB,
т.е. это будет выглядеть так assign(f, ParamStr (0))?
Добавлено: 14 июн 2007, 15:11
BBB
Новенький писал(а):т.е. это будет выглядеть так assign(f, ParamStr (0))?
Нет, не так. ParamStr (0) (в третий раз уже пишут) - это полное имя исполняемого (т.е. *.EXE) файла.
Если тебе нужен именно он, то да. В общем случае (если тебе нужен
произвольный файл в той же директории, откуда стартовала программа, т.е. где лежит EXE-файл твоей программы) - нет.
Пример. ParamStr (0) вернет что-то наподобие этого:
C:\MyFile\Delphi\MyProg\MyProg.EXE
Re: создание файла в той же директории...
Добавлено: 14 июн 2007, 20:59
Новенький
все, теперь точно понял, благодарю!
Re: создание файла в той же директории...
Добавлено: 18 июн 2007, 14:24
Хыиуду
Вообще если я не ошибаюсь, если написать assign(f,'file.txt'), то и файл найдется в той же директории, где и запускаемая программа. Это если прога скомпилирована в виде exe-файла.