Форум: "Начинающим";
Текущий архив: 2007.03.11;
Скачать: [xml.tar.bz2];
Внизтекущая директория Найти похожие ветки
← →
Wall (2007-02-20 10:45) [0]Здравствуйте. Обьясните пожалуйста, может ли текущая директория поменяться самопроизвольно во время работы, можно ли спокойно работать,
используя относительные пути к файлам и не проверять GetCurrentDir.
И вообще где она записана физически? В самом приложении или где-то
еще?
← →
Elen © (2007-02-20 10:50) [1]
> может ли текущая директория поменяться самопроизвольно
> во время работы
Врядли. GetCurrentDir показывает дир проги.
← →
Wall (2007-02-20 10:55) [2]> GetCurrentDir показывает дир проги.
либо показывает значение, установленное SetCurrentDir
← →
Ega23 © (2007-02-20 10:57) [3]
> Обьясните пожалуйста, может ли текущая директория поменяться
> самопроизвольно во время работы
Да.
> можно ли спокойно работать,
> используя относительные пути к файлам и не проверять GetCurrentDir.
>
> И вообще где она записана физически? В самом приложении
> или где-то
> еще?
Объяви глобальную переменную MyApplicationDir : string;, в самом начале проинициализируй её какMyApplicationDir := ExtractFilePath(ParamStr(0));
и используй дальше её.
← →
Wall (2007-02-20 11:00) [4]ok, спасибо
← →
ЮЮ © (2007-02-20 11:00) [5]
> Врядли. GetCurrentDir показывает дир проги.
И что такое "дир проги."?
Если запустить с помощью ярлыка, то указывает путь, указанный в "Рабочая папка"
← →
Ega23 © (2007-02-20 11:01) [6]
> Врядли. GetCurrentDir показывает дир проги.
>
А как тебе такое:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtDlgs, ExtCtrls;
type
TForm1 = class(TForm)
Image1: TImage;
OpenPictureDialog1: TOpenPictureDialog;
Button1: TButton;
Button2: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
if not OpenPictureDialog1.Execute then Exit;
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Label1.Caption := GetCurrentDir;
end;
end.
:)
← →
Elen © (2007-02-20 11:33) [7]
> Ega23 © (20.02.07 11:01) [6]
Дык я думала что автор имеет ввиду стороннюю прогу. А вот насчет ярлыка - эт точно.
← →
Ega23 © (2007-02-20 11:49) [8]
> Дык я думала что автор имеет ввиду стороннюю прогу. А вот
> насчет ярлыка - эт точно.
Тут не только ярлык. Вон, с любым диалогом CurrDir меняется.
← →
Elen © (2007-02-20 11:53) [9]
> Вон, с любым диалогом CurrDir меняется.
Никогда не сталкиваюсь с такой проблемой т.к. пользуюсь Application.exename
← →
Reindeer Moss Eater © (2007-02-20 11:54) [10]Текущая директория поменяться самопроизвольно не может.
← →
Ega23 © (2007-02-20 11:56) [11]
> Никогда не сталкиваюсь с такой проблемой т.к. пользуюсь
> Application.exename
Application не всегда есть. Именно поэтому и написал в [3] ParamStr(0)
← →
Wall (2007-02-20 14:19) [12]> Вон, с любым диалогом CurrDir меняется.
sorry, я не использую vcl вообще.
данные могут читаться как из файлов, так
и из архива - удобно писать пути относительно exe. кроме того
"читатели" ничего не знают о том, откуда в данный момент берутся файлы.
стоит переделать?
← →
Reindeer Moss Eater © (2007-02-20 15:46) [13]Текущая директория поменяться самопроизвольно не может.
← →
Loginov Dmitry © (2007-02-20 18:17) [14]> удобно писать пути относительно exe.
Ну так и пиши
MyApplicationDir + MyRelativePath
← →
Плохиш © (2007-02-20 22:01) [15]
> Elen © (20.02.07 10:50) [1]
> GetCurrentDir показывает дир проги.
С чего бы это?
← →
Плохиш © (2007-02-20 22:05) [16]
> А вот насчет ярлыка - эт точно.
Какой-такой ярлык-марлык?c:\tmp> d:\bbb\super.exe
Что вернёт GetCurrentDir и какое отношение это будет иметь к "дир проги"?
← →
iXT © (2007-02-20 22:14) [17]
> Плохиш © (20.02.07 22:05) [16]
Смотря что делает super.exe :) Может там SetCurrentDir.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.03.11;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.043 c