создание файла в той же директории...
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
я паскаль не знаю )))Новенький писал(а):Как в Паскале прописать в операторе assign(f,'?'), чтоб файл создавался в той же директории, где и сам файл .pas
".\filename.ext"
С уважением, Lost Angel...
Новенький,
ParamStr (0) - это функция, возвращающая строку.
Точнее, функция - это ParamStr, а если ей параметром передать 0, то она вернет полное имя (с путем) запущенного EXE-файла.
Далее, если в этой стороке найти первый с конца символ '\', то содержимое от начала строки до этого символа будет представлять имя каталога, из которого запущен EXE-файл. Теперь, если к нему добавить нужное тебе имя файла, то полцчим искомое: имя файла в той же директории, что и запущенный EXE-файл (т.е. что ты хотел, как я понял, передавать в assign)
ParamStr (0) - это функция, возвращающая строку.
Точнее, функция - это ParamStr, а если ей параметром передать 0, то она вернет полное имя (с путем) запущенного EXE-файла.
Далее, если в этой стороке найти первый с конца символ '\', то содержимое от начала строки до этого символа будет представлять имя каталога, из которого запущен EXE-файл. Теперь, если к нему добавить нужное тебе имя файла, то полцчим искомое: имя файла в той же директории, что и запущенный EXE-файл (т.е. что ты хотел, как я понял, передавать в assign)
Нет, не так. ParamStr (0) (в третий раз уже пишут) - это полное имя исполняемого (т.е. *.EXE) файла.Новенький писал(а):т.е. это будет выглядеть так assign(f, ParamStr (0))?
Если тебе нужен именно он, то да. В общем случае (если тебе нужен произвольный файл в той же директории, откуда стартовала программа, т.е. где лежит EXE-файл твоей программы) - нет.
Пример. ParamStr (0) вернет что-то наподобие этого:
C:\MyFile\Delphi\MyProg\MyProg.EXE
Вообще если я не ошибаюсь, если написать assign(f,'file.txt'), то и файл найдется в той же директории, где и запускаемая программа. Это если прога скомпилирована в виде exe-файла.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.